版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 软件工程复习一、概论1、 软件的组成:程序+文档+数据; 软件的特点:更依赖于人、开发成本进度难以估计、正确性难保证、维护困难、不磨损老化、可长期使用; 软件开发的三个时期:程序设计语言兴起时期、结构化程序设计时期、软件工程与软件开发环境时期;2、 软件危机的表现:难以控制开发进度、软件工作量难以估计、软件修改维护困难,原因:需求问题、管理问题、方法工具问题、局限性;3、 软件工程是:(1)把系统化的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程化应用于软件中;(2)研究(1)中提到的途径; 软件工程三要素:以质量保证为基础的过程、方法、工具;4、 软件生存的三个时期:定
2、义时期、开发时期、使用和维护时期; 软件生存的六个阶段:软件计划、需求分析、软件设计、实现编码、测试、维护;5、 瀑布模型基本思想:分而治之优点:规范管理开发过程、文档驱动缺点:初期系统的需求难以完全确定、文档驱动、周期长V型模型:瀑布模型+质量控制适用范围:结构化方法、面向过程的软件开发方法,需求变化少,开发人员熟悉应用领域,低风险项目,使用环境稳定6、原型模型针对软件开发初期需求难以确定,采用快速原型法基本思想:快速建立原型,完善用户需求优点:用户参与、快速缺点:快速、对开发环境要求高适用范围:已有产品、有快速原型开发工具、进行产品移植或升级2、 软件质量评价1、 良软件结构:具有层次性,
3、无回路块调用的软件结构2、 模块独立性测量耦合:零耦合、数据耦合、控制耦合、公共环境耦合、内容耦合,尽量使用数据耦合,少用控制耦合,限制公共环境变量耦合的范围,完全不用内容耦合;内聚:偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚、功能内聚,内聚更重要3、 软件质量定性评价用户角度:达到需求、界面友好、简单易学开发人员角度:良结构、易测试、易维护、可移植4、 软件质量定量评价软件度量:软件复杂性度量(规模、文本复杂性、控制结构的复杂性)、软件可靠性度量(系统故障率、软件修复与软件有效性、软件可靠性估算)5、 软件质量好的宏观标准:可靠性、良软件结构、文档齐全3、 软件计划1、 任务
4、:弄清开发项目的性质、目标、规模、可行性、成本、风险分析、开发计划等,并编写项目任务说明书(项目计划书、可行性分析报告)2、 可行性研究的内容:经济可行性(成本效益分析)、技术可行性(风险分析、资源分析、技术分析)、法律可行性、开发方案的选择3、 软件项目的量化估算:成本估算&工作量估算(代码行成本估算、阶段成本估算)、工程进度安排(甘特图、任务网络图)4、 软件需求分析1、 需求分析的任务:问题分析、需求描述、需求评审2、 初步获取需求技术:调研、阅读相关资料、市场问卷调查、同类产品用户手册等3、 需求内容:功能性需求、非功能性需求(技术需求)4、 需求建模方法面向数据流的分析方法:结构化方
5、法建模、实体关系图、数据流图、状态转换图面向对象的分析方法面向数据结构的分析方法5、 传统软件设计方法1、 设计启发规则:提高模块独立性(水平划分、垂直划分)、模块规模适中、深度广度扇入扇出适当、作用域在控制域内、降低接口的复杂程度、单出单入避免内容耦合、模块功能可预测2、 表示软件结构的图形工具:层次图(调用关系)、HIPO图(H图+IPO图+IPO表)、结构图3、 软件系统设计技术面向数据流的设计方法:DFD的类型决定映射方法(变换流、事务流、混合型)SA/SD方法优点:自顶向下,逐步求精,各模块可单独设计、编码、测试、修改SA/SD方法缺点:纸上设计,长时间偏离软件实体、开发周期长、剥离
6、了数据/功能的关系、顶在何方,下到何处面向数据结构的设计方法:Jackson方法、Warnier方法原型法4、 详细设计设计表示方法:流程图、PAD、伪码流程图:5、 结构化程序设计(SP):避免用GOTO语句、自顶向下的程序设计、一种组织和编程方法、主要作用是使程序正确性的证明易于实现、讨论如何将大规模和复杂的流程图转换为一种标准形式,能用几种标准的控制结构通过嵌套来表示。6、 结构化定理:任何正规程序都可语义等价于由基集合顺序、条件、循环通过嵌套复合成结构化程序。 正规程序:有一个入口点和出口点、程序中的任何一个结点都可以找一条从入口点经过该点到出口点的路径。6、 软件编码1、 结构化程序
7、设计的观点首要是强调好的结构而不是效率,它的目的在于编写结构清晰、易于理解,也易于验证的程序7、 软件测试1、 程序正确性证明2、 测试:也是软件的“建设性”,为了发现程序中的错误而执行程序的过程,证明程序错误,暴露错误;分为动态测试和静态测试。3、 动态测试分为黑盒测试(功能测试法)和白盒测试黑盒测试方案:等价划分法、边界值分析法、错误推测法等价划分的评价:选用等价类中的任意值/典型值作为用例、没有选用某些高效率的测试方案;边界值分析的评价:边界值易发现错误,考虑输出等价类,联合使用等价划分和边界值分析法白盒测试方案:语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖4、 软件测试的
8、步骤与策略单元测试:模块、白盒法集成测试:接口、多以黑盒为主,辅以白盒增式测试法:自顶向下集成,深度优先策略、宽度优先策略优势:尽早测试主要控制、关键选择(上层)、尽早实现软件的完整功能并验证、无需driver缺点:需编写stub、底层关键模块测试晚、软件结构中没有重要的数据自下往上流、并行测试困难自底向上集成,优势:无需stub、可尽早并行测试、可尽早发现底层关键模块的错误、易建立测试条件和判定测试结果缺点:需编写driver、接口出错发现较迟、系统轮廓形成较晚混合法确认测试:验证软件的有效性、以用户为主或用户积极参与、黑盒法系统测试:软件作为计算机系统的一部分,与硬件、外设等其它系统结合起
9、来,对计算机系统进行一系列的集成测试和确认测试5、 面向对象的软件测试:不能孤立测试单个操作,把操作作为类的一部分来测试(不能再真空中孤立地进行测试操作,有必要在每个子类的语境中测试继承的操作)、OOM易于测试与纠错8、 软件维护1、 软件维护的类型:校正性维护/纠错性维护、适应性维护、完善性维护、预防性维护2、 提高可维护性的措施需求分析:清晰、易读、结构好易修改设计:结构层次清晰、独立性强修改局部化、灵活的数据逻辑结构适应处理的变化编码:编码规则、风格,SP,通用性高的PL测试:测试充分文档:3、 维护的副作用:修改软件后导致新错误的发生编码的副作用严格执行回归测试、数据的副作用完善的设计文档资料、文档资料的副作用对整个软件配置进行评审9、 软件管理1、 软件管理的内容:开发计划与进度管理、成本估算与控制、人员管理与组织管理、质量管理、文档管理2、 软件管理的原则:软件生存期、按阶段确认、质量检查、自顶向下SP/OOP、职责分明、人员少而精、不断充实3、 软件管理的特点:知识密集,非实物性、单品生产,开发过程不确定、开发周期长、内容复杂,正确性难保证、劳动密集
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 武汉轻工大学《信号与线性系统》2024-2025学年第二学期期末试卷
- 民营医院内部优惠制度
- 唐山海运职业学院《WTO-TBT基础知识》2024-2025学年第二学期期末试卷
- 海关内部绩效审计制度
- 海底捞员工内部管理制度
- 烘干厂内部管理制度
- 煤矿内部工作制度
- 煤矿班组内部管理制度
- 环保局单位内部安全制度
- 理财公司内部管理制度
- 2026北森测评试题及答案
- 2026西藏自治区教育考试院招聘非编工作人员11人备考考试题库及答案解析
- 医疗信息系统维护外包合同样本
- 隔音板安装施工方案
- 广播电视播音员主持人资格真题(附答案)
- 小微企业的薪酬管理制度(2篇)
- 《AI与直播运营》课程标准
- 绿化合同协议模板
- 有机化学(第9版)全套教学课件【704张】
- (新教材)2026年人教版八年级下册数学 第二十章 思想方法 勾股定理中的数学思想 课件
- 2026年开封大学单招职业适应性测试题库及参考答案详解一套
评论
0/150
提交评论