回答下列问题:
1.软件生命周期由哪三个时期组成,每个时期又分哪几个阶段? 2.结构化的需求分析、设计过程都用到那些技术和方法? 3.测试阶段都需要哪些测试技术和方法? 4.测试和调试的目的是什么?
5.面向对象分析的三个模型是什么?三个模型之间的关系怎样? 6.软件与程序有何区别?
1、 概括地说,软件生命周期由软件定义、软件开发和运行维护三个时期组成,每个时期又可进一步划分成若干个阶段。
生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。 问题定义?
问题定义阶段必须回答的关键问题是:“要解决的问题是什么”。 可行性研究?
这个阶段要回答的关键问题是:“上一个阶段所确定的问题是否有行得通的解决办法”。
需求分析?
这个阶段的任务仍然不是具体地解决客户的问题,而是准确地回答“目标系统必须做什么”这个问题。
概要设计?
这个阶段的基本任务是,概括地回答“怎样实现目标系统?”这个问题。概要设计又称为初步设计、逻辑设计、高层设计或总体设计。?
详细设计?
概要设计阶段以比较抽象概括的方式提出了解决问题的办法。详细设计阶段的任务就是把解法具体化,也就是回答“应该怎样具体地实现这个系统”这个关键问题。这个阶段的任务还不是编写程序,而是设计出程序的详细规格说明。
编码和单元测试
这个阶段的关键任务是写出正确的容易理解、容易维护的程序模块。 综合测试?
这个阶段的关键任务是通过各种类型的测试(及相应的调试)使软件达到预定的要求。?
软件维护?
维护阶段的关键任务是,通过各种必要的维护活动使系统持久地满足用户的需要。?
通常有四类维护活动:改正性维护,也就是诊断和改正在使用过程中发现的软件错误;适应性维护,即修改软件以适应环境的变化。
2、传统的软件工程方法学采用结构化设计(Structured Design,SD)技术,完成软件设计工作,通常把软件设计工作划分为概要设计和详细设计这样两个阶段。 概要设计的主要任务是,通过仔细分析软件规格说明,适当地对软件进行功能分解,从而把软件划分为模块,并且设计出完成预定功能的模块结构。
详细设计阶段详细地设计每个模块,确定完成每个模块功能所需要的算法和数据结构。
3、 测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件中的错误。目前软件测试仍然是保证软件质量的关键步骤,它是对软件规格说明、设计和编码的最后复审。
?软件测试在软件生命周期中横跨两个阶段。通常在编写出每个模块之后就对它做必要的测试(称为单元测试),模块的编写者和测试者是同一个人,编码和单元测试属于软件生命周期的同一个阶段。
在这个阶段结束之后,对软件系统还应该进行各种综合测试,这是软件生命周期中的另一个独立的阶段,通常由专门的测试人员承担这项工作。 测试是为了发现程序中的错误而执行程序的过程;?
好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;? 成功的测试是发现了至今为止尚未发现的错误的测试。?
对于软件测试而言,黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程。黑盒测试又称为功能测试。与黑盒测试法相反,白盒测试法的前提是可以把程序看成装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程。
为了能设计出有效的测试方案,软件工程师必须充分理解并正确运用指导软件测试的基本准则。主要的测试准则如下所述。? · 所有的测试都应该能追溯到用户需求。
· 应该在测试开始之前的相当长时间,就制定出测试计划。
· 把Pareto原理应用于软件测试。Pareto原理告诉我们,测试发现的错误中的80%很可能是由程序中20%的模块造成的。
· 测试应该从“小规模”开始,并逐步进行“大规模”测试。 · 穷举测试是不可能的。
· 为了达到最佳的测试效果,应该由独立的第三方来从事测试工作。
4、 测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件中的错误。仅就测试而言,它的目标是发现软件中的错误,但是,发现错误并不是我们的最终目的。软件工程的根本目标是开发出高质量的完全符合用户需要的软件,因此,通过测试发现错误之后还必须诊断并改正错误,这就是调试的目的。
5、 面向对象分析(通常缩写为OOA)的关键,是识别出问题域内的对象,并分析它们相互间的关系,最终建立起问题域的简洁、精确、可理解的正确模型。 面向对象建模得到的模型包含系统的三个要素,即静态结构(对象模型),交互次序(动态模型)和数据变换(功能模型)。解决的问题不同,这三个子模型的重要程度也不同:几乎解决任何一个问题,都需要从客观世界实体及实体间
相互关系抽象出极有价值的对象模型;当问题涉及交互作用和时序时(例如,用户界面及过程控制等),动态模型是重要的。解决运算量很大的问题(例如,高级语言编译、科学与工程计算等),则涉及重要的功能模型。动态模型和功能模型中都包含了对象模型中的操作(即服务或方法)。复杂问题(大型系统)的对象模型由下述五个层次组成:主题层(也称为范畴层)、类—&—对象层、结构层、属性层和服务层。 综上所述,我们在概念上可以认为,面向对象分析大体上按照下列顺序进行:寻找类—&—对象,识别结构,识别主题,定义属性,建立动态模型,建立功能模型,定义服务。 6、
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库软件工程作业在线全文阅读。
相关推荐: