《软件工程》复习资料

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1,什么是软件,软件的性质

软件是完成某类问题求解的程序和数据以及为维护程序必须提供的一系列文档组成的集合。软件=程序+数据+文档。

软件的内在性质是:软件具有高度的抽象性和严密的逻辑性。

软件的外在性质是:软件是一种逻辑信息产品,是用文字、符号表达的智力产物。

2,什么是工程化工程化的软件开发方法与早期的程序设计方法的不同点在哪里将成熟工程领域的方法应用于软件开发。工程化的方法包括如下四个方面:⑴.具有相应的理论与技术⑵.具备实现工程化的工具和环境

⑶.具备统一的工程规范⑷.管理和控制

3,软件工程研究的内容

软件项目的管理

软件工程的知识体系包括如下内容

过程:软件开发的步骤。方法:软件开发各步骤所用到的技术。管理:控制软件开发按照过程和方法顺利完成的技术和措施。工具:辅助人们贯彻过程和方法,并实施管理

1,可行性分析包含哪些内容,它们的含义是什么

答:⑴.经济上可行性:论证系统有没有经济效益或社会效益多长时间能回收成本⑵.技术上可行性:实现新系统需要哪些技术,现有技术能否解决,难点建议采用的技术先进程度怎样新技术的应用是否存在风险是否能够找到胜任该系统的熟练的技术人员等等

⑶.操作上可行性:系统的操作方式在用户所在的组织内是否可行,特别是对原有

系统扩展会不会引起矛盾。⑷.法律上可行性:会不会引起侵权、会不会引起其他的社会问题。

2,下列哪些工作中需要估算软件成本

I)软件可行性研究II)软件计划III)软件需求分析IV)软件运行和维护

1,结构化分析方法的三种描述手段

数据流图,掌握数据流图中的基本符号,大题要求给出一个需求能够画出多层数据流图

数据字典

加工说明的三种描述工具是:结构化语言、判定树和判定表来表示

2,结构化方法的特点:自顶向下,逐层分解,抽象和分解

3,用户需求:

•某学校需要开发一套基于Web的研究生招生管理系统,用户需求如下:–考生可以登录系统提交报名信息,报名信息经过格式确认存入数据库;信息提交成功后能够网上在线支付报名费并记录交费信息;交费

成功的考生可以打印报名表。

–各院系教务员能够查看和审核考生提交的报名信息,确定信息是否准确有效,最后给出审核是否通过的标志。教务员还能够打印报名考生

清单。

–招生办公室管理员能够查询有效的报名考生信息和打印统计报表;能够生成报名考生数据文件上报到上级单位(教育部)。

题目要求:

•请用SA方法对它进行分析,画出分层数据流图。(只要求数据流图,不要求

报名信息库

数据字典和加工说明)

•顶层数据流图

1,面向数据流的软件设计方法,一般将数据流图分成两种类型,一种称为________,另一种称为________。变换型,事务型-----大题,变换型转换成软件结构图

2,简述结构设计的任务

•答:

–制定规范

–软件结构的设计

–数据结构的设计及接口设计

–系统性能设计

–软件质量的设计

–设计文档的编写

–设计的审查和复审

3,什么叫做耦合,耦合有哪几种类型,几种类型间的耦合强弱关系

4,什么叫做内聚,内聚有哪几种类型,类型间的内聚强弱关系

5,耦合、内聚与模块独立性的关系

(1)内聚是指模块内部各软件元素之间结合的紧密程度

(2)耦合是度量一个软件结构中模块与模块之间联系程度强弱的一个指标

(3)内聚程度越高模块独立性越强,耦合程度越低模块独立性越强。

1,继承的概念,理解泛化关系与聚集关系的概念

2,UML统一建模语言,用例图

什么是UML

•答:UML是Unified Modeling Language统一建模语言的缩写,统一建模语言是软件系统建模的表示工具。

•本题考核UML基本概念。UML和C语言、Java语言等不同,它不是程序设计语言,而是用面向对象方法对系统进行分析设计的表示工具,类似与数据流图和软件结构图。

--3,简答题:什么是对象什么是面向对象

•答:

•对象是各种客观实体的抽象,是由一组属性和对这组属性进行操作的一组服务结合在一起所构成的独立实体。

•面向对象就是运用对象、类、继承、封装、消息、结构与连接等面向对象的概念对问题进行分析、求解的系统开发技术,

1,详细设计的任务

•详细设计工具(程序流程图与盒图【的转换】(简答题),PAD图之间的转化)

•了解程序复杂性度量的McCabe方法,了解环域复杂性的概念

大题综合题:求一组数的最大数的算法。请为上述算法画程序流程图,并分别转换成NS图,最后计算算法的环域复杂度。

2,简答题:详细设计的任务包括哪些

3,简答题:程序复杂性度量的方法有哪些那种方法是利用环域复杂度计算程序复杂性的。

语句行度量方法

McCabe方法

Halsead方法

1,程序设计语言的三个特性分别是________,________,________。

•答:工程特性,技术特性,心理特性。

理解每种特性的含义,尤其是心理特性。

2,选择程序设计语言的最关键因素是软件项目的应用领域。

--1,白盒测试技术的基本原理是什么构造白盒测试的测试用例有哪几种方法•答:允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。

•构造测试用例有逻辑覆盖法和基本路径测试法。

2,黑盒测试

黑盒测试技术,不考虑软件内部结构,而是以软件需求规格说明书为根据来设计测试用

相关文档
最新文档