36、概要设计主要是把各项功能需求转换成系统的体系结构。 37、详细设计的任务是确定每个模块的内部特性,即模块的数据结构 和算法。
38、结构化程序设计方法提倡开发人员的组织形式是主程序员组。 40、类具有操作,它是对象行为 的抽象。 41、产品管理包括版本管理和配置管理。
42、集成测试中的具体方法是渐增式和非渐增式测试方法。 43、增量模型适合软件需求不明确、设计方案有一定风险的软件项目。 45、可行性研究实质上是要在较高层次上以较抽象的方式进行需求分析和设计的过程。
46、衡量模块独立性的两个定性标准是耦合性与内聚性。 47、Jackson方法是一种面向数据结构的设计方法。 49、继承性是子类自动共享其父类的数据结构和方法机制。 50、在面向对象方法中,人们常用状态图描述类中对象的动态行为。 51、规定功能的软件,在一定程度上能从错误状态自动恢复到正常状态,则称该软件为容错软件。
52.软件工程包括3个要素,即方法、工具、过程。
53.软件生存周期是指一个软件从提出开发要求开始直到该软件报废不止的整个时期。通常,软件生存周期包括问题定义、可行性研究,需求分析,总体设计, 详细设计 ,_编码_,测试,维护活动,可以将这些活动以适当方式分配到不同阶段去完成
54.数据流图中的箭头表数据。软件结构图中的箭头方向表模块调用。
16
55.可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。
56.数据流图仅反映系统必须完成的逻辑功能,它是一种功能模型。 三、简答题
1、什么是软件工程?它目标和内容是什么?
软件工程就是用科学的知识和技术原理来定义,开发,维护软件的一门学科。软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。 软件工程内容:包括开发技术和开发管理两个方面。
2、软件开发中有哪几种过程模型?哪些适用面向对象的软件开发? 软件开发中常见的软件过程模型有瀑布模型、原型模型、螺旋模型、喷泉模型、统一软件过程等。其中喷泉模型、统一软件过程适用于面向对象的软件开发。
4、什么是软件概要设计?该阶段的基本任务是什么?
把一个软件需求转换为软件表示时,首先设计出软件总的体系结构。
称为概要设计或结构设计。
基本任务:⑴设计软件系统结构⑵进行数据结构及数据库的设计⑶编写概要设计的文档 ⑷评审
6、软件测试要经过哪些步骤?这些测试与软件开发各阶段之间有什么关系?(答案不是很好,书本上的V模型,画出V模型)
软件测试要经过的步骤是:单元测试→集成测试→确认测试→系统测
17
试。单元测试对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。该阶段涉及编码和详细设计文档。集成测试是为了检查与设计相关的软件体系结构的有关问题,也就是检查概要设计是否合理有效。确认测试主要是检查已实现的软件是否满足需求规格说明书中确定了的各种需求。系统测试是把已确认的软件与其他系统元素(如硬件、其他支持软件、数据、人工等)结合在一起进行测试。以确定软件是否可以支付使用。
7、什么是软件生存周期?它有哪几个活动?
软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。
8、衡量模块独立性的两个标准是什么?各表示什么含义? 内聚和耦合。 内聚:又称为块内联系,指模块内部各成分之间相互关联的程度,以高内聚为设计目标。耦合:也称块间联系,模块之间相互联系程度的度量,联系越紧密,耦合性越强,独立性越差,以低耦合为设计目标。
10、什么是需求分析?需求分析阶段的基本任务是什么?
需求分析:开发人员准确地理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的需求规格说明的过程。基本任务:⑴问题识别⑵分析与综合,导出软件的逻辑模型⑶编写文档
18
12、单元测试有哪些内容?单元测试主要针对模块的以下五个基本特征进行测试:(1)模块接口 (2)局部数据结构 (3)重要的执行路径(4)错误处理(5)边界条件
14、软件设计的基本原理包括哪些内容?⑴模块化:模块是软件的组成部分,是具有独立功能且可命名的一段程序,所有模块组成整体,可以满足问题的要求。⑵抽象:认识复杂现象过程所使用权的工具,只考虑事物本质的共同特性,忽略细节和其它因素。通过抽象确定组成软件的过程实体。 ⑶信息隐蔽:将模块实现自身功能的细节与数据\隐蔽\起来。模块间仅交换为完成系统功能所必须的信息。⑷模块独立性:每个模块只完成系统要求的独立的子功能。 21、说明面向对象的特征?(答案错误,自己去整理答案) 面向对象的特征是:(1)对象唯一性。每个对象都有自身唯一的标识,在对象生存期中,其标识不变,不同的对象不能有不同的标识。 (2)分类性。是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类 (3)继承性。是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。 (4)多态性。是指相同的操作或函数过程可以作用于多种类型的对象上并获得不同的结果。
24、简述黑盒测试和白盒测试有何区别,黑盒测试有哪些常用方法? 黑盒测试和白盒测试的区别:前者基于功能,后者基于结构;黑盒测试常用方法有:边界值、等价类、因果图、错误推测法等。 26、CMM全称是什么?分为哪几个级别? CMM全称是软件能力成熟
度模型;从无序到有序的进化分成5个级别,分别为:1 初始级;
19
2 可重复级;3 已定义级;4 已管理级;5 优化级。 28、软件生命周期划分为哪几个阶段?
软件生命周期分为三个时期八个阶段:软件定义:问题定义、可行性研究;软件开发:需求分析、概要设计、详细设计、编码、测试;软件运行:软件维护 四、应用题
1.某培训中心要研制一个计算机管理系统。它的业务是:将学员发来的信件收集分类后,按几种不同的情况处理。1)如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。2)如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。3)如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。要求:1)对以上问题画出数据流程图。2)画出该培训管理的软件结构图。 解答:(1)数据流图
20