软件工程导论复习 精

发布 2022-01-11 23:09:28 阅读 5810

第一章,软件工程导论。

一、软件工程是指导计算机软件开发和维护的一门工程学科。

二、件工程的七条基本原则:

1. 用分阶段的生命周期计划严格管理。

2. 坚持进行阶段评审。

3. 实行严格的产品控制。

4. 采用现代程序设计技术。

5. 结果应能清楚地审查。

6. 开发小组的人员应该少而精。

7. 承认不断改进软件工程实践的必要性。

三、软件工程方法学包含3个要素:方法、工具和过程。

方法是完成软件开发的各项任务的技术方法,回答“怎样做”的问题;工具是为运用方法而提供的自动的或半自动的软件工程支撑环境;过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。

四、软件一程方法学:传统方法学、面向对象方法学。

五、软件生命周期:软件定义、软件开发和运行维护(也称。

为软件维护3个时期组成。

1软件定义主要任务:问题定义、可行性研究和需求分析2开发时期主要任务:总体设计,详细设计,编码和单元测试,综合测试。

3维护时期主要任务:通过各种维护性活动使系统持久地。

满足用户的需求,通常有四类维护:改正性维护,也就是诊断和改正在使用过程中发现的软件错误;适应性维护,即修改软件以适应环境的变化;完善性维护,即根据用户的需求改进若扩充软件使它更完善;预防性维护,即修改软件,为将来的维护活动预先做准备。

/①问题定义阶段必须回答的关键问题是:“要解决的问题是什么?”②可行性研究~:

对于上一个阶段所确定的问题有行得能的解决办法吗?③需求分析:确定目标系统必须具备哪些工能④总体设计:

概括地说,应该怎样实现目标系统?

详细设计:应该怎样具体地实现这个系统呢?⑥编码和单元测试:

写出正确的容易理解、容易维护的程序模块⑦综合测试:通过各种类型测(及相应的调试使软件达到预定的要求,最基本的测试是集成测试和验收测试,集成测试是根据设计的软件结构,把经过单元测试检验的模块按某种选定的策略装配起来,在装配过程中对程序进行必要的测试;验收测试则是按照规格说明的规定,由用户对目标系统验收。

六、软件过程的各种模型:瀑布模型、快速原型模型。

增量模型、螺旋模型、喷泉模型。

第二章可行性研究。

一、可行性研究的任务。

分析几种主要的可能解法的利弊,从而判断原定的系统规模和目标是否现实,系统完成后所能带来的效益是否大到值得。

投资开发这个系统的程度。

二、可行性。

1 技术可行性使用现有的技术能实现这个系统吗?

2 经济可行性这个系统的经济效益能超过它的开发成本吗?(3 操作可行性系统的操作方式在这个用户组织内行得通吗?

三、可行性研究过程。

1. 复查系统规模和目标、

2. 研究目前正在使用的系统。

3. 导出新系统的高层逻辑模型、

4. 进一步定义问题。

5. 导出和评价供选择的解法、

6. 推荐行动方针。

7. 草拟开发计划、8. 书写文档提交审查。

四、系统流程图:是概括地描绘物理系统的传统工具。

数据流图:描绘信息流和数据从输入移动到输出的过程中所经受的变换。数据流图是系统逻辑功能的图形表示。

数据字典:数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。

一般说来,数据字典应该由对下列3类元素的定义组成:

1 数据流。

2 数据流分量(即数据元素。

3 数据存储。

第3章需求分析。

一、需求分析的任务还不是确定系统怎样完成它的工作,而。

仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。

二、3.1.1 确定对系统的综合要求。

1. 功能需求、

2. 性能需求、

3. 可靠性和可用性需求。

4. 出错处理需求、

5. 接口需求、

6. 约束。

7. 逆向需求、8. 将来可能提出的要求。

三、3.1.2 分析系统的数据要求。

分析系统的数据要求通常采用建立数据模型的方法。

3.1.3导出系统的逻辑模型。

综合上述两项分析的结果可以导出系统的详细的逻辑模型,通常用数据流图、实体-联系图、状态转换图、数据字典和主要的处理算法描述这个逻辑模型。

四、获取需求的方法。

3.2.1 访谈。

3.2.2 面向数据流自顶向下求精。

3.2.3 简易的应用规格说明技术。

3.2.4 快速建立软件原型。

五、3.3.1 分析建模。

需求分析过程应该建立3种模型,它们分别是数据模型、功能模型和行为模型。

3.4节将介绍的实体-联系图,描绘数据对象及数据对象之间。

的关系,是用于建立数据模型的图形。

2.4节讲过的数据流图,描绘当数据在软件系统中移动时被变换的逻辑过程,指明系统具有的变换数据的功能,因此,数据流图是建立功能模型的基础。

3.6节将介绍的状态转换图(简称为状态图,指明了作为外部事件结果的系统行为。为此,状态转换图描绘了系统的各种行为模式(称为“状态”和在不同状态间转换的方式。

状态转换图是行为建模的基础。

3.4 实体-联系图(数据对象、属性、联系。

3.6 状态转换图(状态、事件、符号。

3.7 其他图形工具、3.7.1 层次方框图。

3.7.2 warnier图、3.7.3 ipo图。

六、验证软件需求。

1 一致性所有需求必须是一致的,任何一条需求不能和其他需求互相矛盾。

2 完整性需求必须是完整的,规格说明书应该包括用户需要的每一个功能或性能。

3 现实性指定的需求应该是用现有的硬件技术和软件技术基本上可以实现的。对硬件技术的进步可以做些**,对软件技术的进步则很难做出**,只能从现有技术水平出发判断需求的现实性。

4 有效性必须证明需求是正确有效的,确实能解决用户面。

对的问题。第4章形式化说明技术。

有穷状态机、petri网、z语言。

第5章总体设计。

划分出组成系统的物理元素(黑盒子级——程序、文件、数据库、人工过程和文档等。

2、设计软件的结构。

1、确定系统中每个程序是由哪些模块组成。

2、这些模块相互间的关系。

二、设计过程。

设想供选择的方案、选取合理的方案、推荐最佳方案。

功能分解、设计软件结构、设计数据库。

制定测试计划、书写文档、审查和复审。

三、设计原理:模块化、抽象、逐步求精信息隐藏和局部化、模块独立。

四、模块独立性的度量:

两个定性标准度量:内聚和耦合。

耦合:模块间互相依赖(连接的紧密程度。

内聚:模块内部各个元素彼此结合的紧密程度。

五、耦合。数据耦合(data coupling、特征耦合。

控制耦合(control coupling

公共环境耦合(common coupling

内容耦合(content coupling

六、设计原则。

耦合是影响软件复杂程度的一个重要因素。

尽量使用数据耦合、少用控制耦合和特征耦合。

限制公共环境耦合的范围、完全不用内容耦合。

七、模块内聚。

八、设计原则,如果给上述7种内聚的优劣评分,将得到如下结果:

功能内聚10分顺序内聚9分。

通信内聚7分过程内聚5分。

时间内聚3分逻辑内聚1分。

偶然内聚0分。

力争做到高内聚、识别提高低内聚的模块。

九、启发规则:

1.改进软件结构提高模块独立性。

2. 模块规模应该适中。

3. 深度、宽度、扇出和扇入都应适当。

4. 模块的作用域应该在控制域之内。

5.力争降低模块接口的复杂程度。

6. 设计单入口单出口的模块。

7. 模块功能应该可以**。

十、描绘软件结构的图形工具。

层次图hipo图结构图。

面向数据流的设计方法:信息流的类型:变换流、事务流。

分析步骤:第1步复查基本系统模型、第2步复查并精化数据流图。

第3步确定数据流图具有变换特性还是事务特性。

第4步确定输入流和输出流的边界,从而孤立出变换中心。第5步完成“第一级分解”。变换型数据流图被映射成一个输入、变换和输出的信息处理过程。

第6步完成“第二级分解”。把数据流图中的每个处理映射成软件结构中一个适当的模块。

第7步使用设计度量和启发式规则对第一次分割得到的软件结构进一步精化。

第6章详细设计。

目标:系统的具体实现。

n应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。

结构程序设计的经典定义如下所述:“如果一个程序的。

**块仅仅通过顺序、选择和循环这3种基本控制结构。

进行连接,并且每个**块只有一个入口和一个出口,则称这个程序是结构化的。”

如果只允许使用顺序、if-then-else型分支和。

do-while型循环这3种基本控制结构,则称为经典。

的结构程序设计;

如果除了上述3种基本控制结构之外,还允许使用。

do-case型多分支结构和do-until型循环结构,则称为扩展的结构程序设计;

如果再加上允许使用lea ve(或break结构,则称为。

修正的结构程序设计。

人机界面设计: 1. 系统响应时间、2. 用户帮助设施。

3. 出错信息处理、

4. 命令交互。

过程设计的工具:

程序流程图、盒图(n-s图、pad图、判定表。

判定树、过程设计语言。

面向数据结构的设计方法:

jackson方法和warnier方法是最著名的两个面向数据。

结构的设计方法。

使用面向数据结构的设计方法,当然首先需要分析确定。

数据结构,并且用适当的工具清晰地描绘数据结构。

jackson方法:(1 分析并确定输入数据和输出数据的逻。

辑结构,并用jackson图描绘这些数据结构。

2 找出输入数据结构和输出数据结构中有对应关系的。

数据单元。所谓有对应关系是指有直接的因果关系,在程序中可以同时处理的数据单元(对于重复出现的数据。

单元必须重复的次序和次数都相同才可能有对应关。

系。3 用下述3条规则从描绘数据结构的jackson图导出。

描绘程序结构的jackson图:第一,为每对有对应关系的数据单元,按照它们在数据结构图中的层次在程序结构图的相应层次画一个处理框(注意,如果这对数据单。

元在输入数据结构和输出数据结构中所处的层次不同,则和它们对应的处理框在程序结构图中所处的层次与。

它们之中在数据结构图中层次低的那个对应;

第二,根据输入数据结构中剩余的每个数据单元所处的。

层次,在程序结构图的相应层次分别为它们画上对应的处理框;

第三,根据输出数据结构中剩余的每个数据单元所处的。

层次,在程序结构图的相应层次分别为它们画上对应的处理框。

在导出程序结构图的过程中,由于改进的jackson图规。

定在构成顺序结构的元素中不能有重复出现或选择出。

现的元素,因此可能需要增加中间层次的处理框。

4 列出所有操作和条件(包括分支条件和循环结束条。

软件工程导论期末复习

一 填空题。1.软件生存周期一般可分为 问题定义 可行性研究 需求分析 设计编码 测试 运行与维护阶段。2.按软件的功能进行划分,软件可以划分为系统软件支撑软件和应用软件。3.可行性研究主要集中在以下四个方面经济可行性技术可行性法律可行性和抉择。4.用户界面的可使用性是用户界面设计最重要的也是最基本...

软件工程导论复习解答

一 选择题。1 软件重用的单位是 a a 软件模块b 功能。c 系统d 语句。2 软件生存周期借用了 d 中产品生存周期的概念。a 计算机科学b 需求。c 数学d 工程。3 项目开发计划是 d 文档。a 技术性b 管理性。c 设计d 需求分析。4 在结构化分析 sa 中,c 与数据流图共同构成了系统...

软件工程导论期末复习

第一章软件工程概述。一 重点掌握的内容 软件和软件工程的基本概念。二 一般掌握内容 软件生存周期及软件开发的各种模型。三 主要知识点 软件 软件定义由以下三部分组成 1 在运行中能提供所希望的功能和性能的指令集 即程序 2 使程序能够正确运行的数据结构 3 描述程序研制过程 方法所用的文挡。软件是一...