欢迎来到天天文库
浏览记录
ID:12125075
大小:30.50 KB
页数:3页
时间:2018-07-15
《软件工程复习资料》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第一章概论1.软件是能够完成预定功能和性能的、可执行的计算机程序和使程序正常执行所需要的数据,加上描述程序的操作和使用的文档。软件=程序+数据+文档2.软件的特点:(1)软件是抽象的逻辑实体,硬件是具体的物理实体。(2)研制上:软件:大多数的开发设计几乎是从头开始,其质量、成本和进度很难估量,更多依赖开发人员的素质、技术、智力以及之间的组织、合作和管理;硬件:均有行业的标准部件和材料,只需经过组装、测试、试用即可,且错误可以排除。生产上:软件只需简单的原版的复制;而硬件批量生产,则需要生产线、质量控制、产品的检验。(3)硬件在使用中有机械磨损、老化问题,软件存在退化问题。3.软件的分类:(1
2、)按功能:系统软件、支撑软件、应用软件(2)按工作方式:实时处理、分时软件、交互式软件、批处理软件(3)按服务对象:项目软件、产品软件(4)按使用的频度:多次、一次4.危机原因:A.软件需求不够明确B.缺乏软件开发的经验和资料的积累C.开发过程没有统一的、公认的方法论和规范(规程)D.未能在测试阶段充分做好检测工作5.克服软件危机的途径:用现代工程的概念、原理、技术和方法进行计算机软件的开发、管理、维护和更新。6.软件工程:将系统的、规范的、可度量的工程化方法应用于软件开发、运行和维护的全过程及上述方法的研究。软件工程=方法+过程+工具7.软件生存周期的六个步骤:软件计划(软件计划任务书)需
3、求分析(需求规格说明书)软件设计(软件设计报告)编码(源程序、可执行程序)软件测试(测试报告、测试记录)维护(维护报告).8.软件生存周期过程:5个基本过程、8个支持过程、4个组织过程。9.能力成熟度模型CMM五个等级:初始级、可重复级、已定义级、已管理级、优化级。10.软件过程模型:瀑布模型Waterfallmodel、演化模型(原型法Prototype)、原型模型、螺旋模型、喷泉模型(现代典型)、变换模型。(简单描述见书本)第二章系统工程1.基于计算机的系统:可以抽象为:IPO模型表示,由硬件、软件、人、数据库、过程、文档、规程诸要素构成。第三章需求分析1.需求分析:即用比较形式化的语言
4、和分析技术对将要开发的软件进行模型的抽象分析,也即对用户所期望的软件系统的功能、行为、性能、设计约束等方面进行详细的分解和描述,获得用户所需软件系统需求的规格说明书的过程。2.需求分析的过程:问题识别(获取)、分析与综合、编制文档、需求分析评审。3.画数据流图的基本步骤:自外向内,自顶向下,逐层细化,完善求精。第四章软件设计1.软件设计的过程:概要设计、详细设计。2.软件设计的原则:抽象化、自顶向下,逐步细化、模块化、控制层次。第七章面向对象法1.UML机制:用例图①用例、用例图:关于具体功能及执行者,描述系统的功能的集合静态图②类图:关于类及子类的集合,描述系统的静态结构③包图:是对类的分
5、组,描述系统的分解结构行为图④交互图:描述对象之间的消息传递,有:顺序图、合作图⑤状态图:描述类的对象的动态行为⑥活动图:描述系统完成某功能而执行的操作序列实现图⑦构件图:描述构成系统的构件及其关系⑧部署图:描述系统运行环境的硬件及网络的体系结构第十一章测试(重点)1.软件测试的目的和原则:(1)测试目的:测试是程序的执行过程,目的在于发现错误;一个好的测试用例在于能发现至今未发现的错误;一个成功的测试是发现了至今未发现的错误的测试。(2)设计测试的目标:是想以最少的时间和人力系统地找出软件中潜在的各种错误和缺陷。测试不能表明软件中不存在错误,它只能说明软件中存在错误。(3)软件测试的原则:
6、①应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。②测试用例应由测试输入数据和与之对应的预期输出结果这两部分组成。③程序员应避免检查自己的程序。④在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。⑤充分注意测试中的群集现象。⑥严格执行测试计划,排除测试的随意性。⑦应当对每一个测试结果做全面检查。⑧妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。2.测试过程:单元测试、组装测试、确认测试和系统测试。3.白盒测试和黑盒测试(重点):见书本。第十三章软件维护1.定义:即在软件运行∕维护阶段对软件产品所进行的修改。2.维护原因:1)使用条件下暴露出来的一些潜
7、在程序错误或设计缺陷;2)软件使用过程中数据环境发生变化或处理环境发生变化,需要修改软件以适应这种变化。3)用户和数据处理人员在使用时,会提出改进现有功能,增加新的功能,以及改善总体性能的要求,为满足这些要求,就需要修改软件把这些要求纳入到软件之中。3.提高可维护性的方法:1、建立明确的软件质量目标和优先级2、使用提高软件质量的技术和工具3、进行明确的质量保证审查4、选择可维护的程序设计语言5、改进程序的文档
此文档下载收益归作者所有