软件工程复习范围汇总.pptx
《软件工程复习范围汇总.pptx》由会员分享,可在线阅读,更多相关《软件工程复习范围汇总.pptx(166页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、工具方法过程软件工程三个要素:方法、工具、过程软件工程的内容软件工程的内容第1页/共166页软件工程的内容软件工程的内容产品产品人员人员过过程程方法与规程技术与工具技术与工具第2页/共166页软件工程教学的目标软件工程教学的目标用工程化的方法来开发软件用工程化的方法来开发软件第3页/共166页软件工程概述软件工程概述第4页/共166页软件软件软件 =or =or 程序 软件 =程序?软件 =程序 +数据?软件 =程序 +数据 +文档?第5页/共166页软件软件程序、软件与软件产品独唱-小合唱-合唱-万人大合唱|简单程序 较复杂程序 软件软件包括程序:按事先设计的功能和性能需求执行的指令序列数据
2、:是程序能正常操纵信息的数据结构文档:与程序开发、维护和使用有关的图文材料 第6页/共166页软件工程软件工程定义指导计算机软件开发和维护的工程学科指导计算机软件开发和维护的工程学科 工程方法工程方法+管理技术管理技术+技术方法技术方法第7页/共166页Fritz Bauer在NATO会议上给出的定义:“软件工程是为了经济地获得可靠的和能在实际机器上高效运行的软件而确立和使用的健全的工程原理(方法)”软件工程软件工程第8页/共166页IEEE【IEE83】给出的软件工程定义:“软件工程是开发、运行、维护和修复软件的系统方法”IEEE【IEE93】给出了一个更加综合的定义:“将系统化的、规范的、
3、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中”软件工程软件工程第9页/共166页软件生命周期软件生命周期第10页/共166页软件生命周期软件生命周期软件生命周期软件定义软件定义问题定义问题定义可行性分析可行性分析需求分析需求分析软件开发软件开发系统设计系统设计编码编码测试测试软件维护软件维护第11页/共166页阶段 基本任务工作结果参加者计划期可行性研究与计划研究开发该项目的可行性 可行性研究报告用户、高级程序员 开发期 需求分析理解和表达用户的要求需求说明书用户、高级程序员设 计建立系统的结构模块、数据说明书用户、高级程序员 编 程 编写程序程序高级程序员、初级程序
4、员测 试发现错误和排除错误 测试报告另一独立的部门运行期运行与维护维护 改进的系统用户、高级程序员 软件生命周期软件生命周期第12页/共166页软件生存期模型软件生存期模型软件生存期模型是跨越整个生存期的系统开发、运作和维护所实施的全部过程、活动和任务的结构框架。瀑布模型瀑布模型原型模型原型模型螺旋模型螺旋模型喷泉模型喷泉模型第13页/共166页特点:上一阶段的变换结果 是下一阶段的变换的 输入,相邻两个阶段 具有因果关系,紧密 相联。需求分析需求分析问题定义问题定义可性行研究可性行研究计划时期概要设计概要设计详细设计详细设计编编 码码 测测 试试开发时期运行与维护运行与维护运 行时 期软件生
5、存周期模型(瀑布模型 Waterfall Model)第14页/共166页瀑布模型瀑布模型特点阶段的顺序性和依赖性阶段的顺序性和依赖性推迟实现的观点推迟实现的观点质量保证质量保证存在问题不适合需求模糊的系统不适合需求模糊的系统第15页/共166页原型模型(Prototype Model)加工加工原型原型原型原型原型:是指模拟某种产品的原始模型快速分析快速分析和设计和设计建造建造原型原型客户客户评价原型评价原型1、原型系统仅包括未来系统的主要功能,以及系统的重要接口。2、为了尽快向用户提供原型,开发原型系统时应尽量使用能缩短开发周期的语言和工具。第16页/共166页快速原型模型快速原型模型特点快
6、速开发工具快速开发工具循环循环低成本低成本种类渐进型渐进型抛弃型抛弃型第17页/共166页螺旋模型螺旋模型第18页/共166页螺旋模型螺旋模型 特点瀑布模型瀑布模型+快速原型快速原型+风险分析风险分析迭代过程迭代过程 一个螺旋式周期 确定目标,选择方案,选定完成目标的策略确定目标,选择方案,选定完成目标的策略 风险角度分析该策略风险角度分析该策略 启动一个开发阶段启动一个开发阶段 评价前一步的结果,计划下一轮的工作评价前一步的结果,计划下一轮的工作 第19页/共166页阶段交付阶段交付软件概念软件概念需求分析需求分析构架设计构架设计阶段阶段1 1:详细设计,编码,调试,:详细设计,编码,调试,
7、阶段阶段2 2:详细设计,编码,调试,:详细设计,编码,调试,第20页/共166页阶段交付阶段交付阶段交付持续地在确定的阶段向用户展示软件。和渐进原型不同,在阶段交付的时候,你明确地知道下一步要完成什么工作。阶段交付的特点是不会在项目结束的时候一下交付全部软件,而是在项目整个开发过程中持续不断地交付阶段性成果。第21页/共166页喷泉模型喷泉模型第22页/共166页小结小结软件工程软件生存周期过程软件生存周期模型第23页/共166页可行性研究可行性研究第24页/共166页可行性研究的任务可行性研究的步骤可行性研究的工具系统流程图数据流图数据字典成本/效益分析可行性研究可行性研究第25页/共16
8、6页可行性研究的任务可行性研究的任务可行性研究的目的在于用最小的代价确定在问题定义阶段所确定的系统目标和否可实现。简而言之,可行性研究的目的不是解决问题,而是确定问题是否值得解决。第26页/共166页可行性研究的步骤可行性研究的步骤1.复查系统规模和目标2.研究现有系统功能3.导出新系统模型4.重新定义问题5.导出和分析各种可选解决方案6.推荐行动方针7.草拟开发计划8.书写文档提交审查第27页/共166页可行性研究的步骤可行性研究的步骤旧系统逻辑模型新系统目标和规模逻辑模型描述工具数据流图数据字典用例图3 3 导出新系统模型导出新系统模型第28页/共166页可行性研究的工具可行性研究的工具物
9、理数据流图,不同与程序流程描述物理系统表示物理部件信息流动分层的SFD从抽象到具体,从简单到复杂系统流程图系统流程图SFDSFD第29页/共166页可行性研究的工具可行性研究的工具系统流程图系统流程图SFDSFD电话销售系统流程图第30页/共166页可行性研究的工具可行性研究的工具描述系统逻辑模型信息在系统中的流动和处理用途交流信息的工具分析和设计的工具数据流图数据流图DFDDFD第31页/共166页可行性研究的工具可行性研究的工具符号例子分层从高层到低层分解前后的数据流必须一致命名数据流处理数据流图数据流图DFDDFD第32页/共166页可行性研究的工具可行性研究的工具数据流图数据流图DFD
10、DFD图书管理系统顶层图第33页/共166页可行性研究的工具可行性研究的工具DFD中所有元素定义的集合内容数据流数据流分量数据存储处理(一般不用DD描述)数据字典数据字典DDDD第34页/共166页需求分析重要性软件生命周期中,一个错误发现得越晚,修复错误的费用越高。第35页/共166页图形工具 数据流图 数据字典建立目标系统逻辑模型的图形工具第36页/共166页 -学生购买教材的具体模型学生购买教材的具体模型 举举举举例例例例请建立计算机售书系统的逻辑模型张张秘书秘书学学生生购书购书 购书购书 王王会计会计发票发票李李出纳出纳领书领书赵赵保管保管单单申请申请证明证明书书 -学生购买教材的学生
11、购买教材的 逻辑模型逻辑模型 审查审查有效性有效性学学生生有效有效购书单购书单 开发票开发票发票发票开领开领书单书单领书单领书单发书发书购书单购书单书书第37页/共166页 -学生购买教材的学生购买教材的 逻辑模型逻辑模型 审查并审查并开发票开发票学学生生发票发票购书单购书单 各班学生用书表各班学生用书表教材存量表教材存量表无效书单无效书单开领开领书单书单领书单领书单学学生生 完善目标系统并补充细节,导出目标系统的正式逻辑模型第38页/共166页需求规格说明书与评审需求规格说明书与评审 软件需求说明书软件需求说明书 -SRS(Software Requirement Specification
12、)主要包括以下的内容主要包括以下的内容:SRS 引言引言 数据描述数据描述 数据流图数据流图 数据字典数据字典 功能描述功能描述 性能描述性能描述 特殊需求特殊需求第39页/共166页1 1、数据流图中的主要图形元素、数据流图中的主要图形元素-转换数据流的处理过程转换数据流的处理过程 -可以是数据库文件或任何形式的数据组织。箭可以是数据库文件或任何形式的数据组织。箭头向内则表示写入文件或查询文件,箭头向外则表示从头向内则表示写入文件或查询文件,箭头向外则表示从文件中读取数据或得到查询结果文件中读取数据或得到查询结果 数据转换数据转换外部实体外部实体 -位于软件系统边界之外的信息生产者位于软件系
13、统边界之外的信息生产者 或或 消费者消费者数据流数据流 -在转换之间有向流动的数据项或数据在转换之间有向流动的数据项或数据 集合集合数据存储文件数据存储文件第40页/共166页-系统系统逻辑逻辑模型模型数据的数据的加工或加工或变换变换输入输入输出输出软件软件系统系统外部实体外部实体外部实体外部实体 外部实体外部实体外部实体外部实体 输入输入数据流数据流输入输入数据流数据流输出输出数据流数据流输出输出数据流数据流第41页/共166页2 2、数据流图中的其它图形元素、数据流图中的其它图形元素ABC-有有 A 则则 B 或者或者 C,或者两者都有或者两者都有*ABC+ABC-有有 A 则则 B 与与
14、 C,或者两者同时有或者两者同时有-有有 A 则则 B 或或 C,但不会同时有但不会同时有B与与C第42页/共166页-标识多个数据流与加工之间关系的符号标识多个数据流与加工之间关系的符号-当当 A 或或 B 有一个存在就有有一个存在就有 CABC*ABC-只有当只有当 A 与与 B 都存在,则有都存在,则有 C第43页/共166页3 3、分层的数据流图、分层的数据流图 F0A0B0F11A0B0F12F13F14F15p1C1D1M1N1F21M1F22N1F23K2F24W2F25p1Y2X2第第 n 层层第第 n+1 层层第第 n+2 层层第44页/共166页学生学生教材购教材购销系统销
15、系统购书单购书单领书单领书单缺书单缺书单进书通知进书通知进书通知进书通知保管员保管员1销售销售购书单购书单领书单领书单学学生生缺书单缺书单进书通知进书通知2采购采购保管员保管员第第 1 层层第第 2 层层 教材存量表教材存量表 F1F1 缺书登记表缺书登记表 F2F2外部实体外部实体第45页/共166页 教材销售子系统教材销售子系统 无效无效书单购书单1.3登记并开登记并开领书单领书单1.2开发票开发票1.1审查审查有效性有效性1.4登记登记缺书缺书1.5补售补售教材教材采采购购学学生生学学生生进书通知进书通知有效有效书单发票票领书单暂缺缺书单1销售销售购书单购书单领书单领书单缺书单缺书单进书
16、通知进书通知2采购采购进书通知进书通知缺书登记表缺书登记表教材存量表教材存量表学学生生保管员保管员第第 2 层层补售售书单第第 3 层层 教材存量表教材存量表 F1F1 缺书登记表缺书登记表 F2F2 F1书号书号单价单价数量数量 各班用书表各班用书表 F3F3 售书登记表售书登记表 F4F4外部外部项项第46页/共166页1销售销售购书单购书单领书单领书单缺书单缺书单进书通知进书通知2采购采购进书通知进书通知缺书登记表缺书登记表教材存量表教材存量表学学生生保保管员管员采购采购 子系统子系统 第第 2 层层第第 3 层层缺缺书单2.3修改教材库修改教材库存和待存和待购量购量销销售售进书通知进书
17、通知进书通知进书通知2.1按书号汇按书号汇总缺书总缺书2.2按出版社统按出版社统计缺书计缺书保保管员管员 教材存量表教材存量表 F1F1 待购教材表待购教材表 F5F5 教材一览表教材一览表 F6F6 缺书登记表缺书登记表 F2F2第47页/共166页数据元素名数据元素名:类型类型:数字(离散值、连续值),文字(编码类型)数字(离散值、连续值),文字(编码类型)长度长度:取值范围取值范围:相关的数据元素及数据结构相关的数据元素及数据结构 (2)(2)数据元素词条的描述数据元素词条的描述 年年=“1900”.“3000”月月=“01”.“12”日日=“01”.“31”摘要摘要=1字母字母4 金额
18、金额=“00000000.01”.“999999999.99”第48页/共166页2 2、数据字典定义符号、数据字典定义符号 符号符号含含 义义例例 子子 =被定义为被定义为+与与 x=a+b,则表示则表示 x 由由 a 和和 b 组成组成x=a,b,则表示则表示 x 由由 a 或由或由 b 组成组成 或或重复重复x=a,则表示则表示 x 由由 0个个或多个或多个 a 组成组成()可选可选 表示在两个表示在两个 *之间的内容为词条的注释之间的内容为词条的注释m n 重复重复x=3a8,则表示则表示x中至少出现中至少出现3 3次次a,最多出现最多出现8 8次次*注释符注释符x=(a),则表示则表
19、示 a 在在 x 中出现中出现,也可不出现也可不出现第49页/共166页软件估算的基础(软件估算的基础(2)复杂性:相同KLOC的两个程序花费的时间将会不同。因而不能简单地应用KLOC或SLOC,而要根据复杂性进行修正,但是复杂性的度量通常是主观而定的。第50页/共166页面向对象建模面向对象建模第51页/共166页结构化分析模型的组成结构结构化分析模型的组成结构数据流图 (DFD)E-R图状态变迁图(STD图)加工说明控制说明数据对象说 明数据字典(DD)第52页/共166页面向对象分析模型的组成结构面向对象分析模型的组成结构对象-关系模型类/对象 模型对象-行为模型使用实例(Use Cas
20、e)操作、属性、协作者第53页/共166页面向对象分析面向对象分析1.基本过程2.需求陈述3.建立ObjectModel4.建立DynamicModel5.建立FunctionModel6.定义服务第54页/共166页1.基本过程:RequirementstatementRapidprototypeModels其中model有三个:Objectmodel:最重要,开发任何系统都需要;Dynamicmodel:对于开发交互式系统很重要;Functionmodel:对于开发大运算量问题(如科学计算、编译系统等)很重要。面向对象分析面向对象分析第55页/共166页OMT模型系统分析设计过程模型系统分
21、析设计过程产生需求结构及对象设计建立模型问题描述对象模型、动态模型、功能模型详细的对象模型详细的动态模型详细的功能模型分析阶段设计阶段第56页/共166页CategoryClass-&-ObjectStructure1+1+AttributeMethodObjectmodel由五个层次组成,相当于把五张透明胶片叠在一起,每一层显示更多的细节。1 1、基本过程、基本过程第57页/共166页需求陈述的内容包括:问题范围、功能需求、性能要求、应用环境、假设条件等等。陈述方式可繁可简,说明What 而不是 How。2.2.需求陈述需求陈述第58页/共166页需求建模实例需求建模实例风险分析交易估计进行
22、交易进行交易接待员酒店系统财务系统某金融贸易系统用例图(UML)第59页/共166页1、确定Class-&-Object:第1步:列出所有候选对象(candidates),它们可能是 物理实体 人或组织 要处理的事件 对象间的活动 抽象概念 等等非正式分析:从需求陈述中挑出 名词 Class-&-Object 形容词 Attribute 动词 Method3.3.建立建立 Object Model第60页/共166页账户余额限额类型现金兑换卡分行代码卡号储户姓名地址输入站事务日期柜员事务远程事务柜员姓名卡权限密码限额更新金额类型总行总行名分行分行名ATM现有金额付出金额柜员终端分行代码组成站号
23、站号账号雇员号卡号输入1+拥有1+保管拥有拥有雇用发放拥有1+1+标识1+1+访问1+启动1+1+输入1+组成修改归纳组成分解合并 建立建立 Object ModelObject Model第61页/共166页1、编写脚本(scenarios),描述event序列:Event=Activator+Receiver+Parameters基本类型:正常情况脚本特殊情况脚本(输入输出取边界值时)异常情况脚本(应允许用户异常中止或取消一个操作)4.4.建立建立 Dynamic Model第62页/共166页3、画事件跟踪图(eventtracingdiagram)EventActivatorRecei
24、verTimeLine每个脚本对应一张图2、设想用户界面(userinterface)rapidprototype.建立建立 Dynamic Model第63页/共166页要求输入取款额插卡要求密码输入密码请求验证帐户请求分行验证帐户帐户有效帐户有效要求事务类型输入类型输入取款额请求处理事务请求处理分行事务分行事务成功事务成功吐出现金请求拿走现金拿走现金请求继续此事务结束印帐单退卡请求拿走卡拿走卡显示主屏幕储户ATM总行分行例:例:ATM系统的正常情况脚本的系统的正常情况脚本的ETD第64页/共166页画状态图(eventflowdiagram)从ETD出发:Event2Event1Actio
25、nStatusClass-&-Object每个具有交互行为的class-&-object对应一张图。Event1Statusdo:ActionEvent2建立建立 Dynamic Model第65页/共166页状态图状态和事件的网络,侧重描述每一类对象的动态行为。动态模型动态模型第66页/共166页DFD+IPO+Pseudocode必要时对功能进行文字描述功能模型表示变化的系统的“功能”性质,它指明了系统应该“做什么”,因此更直接地反映了用户对目标系统的需求。5.5.建立建立 Function Model第67页/共166页建立数据字典建立数据字典为所有模型实体准备一个数据字典,精确描述每一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 复习 范围 汇总
限制150内