软件工程-期末复习提纲完美版
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程-期末复习提纲完美版
《软件工程》复习提纲
1 软件与软件工程
1.1软件的基本概念(例如,软件的定义、文档、软件的特点等)
简单地说,软件由程序和文档两部分组成,一是机器可以执行的程序及有关的数据,二是机器不能执行的文档,软件的两种普遍定义:
①软件是与计算机系统操作有关的程序,规程、规则及任何与之相关的文档和数据。
②软件是程序以及开发,使用和维护程序所需要的文档,包括机器运行所需要的各种程序及有关资料。
程序:为了解决某一问题而按事先设计的功能和性能要求执行的指令系列,或者说,用程序设计语言描述的适合于计算机处理的语句序列。
数据:使程序能正常操纵信息的数据结构。
文档:描述程序、数据和系统开发以及使用的各种图文资料。它具有永久性并能供人或机器阅读。
软件的基本特点:
·①计算机软件产品是一种逻辑产品部件而不是物理产品部件。
·②软件产品的生产主要是研制,是通过人们的智力活动,把知识与技术转化成信息的一种产品。
·③软件具有“复杂性”,其开发和运行常受到计算机系统的限制。而且,软件投入使用后,仍需要进行维护,这就带来软件维护复杂性的问题。
1.4软件工程学的原理、原则
①软件工程的基本原则
抽象(abstractian)
模块化(modularity)
信息隐蔽(information hiding )
(localization)
一致性(consistency)
完备性(completeness)
可验证性(verifiability)
②软件工程的基本原理【可以考虑以下的7条】:用分阶段的生命周期计划严格管理;
坚持进行阶段评审;
实行严格的产品控制;
采用现代软件开发技术;
结果应该能审查 ;
开发小组的人员应该少而精;
承认不断改进软件工程实践的必要性。
1.5软件工程的基本(主要)目标【多目标特性】
付出较低的开发成本;
达到要求的软件功能;
取得较好的软件性能;
开发的软件易于移植;
需要较低的维护费用;
能按时完成开发工作,及时交付使用。
1.6软件开发模型概念(常用的几种)
软件生命期的概念:指软件产品从形成概念(构思)开始,经过定义、开发、使用和维护,直到最后被废弃为止的全过程。按照传统的软件生命周期方法学,可以把软件生命期划分为软件定义、软件开发、软件运行与维护3个阶段。
软件过程模型的基本概念:
它是从某一个特定角度提出的软件过程的简化描述,模型的主要特点是简单化。软件过程是制作软件产品的一组活动以及结果,这些活动主要由软件人员来完成。通常包括以下4类基本过程:
1. 软件规格说明(软件描述):规定软件的功能及其运行环境(使用的限制)。
2. 软件开发:也就是软件的设计和实现,软件工程人员制作产生满足规格说明的软件。
3. 软件确认(有效性验证):软件必须经过严格的验证,以保证能够满足客户的需求;
4. 软件演进(进化):软件随着客户需求的变化不断地改进。
①瀑布模型
瀑布模型(waterfall model)描述了软件生命的一些基本过程活动,所以它称为软件生命周期模型。这些活动从一个阶段到另一个阶段逐次下降,它的工作流程形式上又很像瀑布,人们更多的把它称为瀑布模型,该模型如图所示。
②原型模型
原型模型(prototype model)又称快速原型。由于瀑布型的缺点,人们借鉴建筑师或是工厂中的工程师建造原型的经验,提出了原型模型。该模型如图所示。
③螺旋模型
螺旋模型(spiral model)是在快速原型的基础上扩展而成,也有人把螺旋模型归到快速原型,实际上,它是生命周期模型与原型模型的一个结合,该模型如图所示。
④构件组装模型
事实上,在许多的软件项目中,都存在一些重用软件,当软件人员意识到某一个项目中的设计或者代码是另一个项目重复出现时,重用就自然地发生了,构件也正是
基于这一思想而产生的。构件的重用又导致软件的可靠性和易维护性,程序在进行修改时产生较少的副作用。近几年来,以组件为基础的软件工程方法出现了,基于构件组装的软件过程模型也随之产生,并且逐渐地被广泛使用,该模型如图所示。
⑤基于面向对象的模型
自从面向对象技术问世后,很快被人们所接受,并得到广泛的应用。面向对象技术确实有很多的优点,其中构件重用是非常重要的技术之一。对象技术强调了类的创建与封装,一旦一个类创建与封装成功,就可以在不同的应用系统重用。
对象技术为基于构件的软件过程模型提供了更强的技术框架,基于面向对象的模型,是综合了面向对象和原型方法以及重用技术的一种模型。该模型如图所示。
⑥基于四代技术的模型
四代语言(4GL)是在大型数据库管理系统的基础上发展起来的程序设计语言。
4GL目前还没有统一的定义,它的描述定义:
·用于快速开发应用软件的高产工具(重点强调了提高软件开发的生产率)。
·用于快速事务处理系统的高产工具(突出了主要应用领域)。
主要特征描述:
(1)它是非过程化的语言,目的在于高效,直接地实现各种应用系统。在完成了常见的功能时,它却完全不用编程的方式来构造应用系统。例如,菜单生成器、报表生成器、屏幕生成器、图形软件包等等。程序员可以不再使用通常编程的方法、算法等来完成某一个功能,而是利用一些生成器,在屏幕上以对话的交互方式;通过填表或操作屏幕上的窗口、按钮图标;或者在某一个
按钮定义时加上适当的一段程序等等。从而,构造用户需要的应用系统生成器自动生成源程序。
(2)它与数据库的关系密切,能够对大型数据库进行高效处理。它被广泛地应用于数据管理系统中。
以4GL为核心的软件开发技术称为四代技术。使用四代技术,可以带来许多的方便,在软件开发的时间,成本和质量等方面都会取得较好的效果,但它毕竟在系统开发全过程中所占有的比例是很少的。
基于四代技术的模型,如图示:
⑦变换模型
变换模型(transformational model)是基于形式化规格说明语言及程序变换的软件开发模型,又称自动程序设计模型,在这个模型中,应用系统是自动生成。该模型如图所示。