软件工程复习资料(自己).doc
《软件工程复习资料(自己).doc》由会员分享,可在线阅读,更多相关《软件工程复习资料(自己).doc(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Ch1 软件工程学概述软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。它包含两个方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。什么是软件工程:是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护他。软件生命周期的8个阶段及其任务1、问题定义:回答“要解决的问题是什么?”通过对客户的访问调查,系统分析员扼要地写出关于问题性质、工程目标和工程规模的书面报告,经过讨论和必要的修改之后这份报告
2、应该得到客户的确认;2、可行性研究:回答“对于上一阶段所确定的问题有行得通的办法吗?”任务是研究问题的范围,搜索这个问题是否值得去解,是否有可行的解决方法;3、需求分析:确定“为了解决这个问题,目标系统必须做什么”,主要是确定目标系统必须具备哪些功能。任务有用正式文档准确记录对目标系统的需求(规格说明书);4、总体设计(概要设计):回答“概括的说,应该怎样实现目标系统?”解决问题的策略及目标系统中应包含的程序,和确定程序由哪些模块组成以及模块间的关系;5、详细设计(模块设计):把解法具体化,设计出程序的详细规格说明,回答“应该怎样具体地实现这个系统”;6、编码和单元测试:任务是写出正确的容易理
3、解、容易维护的程序模块;7、综合测试:任务是通过各种类型的测试(及相应的调试)使软件达到预定的要求;8、软件维护:任务是通过各种必要的维护活动使系统持久地满足用户的需要。有四类维护活动:改正性维护,适应性维护,完善性维护,预防性维护。软件过程模型瀑布模型、快速原型、螺旋模型(比较三者的优缺点)瀑布模型:优点是可强迫开发人员采用规范的方法,严格地规定了每个阶段必须提交的文档,要求每个阶段交出的所有产品都必须经过质量保证小组的仔细检查;缺点是由文档驱动。快速原型:优点是有助于保证用户的真实需要得到满足。螺旋模型:优点是对可选方案和约束条件的强调有利于已有软件的重用,减少了过多测试或测试不足所带来的
4、风险,维护只是模型的另一个周期,在维护和开发之间并没有本质的区别;缺点是它靠风险驱动。面向对象软件开发采用的喷泉模型Ch2 可行性分析可行性分析的三个方面技术可行性经济可行性操作可行性数据流图的四种成分1、符号:4种基本符号:正方形(或立方体)表示数据的源点或终点;圆角矩形(或圆形)代表变换数据的处理;开口矩形(或两条平行横线)代表数据存储;箭头表示数据流;2、例子;3、命名:(1)为数据流(或数据存储)命名;(2)为处理命名;4、用途:利用它作为交流信息的工具,作为分析和设计的工具。可行性研究报告的内容Ch3 需求分析需求分析的任务1、确定对系统的综合要求:功能需求,性能需求,可靠性和可用性
5、需求,出错处理需求,接口需求,约束,逆向需求,将来可能提出的要求;2、分析系统的数据要求;3、导出系统的逻辑模型;4、修正系统开发计划。需求规格说明书:通常用自然语言完整、准确、具体地描述系统的数据要求、功能需求、性能需求、可靠性和可用性需求、出错处理需求、接口需求、约束、逆向需求、将来可能提出的要求。Ch5 总体设计总体设计:也称为概要设计或者是初步设计设计原理模块化、抽象、逐步求精、模块独立(耦合和内聚)模块化:把程序划分为独立命名且可独立访问的模块。每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。逐步求精:为了能集中精力解决主要问题而尽量推迟对问
6、题细节的考虑。模块独立:是模块化、抽象、信息隐藏和局部化概念的直接结果。由两个定性标准度量:耦合衡量不同模块彼此间互相依赖(连接)的紧密程度;内聚衡量一个模块内部各个元素彼此结合的紧密程度。耦合、内聚的种类耦合:(由低到高)数据耦合、控制耦合、特征耦合、公共环境耦合、内容耦合;设计原则为尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合的范围,完成不用内容耦合;内聚:(由弱到强)低内聚分为偶然内聚、逻辑内聚、时间内聚;中内聚分为过程内聚、通信内聚;高内聚分为顺序内聚、功能内聚信息流的类型变换流和事务流交换流:信息沿输入通路进入系统,同时由外部形式变换成内部形式,进入系统的信息通过变换中
7、心,经加工处理以后再沿输出通路变换成外部形式离开软件系统。事务流:数据沿输入通路到达一个处理T,这个处理根据输入数据的类型在若干个动作序列中选出一个来执行。处理T为事务中心,它完成任务为:(1)接受输入数据(事务),(2)分析每个事务以确定它的类型,(3)根据事务类型选取一条活动通路。Ch6 详细设计结构化程序设计如果只允许使用顺序、IF-THEN-ELSE型分支和DO-WHILE型循环这3种基本控制结构,则称为经典的结果程序设计;如果除了上述3种基本控制结构之外,还允许使用DO-CASE型多支结构和DO-UNTIL型循环结构,则称为扩展的结构程序设计;如果再允许使用LEAVE(或BREAK)
8、结构,则称为修正的结构程序设计。过程设计工具(图形、图表和语言)程序流程图盒图(N-S图)PAD图(问题分析图)判定树、判定表PDL(过程设计语言)Ch7 实现软件测试的目标:为了发现程序中的错误。测试步骤单元测试(模块测试)、集成测试(系统测试)、确认测试(验收测试)、平行运行测试方法白盒(结构测试)黑盒(功能测试)白盒测试技术逻辑覆盖(语句、条件、判定、判定/条件、条件组合、路径)黑盒测试技术等价类划分边界值分析错误推测Ch8 维护什么是软件维护:就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。软件维护活动的分类:四类:为了纠正在使用过程中暴露出来的错误而进行的改正
9、性维护,为了适应外部环境的变化而进行的适应性维护,为了改进原有的软件而进行的完善性维护,为了改进将来的可维护性和可靠性而进行的预防性维护。文档分类(用户文档和系统文档)及作用 文档分为两类:用户文档和系统文档;用户文档主要描述系统功能和使用方法;系统文档描述系统设计、实现和测试等各方面的内容。软件可靠性的概念Ch9 面向对象方法学基本概念对象、类、实例、消息、方法、属性、封装、继承、多态、重载、对象:是由描述该对象属性的数据以及可以对这些数据施加的所有操作封装在一起构成的统一体。类:是对具有相同属性和行为的一个或者多个对象的描述,通常这个描述也包括对怎样创建该类的新对象的说明。实例:是由某个特
10、定的类所描述的一个具体的对象。消息:是要求某个对象执行在定义它的那个类中所定义的某个操作的规格说明。通常一个消息由3部分组成:接收消息的对象,消息选择符(消息名),零个或多个变元。方法:是对象所能执行的操作,也就是类中所定义的服务。在c+语言中把方法称为成员函数。属性:是类中所定义的数据,它是对客观世界实体所具有的性质的抽象。在c+语言中把属性称为数据成员。封装:是信息隐藏,通过封装对外界隐藏了对象的实现细节。继承:是子类自动地共享基类中定义的数据和方法的机制。多态性:是指子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象。在c+语言中,多态性是通过虚函数来实现
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 复习资料 自己
限制150内