2.类图不能用于动态建模的有。用例模型的基本组成部件是用例、角和用例之间的联系。
3.数据流图的组成元素包括 数据的源点或终点,数据的处理,数据流和数据存储
数据字典的组成元素包括 数据流,数据流分量,数据存储和处理
4.技术可行性的主要内容:研究现有技术、资源及限制能否支持和实现系统的功能、性能,主要是技术风险问题。
5.软件测试的基本原则:所有的测试都应追溯到用户需求、应该在测试工作真正开始前的较长时间内就进行测试计划、Pareto 原则应用于软件测试、测试应从 " 小规模 " 开始,逐步转向 " 大规模 "穷举测试是不可能的、为了达到最佳效果,应该由独立的第三方来构造测试
6.模型元素有 关联 、聚合 、依赖
7.维护: 所谓软件维护就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。维护的过程:维护组织,维护报告。软件的可理解性,可测试性,可修改性,可
移植性和可重用性是决定软件可维护性的基本因素
8.软件复杂性度量: McCabe方法,Halstead方法。
9、软件的开发模型有 瀑布模型、快速原型模型,增量模型,螺旋模型,喷泉模型。
二、简答
1.软件产品的特性?
①软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性。②软件是通过人们的智力活动,把知识与技术转化成信息的一种产品,是在研制、开发中被创造出来的。③在软件的运行和使用期间,没有硬件那样的机械磨损、老化问题。④软件的开发和运行经常受到计算机系统的限制,对计算机系统有着不同程度的依赖性。
2.如何检查数据流图的正确性和提高它的易理解性?
可从以下几个角度来检查数据流图的正确性:数据守恒、文件的使用;父图和子图的平衡等;提高数据流图的易理解性可从以下几方面进行:简化加工间的联系、注意分解的均匀、
适当地命名等。
3.BROOKS定律?
定义:向一个已经延期的项目增加人力,只会使得它更加延期。
原因:1)当小组变得更大时,每个人需要用更多时间与组内其他成员讨论问题、协调工作,因此增加了通信开销。2)如果在开发过程中增加小组人员,则最初一段时间内项目组总生产率不仅不会提高反而会下降。这是因为新成员在开始时不仅不是生产力,而且在他们学习期间还需要花费小组其他成员的时间。
4.软件生命周期可分为哪三个时期?GB 8567中规定可分为哪几个阶段?
定义时期:问题的定义(客户需求)、可行性研究(为什么做);
运行时期:软件维护。
5、衡量模块独立性的两个标准是什么?它们各表示什么?
答案:模块独立程度可以由两个定性标准度量,这两个标准分别称为内聚和耦合。耦合衡量不同模块彼此间互相依赖(连接)的紧密程度;内聚衡量一个模块内部各个元素彼此间结合的紧密程度。在设计时应尽量做到高内聚低耦合,从而获得较高的模块独立性
6.为什么软件测试不应该由程序的编写人员来做?
软件测试的目的是为了发现程序中的错误而执行程序的过程。正确认识测试的目标是十分重要的,测试目标决定了测试方案的设计。如果为了表明程序是正确的而进行测试,就会设计一些不易暴露错误的测试方案;相反,如果测试是为了发现程序中的错误,就会力求设计出最能暴露错误的测试方案。由于测试的目标是暴露程序中的错误,从心理学角度看,由程序的编写者自己进行测试是不恰当的。
7.可行性分析的任务是什么?
可行性分析的任务至少应该从以下三方面的可行性进行研究。①技术上可行性:研究现有技术、资源及限制能否支持和实现系统的功能、性能,主要是技术风险问题。②经济上的可行
性:进行成本估算及效益评估,确定项目是否值得开发。③操作可行性:系统的操作方式在这个用户组织内行得通么?必要时还应该从法律、社会效益等更广泛的方面研究各种解法的可行性。
得分 | 评分人 |
8. 什么是软件工程?
概括的说,软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够做到的最好的技术方法结合起来。以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
9.什么是编码风格?为什么要强调编码风格?
编码风格又称程序设计风格或编程风格。编码的目标从强调效率转变为强调清晰。良好的编码风格能在一定程度上弥补语言存在的缺陷,而如果不注意风格就很难写出高质量的程序。
尤其当多个程序员合作编写一个很大的程序时,需要强凋良好而一致的编码风格,以便相互通讯,减少因不协调而引起的问题。总之,良好的编码风格有助于编写出可靠而又容易维护的程序,编码的风格在很大程度上决定着程序的质量。
10、详细设计的基本任务?有哪几种描述方法
答:详细设计即过程设计,通过对结构表示进行细化,得到软件详细的数据结构和算法,其基本目就是回答“详尽、精确地描述系统个模块的具体实现方法”。描述方法有:程序流程图、盒图、PAD图、判定表、判定树、jackson图、warnier图。
11、软件测试的两种基本测试方法
11、软件测试的两种基本测试方法
答:基本测试方法有黑盒试和白盒测试。黑盒测试法把程序看作一个黑盒子,完全不考虑程序的内部结构和处理过程。也就是说,黑盒测试是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据并产生正确的输出信息,程序运行过程中能否保持外部信息的完整性。黑盒测试又称为功能测试;白盒测试法把程序看成装在一个透明的白盒子里,测试者完全知道程序的结构和处理算法。这种方法按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否都能按预定要求正确工作。
白盒测试又称为结构测试
12、生命周期各阶段的基本任务是及软件测试流程描述方法
1)问题描述:问题定义阶段必须回答的关键问题是:“要解决的问题是什么?”
2)可行性研究:这个阶段要回答的关键问题是:“对于上一个阶段所确定的问题有行得通的解决办法吗?”
3)需求分析:准确确定“为了解决这个问题,目标系统必须做什么”,主要是确定目标系统必须具备哪些功能。描述方法:数据流图、数据字典
4)总体设计:这个阶段必须回答的关键问题是:“概括地说,应该怎样实现目标系统?”描述方法:系统流程图、层次图
5)详细设计:也称为模块设计,在这个阶段将详细地设计每个模块,确定实现模块功能所需要的算法和数据结构。描述方法:程序流程图、盒图
6)编码和单元测试:这个阶段的关键任务是写出正确的容易理解、容易维护的程序模块。
7)综合测试:这个阶段的关键任务是通过各种类型的测试使软件达到预定的要求。
三、分析与设计(每小题7分,共28分)
1. 确定软件生命周期模型。
关于向M公司副总写一份报告关于快速原型对公司的软件开发更加优越
答:瀑布模型的一条重要的指导思想是清楚地区分逻辑设计与物理设计,尽可能推迟程序的物理实现。最显著的特点是阶段间具有顺序性和依赖性,即必须等待前一阶段的工作完成之后,才能开始后一阶段的工作;前一阶段的输出文档就是后一阶段的输入文档。但在可行的软件产品交付给用户之前,了解用户只能通过文档来产品是什么样的。但是,仅仅通过写在纸上的静态的规格说明很难全面正确地认识动态的软件产品。
快速原型是快速建立起来的可以在计算机上运行的程序,它能完成的功能往往是最终产品能完成的功能的一个子集。快速原型模型的第一步是快速建立一个能反映用户主要需求的原型系统,让用户在计算机上适用它,通过实践来了解目标系统的概貌。通过原型开发人员可以快速获知用户的真正需求,可以加速软件开发过程,节约软件开发成本。
2. 绘制DFD图及数据流条目。
请描述绘制DFD图
画出银行取款过程DFD图,问题描述为储户用户存折取款,首先填写取款单,依据账卡中的信息,检验取款单与存折,若有问题反馈给储户,否则登陆储户存款数据库,修改相应数据并更新账卡,那时发出付款通知。
发布评论