武汉大学软件工程复习重点总结.doc

武汉大学软件工程复习重点总结.doc

ID:57335350

大小:652.00 KB

页数:8页

时间:2020-08-12

武汉大学软件工程复习重点总结.doc_第1页
武汉大学软件工程复习重点总结.doc_第2页
武汉大学软件工程复习重点总结.doc_第3页
武汉大学软件工程复习重点总结.doc_第4页
武汉大学软件工程复习重点总结.doc_第5页
资源描述:

《武汉大学软件工程复习重点总结.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、软件工程复习一、概论1、软件的组成:程序+文档+数据;软件的特点:更依赖于人、开发成本进度难以估计、正确性难保证、维护困难、不磨损老化、可长期使用;软件开发的三个时期:程序设计语言兴起时期、结构化程序设计时期、软件工程与软件开发环境时期;2、软件危机的表现:难以控制开发进度、软件工作量难以估计、软件修改维护困难,原因:需求问题、管理问题、方法工具问题、局限性;3、软件工程是:(1)把系统化的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程化应用于软件中;(2)研究(1)中提到的途

2、径;软件工程三要素:以质量保证为基础的过程、方法、工具;4、软件生存的三个时期:定义时期、开发时期、使用和维护时期;软件生存的六个阶段:软件计划、需求分析、软件设计、实现编码、测试、维护;5、瀑布模型基本思想:分而治之优点:规范管理开发过程、文档驱动缺点:初期系统的需求难以完全确定、文档驱动、周期长V型模型:瀑布模型+质量控制适用范围:结构化方法、面向过程的软件开发方法,需求变化少,开发人员熟悉应用领域,低风险项目,使用环境稳定6、原型模型针对软件开发初期需求难以确定,采用快速原型法基本思想:快速

3、建立原型,完善用户需求优点:用户参与、快速缺点:快速、对开发环境要求高适用范围:已有产品、有快速原型开发工具、进行产品移植或升级二、软件质量评价1、良软件结构:具有层次性,无回路块调用的软件结构2、模块独立性测量耦合:零耦合、数据耦合、控制耦合、公共环境耦合、内容耦合,尽量使用数据耦合,少用控制耦合,限制公共环境变量耦合的范围,完全不用内容耦合;内聚:偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚、功能内聚,内聚更重要3、软件质量定性评价用户角度:达到需求、界面友好、简单易学开发人员角

4、度:良结构、易测试、易维护、可移植4、软件质量定量评价——软件度量:软件复杂性度量(规模、文本复杂性、控制结构的复杂性)、软件可靠性度量(系统故障率、软件修复与软件有效性、软件可靠性估算)4、软件质量好的宏观标准:可靠性、良软件结构、文档齐全二、软件计划1、任务:弄清开发项目的性质、目标、规模、可行性、成本、风险分析、开发计划等,并编写项目任务说明书(项目计划书、可行性分析报告)2、可行性研究的内容:经济可行性(成本效益分析)、技术可行性(风险分析、资源分析、技术分析)、法律可行性、开发方案的选择

5、3、软件项目的量化估算:成本估算&工作量估算(代码行成本估算、阶段成本估算)、工程进度安排(甘特图、任务网络图)三、软件需求分析1、需求分析的任务:问题分析、需求描述、需求评审2、初步获取需求技术:调研、阅读相关资料、市场问卷调查、同类产品用户手册等3、需求内容:功能性需求、非功能性需求(技术需求)4、需求建模方法面向数据流的分析方法:结构化方法建模、实体关系图、数据流图、状态转换图面向对象的分析方法面向数据结构的分析方法二、传统软件设计方法1、设计启发规则:提高模块独立性(水平划分、垂直划分)、

6、模块规模适中、深度广度扇入扇出适当、作用域在控制域内、降低接口的复杂程度、单出单入避免内容耦合、模块功能可预测2、表示软件结构的图形工具:层次图(调用关系)、HIPO图(H图+IPO图+IPO表)、结构图3、软件系统设计技术面向数据流的设计方法:DFD的类型决定映射方法(变换流、事务流、混合型)SA/SD方法优点:自顶向下,逐步求精,各模块可单独设计、编码、测试、修改SA/SD方法缺点:纸上设计,长时间偏离软件实体、开发周期长、剥离了数据/功能的关系、顶在何方,下到何处面向数据结构的设计方法:Ja

7、ckson方法、Warnier方法原型法4、详细设计设计表示方法:流程图、PAD、伪码流程图:5、结构化程序设计(SP):避免用GOTO语句、自顶向下的程序设计、一种组织和编程方法、主要作用是使程序正确性的证明易于实现、讨论如何将大规模和复杂的流程图转换为一种标准形式,能用几种标准的控制结构通过嵌套来表示。6、结构化定理:任何正规程序都可语义等价于由基集合{顺序、条件、循环}通过嵌套复合成结构化程序。正规程序:有一个入口点和出口点、程序中的任何一个结点都可以找一条从入口点经过该点到出口点的路径。二

8、、软件编码1、结构化程序设计的观点首要是强调好的结构而不是效率,它的目的在于编写结构清晰、易于理解,也易于验证的程序三、软件测试1、程序正确性证明2、测试:也是软件的“建设性”,为了发现程序中的错误而执行程序的过程,证明程序错误,暴露错误;分为动态测试和静态测试。3、动态测试分为黑盒测试(功能测试法)和白盒测试黑盒测试方案:等价划分法、边界值分析法、错误推测法等价划分的评价:选用等价类中的任意值/典型值作为用例、没有选用某些高效率的测试方案;边界值分析的评价:边界值易发现错误,考虑

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。