免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程关注于大型程序的构造:一个人短时间写的程序是小程序,多人半年以上时间为大型程序。软件工程的基本原理1. 用分阶段的生命周期计划严格管理2. 坚持进行阶段评审3. 实行严格的产品控制4. 采用现代程序设计技术5. 结果应能清楚地审查6. 开发小组的人员应该少而精7. 承认不断改进软件工程实践的必要性软件工程包括技术和管理两方面,是技术和管理紧密结合所形成的工程学科。管理:是通过计划、组织和控制等一系列活动,合理地配置和使用各种资源,以达到既定目标的过程。范型:在软件生命周期全过程中使用的一整套技术方法的集合为方法学,也称为范型。软件工程三要素:方法,工程,过程软件工程方法学:分为传统方法学和面向对象方法学软件生命周期1. 问题定义2. 可行性研究3. 需求分析4. 总体设计5. 详细设计6. 编码和单元测试7. 综合测试8. 软件维护可行性研究过程1. 复查系统规模和目标2. 研究目前正在使用的系统3. 导出新系统的高层逻辑模型4. 进一步定义问题5. 导出和评价供选择的解法6. 推荐行动方针7. 草拟开发计划8. 书写文档提交审查在澄清问题定义后,分析员应导出系统的逻辑模型,然后探索主要解法,对每种解法研究可行性,至少三种可行性:技术可行性(使用现在的技术能实现这个系统吗?),经济可行性(这个系统的经济效益能超过它的开发成本吗?),操作可行性(系统的操作方式在这个用户组织内行的通吗?),必要时还需要法律、社会效益等发面研究每种解法可行性。数据流图(DFD):是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。数据流4种基本符号:在数据流图中应该描绘所有可能的数据流向,而不应该描绘出某个数据流的条件。数据字典:对数据流图中包含的所有元素的定义的集合;数据流图与数据字典共同构成系统的逻辑模型。数据字典的内容: 1)数据流; 2)数据元素(数据流分量); 3)数据存储;4)处理。 数据元素的别名就是该元素的其他等价的名字,出现别名主要有下述三个原因:对于同样的数据,不同的用户使用了不同的名字;一个分析员在不同时期对同一个数据使用了不同的名字;两个分析员分别分析同一个数据流时,使用了不同的名字。从哪些方面验证软件需求的正确性 (1) 一致性 所有需求必须是一致的,任何一条需求不能和其他需求互相矛盾。 (2) 完整性 需求必须是完整的,规格说明书应该包括用户需要的每一个功能或性能。 (3) 现实性 指定的需求应该是用现有的硬件技术和软件技术基本上可以实现的。对硬件技术的进步可以做些预测,对软件技术的进步则很难做出预测,只能从现有技术水平出发判断需求的现实性。 (4) 有效性 必须证明需求是正确有效的,确实能解决用户面对的问题。设计过程:1. 设想供选择的方案2. 选取合理的方案3. 推荐最佳方案4. 功能分解5. 设计软件结构6. 设计数据库7. 制定测试计划8. 书写文档9. 审查和复审总体设计过程分为两个主要阶段:系统设计阶段,确定系统的具体实现方案;结构设计阶段,确定软件结构。软件设计过程应遵循的基本原理跟相关概念:模块:是由边界元素限定的相邻程序元素的序列,而且有个总称标识符代表它。抽象:人类在认识复杂现象的过程中使用的最强有力的思维工具逐步求精:人类解决复杂问题采用的基本方法Miller法则: 一个人在任何时候都只能把注意力集中在(7+-2)知识块上。信息隐蔽和局部化:信息隐蔽原理:要求一个模块内包含的信息(过程和数据)对于不需要这些信息的模块来说是不能访问的。局部化:把一些关系密切的软件元素物理地放的彼此靠近,更有助于实现信息隐蔽。局部化与信息隐蔽是密切相关的模快独立:每个模块完成一个相对独立的子功能,并且和其他模块之间的关系很简单。模块独立性的概念是模块化、抽象、信息隐藏和局部化的直接结果。模块的独立性可以由两个定性标准度量:耦合:用于衡量不同模块彼此间互相依赖(连接)的紧密程度;内聚:用于衡量一个模块内部各个元素间彼此结合的紧密程度。耦合的六种类型:1.非直接耦合2.数据耦合3.特征耦合4.控制耦合5.公共耦合6.内容耦合七种内聚:1.偶然内聚2.逻辑内聚3.时间内聚4.过程内聚5.通信内聚6.顺序内聚(信息内聚)7.功能内聚启发式规则: 1.改进软件结构提高模块独立性2.模块规模应该适中3.深度、宽度、扇入、扇出都应适当 4.模块的作用域应该在控制域之内 5.力争降低模块接口的复杂程度 6.设计单入口单出口的模块 7.模块的功能应该可以预测面向数据流的设计方法把信息流映射城软件结构,数据流的类型决定了映射的方法。数据流有两种类型:变换流、事务流程序流程图中使用的符号:a) 选择(分支);(b) 注释;(c) 预先定义的处理;(d) 多分支;(e) 开始或停止; (i) 虚线; (f) 准备; (g)循环上界限;(h) 循环下界限; (k) 并行方式;(l) 处理;(m) 输入/输出;(n) 连接;(o) 换页连接;(p) 控制流软件测试的目标:(1)测试是为了发现程序中的错误而执行程序的过程;(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;(3)成功的测试是发现了至今为止尚未发现的错误的测试。软件测试准则:(1) 所有测试都应该能追溯到用户需求。(2)应该远在测试开始之前就制定出测试计划。(3)把Pareto原理应用到软件测试中。(4)应该从“小规模”测试开始,并逐步进行“大规模”测试。(5)穷举测试是不可能的。(6)为了达到最佳的测试效果,应该由独立的第三方从事测试工作。测试方法 黑盒测试: 把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。又称功能测试。白盒测试:把测试对象看做一个透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。又称结构测试。测试步骤:(1) 单元测试 程序设计及编码中的bug(2) 子系统测试 模块间的接口(3) 系统测试 需求及系统设计(4) 验收测试 顾客参与(5) 并行运行 新老系统比较.单元测试主要测试以下五个方面:1、模块接口:2、局部数据结构:3、重要的执行通路:4、出错处理通路:5、边界条件调试途径: 蛮干法 回溯法: 原因排除法(对分查找法, 归纳法, 演绎法:)软件可靠性: 可靠性(Reliability):程序在给定的时间间隔内,按照说明书的规定,成功地运行的概率。 可用性(Usability):程序在给定的时间点,按照说明书的规定,成功地运行的概率。 正确性(Correctness):程序的功能正确。软件维护:指软件系统交付使用以后,为了改正错误或满足新的需求而修改软件的过程。软件维护的四类:完善性维护当一个软件系统投入使用和成功地运行时,用户会根据业务发展的实际需要,提出增加新功能、修改已有功能以及性能的改进要求等。纠错性维护 在软件投入使用后才逐渐暴露出来的错误的测试、诊断、定位、纠错以及验证、修改的回归测试过程,称为纠错性维护。适应性维护 使运行的软件能适应运行环境或者数据的变动而修改软件的过程称为适宜性维护。预防性维护 为了进一步改善软件的可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 快递员综合绩效考核方案及结果应用
- 初级管理员个人工作目标设定与执行策略
- 建筑项目风险管理计划
- 营销策划案品牌推广计划与执行
- 交通领域AI数据治理师初级工作策略
- 核安全法规标准应用案例分析
- 项目进度控制与质量管理方法
- 建筑工程项目管理及施工组织设计
- 文化创作者工作室创建流程与管理方法
- 深入解析企业级应用运维的月工作安排要点
- 光伏电站安全培训课件
- 2025年消防日消防月主题知识培训
- 2022年长春财经学院公共课《思想道德基础与法律修养》科目期末试卷B
- 交安设施冬季施工方案
- 行业的客户信息管理表格模板
- 生物育种方法
- 建筑企业法人a证考试及答案
- 2025年秋统编版小学语文四年级上册第六单元综合测试卷及参考答案
- 《国有企业管理人员处分条例》测试题(名校卷)附答案详解
- 鸡蛋采购项目服务方案投标文件(技术方案)
- 医院进修人员培训报告
评论
0/150
提交评论