1 / 14
文档名称:

软件工程基础知识讲解.ppt

格式:ppt   大小:647KB   页数:14页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

软件工程基础知识讲解.ppt

上传人:swkmei 2018/2/4 文件大小:647 KB

下载得到文件列表

软件工程基础知识讲解.ppt

文档介绍

文档介绍:指导教师:
软件工程
班级:
学生:

软件工程过程是指为获得软件产品,在软件工具的支持下由软件工程师完成的一系列软件工程活动,包括以下四个方面:
P(Plan)——软件规格说明。规定软件的功能及其运行时的限制。
D(DO)——软件开发。开发出满足规格说明的软件。
C(Check)——软件确认。确认开发的软件能够满足用户的需求。
A(Action)——软件演进。软件在运行过程中不断改进以满足客户新的需求。


软件开发既有技术上的问题,也有管理上的问题,因此,软件工程作为一门研究软件开发的学科,其主要内容包括:
(1)做哪些映射,即要完成哪些开发任务;
(2)如何根据软件项目特点、环境因素等,选择并组织这些开发任务;
(3)如何实现不用抽象层之间的映射;
(4)如何进行测试,如何支持整个软件开发;
(5)如何管理一个软件项目,主要包括如何进行项目规划,如何控制开发过程质量,如何控制产品质量等。


软件工程的目标是:在给定成本、进度的前提下,开发出具有适用性、有效性、可修改性、可靠性、可理解性、可维护性、可重用性、可移植性、可追踪性、可互操作性和满足用户需求的软件产品。追求这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。
(1)适用性:软件在不同的系统约束条件下,使用户需求得到满足的难易程度。
(2)有效性:软件系统能最有效的利用计算机的时间和空间资源。
(3)可修改性:允许对系统进行修改而不增加原系统的复杂性。它支持软件的调试和维护,是一个难以达到的目标。
(4)可靠性:能防止因概念、设计和结构等方面的不完善造成的软件系统失效,具有挽回因操作不当造成软件系统失效的能力。

(5)可理解性:系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制系统软件复杂性,并支持软件的维护、移植或重用。
(6)可维护性:软件交付使用后,能够对它进行修改,以改正潜伏的错误,改进性能和其它属性,使软件产品适应环境的变化等。软件维护费用在软件开发费用中占有很大的比重。可维护性是软件工程中一项十分重要的目标。
(7)可重用性:把概念或功能相对独立的一个或一组相关模块定义为一个软部件。可组装在系统的任何位置,降低工作量。
(8)可移植性:软件从一个计算机系统或环境搬到另一个计算机系统或环境的难易程度。
(9)可追踪性:根据软件需求对软件设计、程序进行正向追踪,或根据软件设计、程序对软件需求的逆向追踪的能力。
(10)可互操作性:多个软件元素相互通信并协同完成任务的能力。
软件工程的不同目标之间是互相影响和互相牵制的。例如,提高软件生产率有利于降低软件开发成本,但过分追求高生产率和低成本便无法保证软件的质量,容易使人急功近利,留下隐患。
但是,片面强调高质量使得开发周期过长或开发成本过高,由于错过了良好的市场时机,也会导致所开发的产品失败。因此,我们需要采用先进的软件工程方法,使质量、成本和生产率三者之间的关系达到最优的平衡状态。

质量是软件需求方最关心的问题,用户即使不图物美价廉,也要求个货真价实。
生产率是软件供应方最关心的问题,老板和员工都想用更少的时间挣更多的钱。
质量与生产率之间有着内在的联系,高生产率必须以质量合格为前提。如果质量不合格,对供需双方都是坏事情。
从短期效益看,追求高质量会延长软件开发时间并且增大费用,似乎降低了生产率。
从长期效益看,高质量将保证软件开发的全过程更加规范流畅,大大降低了软件的维护代价,实质上是提高了生产率,同时可获得很好的信誉。
质量与生产率之间不存在根本的对立,好的软件工程方法可以同时提高质量与生产率。
举例:关于开发CAD系统的的软件开发成本及效益分析

软件工程思想,就是用工程学上的系统化、规范化、数理化的工程原则和方法进行软件的开发和维护,并对软件生产过程进行工程化的管理。包括以下基本内容:
(软件开发方法学、软件工具、软件工程环境)
(软件度量、项目估算、进度控制、人员组织、配置管理、项目计划)

最近更新