软件工程基础知识.

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

程序员教程第7章软件工程基础知识7.1软件工程和项目管理基础7.2面向对象技术基础7.3软件需求分析7.4软件设计7.5软件编码7.6软件测试7.7系统运行与维护7.8软件质量管理与质量保证7.1软件工程和项目管理基础1.软件生存周期◦可行性分析和项目开发计划◦需求分析◦软件设计◦编码◦测试◦维护7.1软件工程和项目管理基础2.软件项目管理基础知识◦成本估算开发费用=人月数×每个人月的代价开发费用=源代码行数×每行平均费用7.1软件工程和项目管理基础2.软件项目管理基础知识◦风险分析风险识别风险预测风险评估风险控制7.1软件工程和项目管理基础2.软件项目管理基础知识◦进度管理Gantt图横坐标表示时间(如时、天、周、月、年等),纵坐标表示任务,图中的水平线段表示对一个任务的进度安排7.1软件工程和项目管理基础2.软件项目管理基础知识◦进度管理PERT图图中的箭头表示任务,结点称为事件。7.1软件工程和项目管理基础3.软件能力成熟度模型简介◦初始级(initial)◦可重复级(repeatable)有必要的过程准则来重复以前在同类项目中的成功。◦已定义级(defined)软件过程已经文档化、标准化◦已管理级(managed)制定了软件过程和产品质量的详细度量标准。◦优化级(optimized)制定了软件过程和产品质量的详细度量标准。7.1软件工程和项目管理基础4.统一过程UP◦捕获系统应该做什么的需求工作流◦精化和结构化需求的分析工作流◦用系统构架实现需求的设计工作流◦构造软件的实现工作流◦验证实现是否如期望那样工作的测试工作流7.1软件工程和项目管理基础5.极限编程◦四大价值观:沟通、简单、反馈和勇气◦五个原则:快速反馈、简单性假设、逐步修改、提倡更改和优质工作◦十二个最佳实践5.2面向对象技术基础1.面向对象的基本概念◦对象:在现实世界中,每个实体都是对象,一个对象通常可由对象名、属性和操作3部分组成。◦消息:对象之间进行通信的一种构造叫做消息。◦类:类是在对象之上的抽象,对象是类的具体化,是类的实例(instance)。◦继承:继承是父类和子类之间共享数据和方法的机制。5.2面向对象技术基础1.面向对象的基本概念◦多态:不同的对象收到同一消息可以产生完全不同的结果,这一现象叫做多态(polymorphism)。◦动态绑定:当一个对象发送消息请求服务时,要根据接收对象的具体情况将请求的操作与实现的方法进行连接,即动态绑定。5.2面向对象技术基础2.UML概述◦类图(classdiagram)5.2面向对象技术基础2.UML概述◦对象图(objectdiagram)李明:Student王春:Teacher5.2面向对象技术基础2.UML概述◦用例图(usecasediagram)5.2面向对象技术基础2.UML概述◦序列图(sequencediagram)5.2面向对象技术基础2.UML概述◦协作图(collaborationdiagram)5.2面向对象技术基础2.UML概述◦状态图(statechartdiagram)书在图书管理系统中的状态图还未入库的新书可以外借已经从书库里删除的书被预定被借阅添加新书删除旧书预定取消预定或超过预定时间归还借阅借阅5.2面向对象技术基础2.UML概述◦活动图(activitydiagram)7.3软件需求分析1.结构化分析方法(1)一套分层的数据流图(dataflowdiagram,DFD):用来描述数据流从输入到输出的变换流程。(2)一个数据字典(datadictionary,DD):用来描述DFD中的每个数据流、文件以及组成数据流或文件的数据项。(3)一组小说明(也称加工逻辑说明):用来描述每个基本加工(即不再分解的加工)加工逻辑。7.3软件需求分析1.结构化分析方法7.3软件需求分析1.结构化分析方法◦数据流图7.3软件需求分析1.结构化分析方法◦数据字典数据流名:注册申请简述:每学期开学需要学生注册登记别名:无组成:注册申请=学号+姓名+入学日期+注册日期数据量:2000次/开学一周峰值:第一周每天下午1:00到5:00点有300次注释:到2006年还将增加到3000人7.3软件需求分析1.结构化分析方法◦加工逻辑奖学金发放规则优秀率=70%50%=优秀率=70%中下率=15%中下率=20%中下率=15%中下率=20%表现优良一等奖学金表现一般表现优良表现一般表现优良表现一般表现优良表现一般二等奖学金二等奖学金三等奖学金二等奖学金三等奖学金三等奖学金四等奖学金7.4软件设计1.软件设计的基本原理◦模块化◦抽象◦信息隐蔽◦模块独立性:高内聚低耦合7.6软件测试1.软件测试的目的◦测试的目的就是希望能以最少的人力和时间发现潜在的各种错误和缺陷。7.6软件测试2.软件测试的分类◦人工测试◦机器测试。黑盒测试也称为功能测试。等价类划分边界值错误推测因果图白盒测试也称为结构测试语句覆盖、判定覆盖、条件覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。7.6软件测试3.软件测试的原则◦应尽早并不是地进行测试。◦测试工作应该避免由原开发软件的人或小组承担◦设计测试方案的时候,不仅要确定输入数据,而且要根据系统功能确定预期输出结果。◦在设计测试实例时,不仅要设计有效合理的输入条件,也要包含不合理、失效的输入条件。◦在测试程序时,不仅要检验程序是否做了该做的事,还要检验程序是否做了不该做的事。◦严格按照测试计划来进行◦妥善保存测试计划和测试例子◦试例子应是精心设计出来的7.6软件测试4.软件测试过程◦单元测试◦集成测试◦确认测试◦系统测试

1 / 28
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功