软件工程湖北汽车工业学院闫菲 向郑涛 吴年志 陈宇峰制作前言本书是依据教育部,高职高专教育基础课程教学的基本要求,和,高职高专教育专业人才培养目标与规格,
编写而成。全书共 15章,内容主要包括,软件危机与软件工程 ;软件开发模型;计算机系统工程,需求分析,
总体设计,详细设计,编码与测试,软件维护,面向对象技术,快速原型技术,重用技术,人机界面设计。书中含有丰富的例题与习题,便于教学与自学。
本书强调内容的实用性,以问题带知识点的方式来阐述,内容精练,重点突出,概念清楚,针对性和实际操作性强 。
第一章 软件危机与软件工程学习要点:
软件工程是在 20世纪 60年代末期提出的。这一概念的提出,其目的是倡导以工程的原理、
原则和方法进行软件开发,以期解决当时出现的“软件危机”。
本章介绍软件危机和软件工程的基本概念 。
第 1章 软件工程
1.2 软件工程退出
1.1 软件危机
1.1软件危机
1.1.1 软件代价高
1.1.2 软件开发和维护中的严重问题退出
1.1.1软件代价高
100
80
60
40
20
0
195 5 197 0 198 5
硬件软件总费用的百分比
计算机系统硬件 /软件成本变化趋势
在开发一个新型计算机系统或修改一个现有系统的过程中,最大部分的资金是用在软件系统开发方面。
1.1.2 软件开发和维护中的严重问题计算机系统发展的早期时代所形成的错误概念与做法,已经严重阻碍了计算机软件的开发,更严重的是:用错误方法开发的软件几乎根本无法维护,只好提前报废。
1,软件危机
2,有那些软件开发的错误方法和观念
3,软件产品的质量量化分析不够。
1,软件开发成本与进度估计不准确。
2,闭门造车。软件开发人员仓促上阵,编写程序。
4,软件重用性差。
5,软件没有适当的文档资料。
6,软件成本逐年上升。
本节小结产生软件危机原因 ----与软件本身的特点有关:
1、软件是逻辑部件:试制阶段难衡量;开发质量较难评价,开发过程管理和控制较难;运行过程才能暴露没有检测出来的事故,相当于修改设计,软件维护困难;
2、软件规模庞大,有技术问题,也有管理方法问题。
3、早期开发的个体化;忽视需求分析;认为软件开发写程序;轻视维护,对用户不了解,
4、对前期工作不能忽视,做好软件定义时期的工作,
这是降低成本,提高件质量的关键。
5、严重性:在软件开发的不同阶段修改付出代价(后期是前期的 2-3个数量级),软件维护是极端艰巨复杂的工作,占 55%~70%)
1,2 软件工程
1.2.1 软件工程的定义与基本原理
1.2.2 软件工程的目标
1.2.3 软件工程框架及原则退出软件工程学科是一门指导计算机软件开发和维护的工程学科。软件工程是一类求解软件的工程。它应用计算机科学、数学及管理科学等原理,
借鉴传统工程的原则、方法,创建软件以达到提高质量,降低成本的目的。其中,计算机科学、
数学用于构造模型与算法,工程科学用于制定规范设计范型、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。
软件工程的方法、工具、过程构成了软件工程的三要素。
1.2.1 软件工程的定义与基本原理
1,软件工程的七条基本原理
( 1)用分阶段的生命周期计划进行严格管理
( 2)坚持进行阶段评审
( 3)实行严格的产品控制
( 4)采用现代程序设计技术
( 5)结果应能清楚地审查
( 6)开发小组的人员应该少而精
( 7)承认不断改进软件工程实践的必要性
1.2.2 软件工程的目标
软件工程的目标可概括为:在给定成本,进度的前提下,开发出具有可修改性,有效性,可靠性,可理解性,可维护性,可重用性,可适应性,可移植性,
可追踪性和可互操作性并满足用户需要的软件产品 。
应该特别指出;“可靠性”这个目标在软件工程中有着重要的意义。广义上讲,它涉及到产品设计的一系列问题,从而使产品能在相当长的期间内稳定工作。狭义上讲,可靠性是软件成功运行的概率度量,可靠性分析和可靠性测试可作为衡量软件质量和其他开发过程的最重要的方法之一。
1.2.3 软件工程框架及原则开 发 模 型设 计 方 法支 持 过 程管 理 过 程用可 可可 可性可正可确性可性可合算软件分析实现与维护软件设计原则:
一,选取适宜的开发模型; 二,采用合适设计方法;
三,提供高质量工程支持; 四,重视开发过程管理 。