《可行性报告-软件工程 简介软件过程模型可行性研究.ppt》由会员分享,可在线阅读,更多相关《可行性报告-软件工程 简介软件过程模型可行性研究.ppt(72页珍藏版)》请在第一文库网上搜索。
1、软件工程概论48学时(24理论+24上机)顾春华课程安排n理论n内容:基本原理、方法和技术n形式:讲授、自学、讨论n实践n内容:构造一个应用系统(包括分析、设计、编码、测试)n形式:分组、分阶段文档、编码、集成软件工程的内容n软件工程的基本概念n软件过程n软件开发各阶段的任务、技术、方法n传统方法、面向对象方法n项目管理n软件质量保证第一章 软件危机与软件工程n软件与软件危机n软件工程n技术复审和管理复审软件n程序、软件与软件产品独唱-小合唱-合唱-万人大合唱 | | |简单程序 较复杂程序 软件n软件包括程序:按事先设计的功能和性能需求执行的指令序列数据:是程序能正常操纵信息的数据结构文档:
2、与程序开发、维护和使用有关的图文材料 软件开发的发展过程计算机应用发展软件数量多规模大软件成本高质量低个体化软件开发方法软件维护困难软件危机软件工程软件危机n定义计算机软件的开发和维护过程所遇到的一系列严重问题 n表现n对软件开发成本和进度的估算很不准确n用户很不满意n质量很不可靠n没有适当的文档n软件成本比重上升n供不应求:软件开发生产率跟不上计算机应用迅速深入的趋势 软件危机n原因n客观:软件本身特点n逻辑部件n规模庞大n主观:不正确的开发方法n忽视需求分析n软件开发=程序编写n轻视软件维护软件危机n解决途径n组织管理n工程项目管理方法n技术措施n软件开发技术与方法n软件工具软件工程n定义
3、n指导计算机软件开发和维护的工程学科 n工程方法+管理技术+技术方法nB.W.Boehm七条基本原理n确保软件质量和开发效率nP5-7课后作业n你以前开发软件的过程是什么?你认为正确的软件开发过程是怎样的?n学习理解RUP(可选)nhttp:/ 软件过程模型Process Modeln瀑布模型(waterfall model)n快速原型模型(rapid prototype model)n 螺旋模型(spiral model)n转换模型(transformational model)n构件集成模型(component integration model) 瀑布模型问题定义可行性研究需求分析软件设
4、计编码测试维护瀑布模型n特点n阶段的顺序性和依赖性n推迟实现的观点n质量保证n存在问题n不适合需求模糊的系统快速原型模型需求分析原型开发最终系统设计原型评价最终系统实现用户反馈快速原型模型n特点n快速开发工具n循环n低成本n种类n渐进型n抛弃型螺旋模型螺旋模型n特点n瀑布模型+快速原型+风险分析n迭代过程n一个螺旋式周期 n确定目标,选择方案,选定完成目标的策略 n风险角度分析该策略 n启动一个开发阶段 n评价前一步的结果,计划下一轮的工作 转换模型形式化规格说明与 需 求比 较 后修正变换2变换1变换n测试形式化开发记录系统需求目标系统转换模型n特点n形式化软件开发方法 n形式化需求规格说明
5、 n变换技术n程序自动生成技术 n确保正确构件集成模型构件集成模型n特点n面向对象n基于构件库n融合螺旋模型特征n支持软件开发的迭代方法 n软件重用RUPn用例驱动 n迭代和增量的过程 n五个活动:需求、分析、设计、实现和测试 n四个阶段 第三章 可行性研究n可行性研究的任务n可行性研究的步骤n可行性研究的工具n系统流程图n数据流图n数据字典n成本/效益分析开发软件要回答三个问题nWhy to do? 可行性研究nWhat to do?需求分析nHow to do? 系统设计可行性研究的任务n回答是否可行n最短时间n最小代价n三个方面的可行性n技术可行性n经济可行性n操作可行性循环可行性研究的
6、步骤1.复查系统规模和目标2.研究现有系统功能3.导出新系统模型4.重新定义问题5.导出和分析各种可选解决方案6.推荐行动方针7.草拟开发计划8.书写文档提交审查1 复查系统规模和目标n问题定义阶段的成果n系统规模和目标报告书n复查任务n改正含糊的、二义的描述n改正不正确的描述n核查系统限制和约束2 研究现有系统功能n分析现有系统n高层系统流程图n确定系统功能n比较新旧系统n新系统必须完成旧系统的基本功能n新系统必须改正旧系统存在问题n新系统必须比旧系统增收入、减支出3 导出新系统模型n旧系统逻辑模型 新系统逻辑模型n新系统目标和规模n逻辑模型描述工具n数据流图n数据字典n用例图4 重新定义问
7、题n复查问题定义、规模和目标n根据新系统模型n分析员误解n用户遗漏n重新定义问题n循环(定义,分析,求解,重定义)5 导出和分析可选解决方案n从逻辑模型导出物理系统方案n不同角度n多个方案n分析各种可选方案n技术可行性n操作可行性n经济可行性n为可行方案制定初步进度计划6 推荐行动方针n得出可行性研究结果n继续开发n终止项目n推荐解决方案n成本/效益7 草拟开发计划n为推荐方案确定开发计划n进度n开发人员n硬件设备n软件工具n各阶段成本估计8 书写文档提交审查n可行性研究报告n各步骤结果n推荐方案n开发计划等系统流程图SFDn物理数据流图,不同与程序流程n描述物理系统n表示物理部件n信息流动n
8、符号(P21)n例子(P23)n分层的SFDn从抽象到具体,从简单到复杂数据流图DFDn描述系统逻辑模型n信息在系统中的流动和处理n用途n交流信息的工具n分析和设计的工具 数据流图DFDn符号P24n例子P25-27n分层n从高层到低层n分解前后的数据流必须一致n命名n数据流n处理领书单 进书通知 购书单 缺书单 DFD练习售书系统学生教材购销系统书 库保 管员领书单 进书通知 进书通知 购书单缺书单 DFD练习售书系统 1销售 2采购书库保管员学生F1教材存量表 F2缺书登记表 数据字典DDnDFD中所有元素的定义的集合n内容n数据流n数据流分量n数据存储n处理(一般不用DD描述)数据字典D
9、Dn定义数据的方法n自顶向下分解数据n数据元素的组合方式n顺序:A+Bn选择:A|Bn重复:1A5n可选: (A)数据字典DDnDD的用途n分析阶段的交流工具n包含控制信息n数据库设计的基础n例子nP32成本/效益分析n成本估计n代码行技术n行数*每行平均成本n任务分解技术n人月1*月工资+人月2*月工资+ 。n自动成本估算n软件工具成本/效益分析n成本/效益分析方法n开发成本、运行费用n新系统带来的经济效益n必须考虑n货币的时间价值(利率)n计算投资回收期n纯收入n投资回收率第四章 需求分析n需求分析的任务与步骤 n需求获取的常用方法 n分析建模 n软件需求说明 n结构化分析技术n面向对象分
10、析技术需求分析的任务和步骤n需求分析的任务n建立分析模型 n编写需求说明 n需求分析的步骤n需求获取 n需求提炼 n需求描述 n需求验证 需求获取的常用方法n联合分析小组 n用户代表、领域专家和系统分析员n客户访谈 n充分准备,寻找共同语言 n循循序渐进、逐步逼近 n问题分析与确认 n多个来回分析建模n结构化分析模型n面向对象分析模型n分析模型描述工具nDFD、DD和PSPEC nCFD、CSPEC和STD nE-R图 n用例图,对象-关系图,对象-行为图 两种程序设计方法n程序设计的两次飞跃n结构化程序设计n程序=数据结构+算法n面向对象程序设计n程序 = 对象 + 消息 两种软件工程方法n
11、传统软件工程n软件分析 总体设计 详细设计 面向过程的编码 测试 n面向对象软件工程n软件分析与对象抽取 对象详细设计 面向对象的编码 测试 面向对象的基本概念n对象Objectn类Classn继承Inheritancen消息Message n面向对象n对象+类+继承+消息通信对象Objectn客观世界中的实体n状态(静态属性 Attributes)n操作(动态行为 Mehtods)n对象:=nIdentifiernMethod SetnData StructurenMessage Interface对象的特点n以数据为中心n对象是主动的n实现数据封装n本质上有并行性n模块独立性好类Class
12、和实例Instancen类n相同属性和行为的对象的抽象n实例n特定类所描述的一个具体对象n子类直接继承父类的数据和操作n继承的传递性,单继承、多重继承继承(Inheritance)家具桌子椅子衣柜床椅子的实例多态性Polymorphismn概念n不同类层次共享一个方法名n相同的参数特征和返回值类型n多种不同实现nC+中虚函数实现n动态联编重载Overloadingn函数重载n同一作用域n多个名字相同的函数n参数特征不同n静态联编n运算符重载消息Messagen对象间的交互手段n形式:nMessage:dest,op,paranDestination ObjectnOperationnParam
13、eters结构化分析模型加工说明数据对象说明STD图DFD图E-R图DD控制说明面向对象分析模型属性、操作、协作者对象-行为模型对象-关系模型类/对象模型使用实例软件需求说明(SRS) 引言 信息描述功能描述 需要规格说明书行为描述质量保证接口描述其它需求 分析模型描述工具n结构化分析工具nDFD、DD和PSPEC nCFD、CSPEC和STD nE-R图 n面向对象分析工具n用例图,类对象图n对象-关系图n对象-行为图CFD和CSPECn与DFD类似n适合实时系统的分析n表示控制流CFD和CSPEC的符号表示控制信息或事件引用控制说明例子:DFD和CFD-DFD信号半分钟数据光电管采集计数传送工控机处理实时数据显示班数据处理半小时数据班数据例子:DFD和CFD-CFD翻屏人工驱动信息时钟半小时半分钟某型号累加物品经过信号半分钟数据光电管采集计数传送工控机处理实时数据显示班数据处理半小时数据班数据STDn描述软件状态变迁n符号表示n矩形-系统状态n箭头-状态转变方向n规则表达式-事件/触发行为状 态1状 态2事件/触发行为STD例子20秒到/翻屏生成最新数据/翻屏半小时到/工控处理半分钟到/传送空闲/采集物品经过/计数采集PLC计数传送工控处理实时翻屏