-------------精选文档-----------------
第一章 软件工程学概论
1、软件危机产生的原因
软件本身的特点:难于维护、逻辑复杂
软件开发与维护的方法不正确:忽略需求分析重要性、轻视软件维护 课本表述:
1、 软件不同于硬件,它是计算机中的逻辑部件而不是物理部件
2、 软件不同于一般程序,它的一个显著特点是规模庞大,而且程序的复杂性将规模的
增加而呈现指数上升。
3、 软件本身特有的特点确实给开发和维护带了一些客观困难
4、 软件开发与维护有关的许多错误认识与做法有关(忽略需求分析,轻视软件维护) 5、 对用户要求没有完整准确的认识就匆忙开始着手编写程序 6、 在软件不同阶段进行修改需要付出的代价是很不相同的
2、软件危机的表现(什么是软件危机)
(1)、成本高:
(2)、软件质量得不到保证:软件质量问题导致失败的软件项目非常多
(3)、进度难以控制:
●项目延期比比皆是
●由于进度问题而取消的软件项目较常见 ●只有一小部分的项目能够按期完成
(4)、维护十分困难:
可编辑
-------------精选文档-----------------
▼软件维护的多样性 ▼软件维护的复杂性 ▼软件维护的副作用
3、克服软件危机
(1)、管理的角度:
软件开发过程的研究、文档的标准化以及人员的交流方式等
(2)、软件开发方法的研究
结构化软件开发方法, 面向对象的开发
4、软件工程的定义
概括的说,软件工程师指导计算机软件开发和维护的一门工程学科。采用工程的概念、
原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
(1)、软件工程就是建立和使用一套合理的工程原理,从而经济地获得可靠的、可以在
实际机器上高效运行的软件。
(2)、①把系统的、规范的、可度量的方法应用于软件开发、运行和维护的过程,也就
是把工程应用于软件.②研究①中提到的途径
总之:软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。他借鉴传
统工程的原理、方法,以提高质量,降低成本为目的。
可编辑
-------------精选文档-----------------
5、软件工程的本质特性
品
1、 关注与大型程序的构造 2、 中心课题是控制复杂度 3、 软件经常变化
4、 开发软件的效率非常重要 5、 和谐的合作是开发软件的关键 6、 软件必须有效地支持它的用户
7、 在软件工程领域中通常由具有一个文化背景的人替另外一种文化背景的人创造产
6、软件工程的基本原理
1、用分阶段的生命周期计划严格管理 2、坚持进行阶段评审 3、实行严格的产品控制 4、采用现代程序设计技术 5、结果应能清楚地审查 6、开发小组应该少而精
7、承认不断改进软件工程实践的必要性 软件工程学包含3个要素:方法、工具和过程
可编辑
-------------精选文档-----------------
7、软件生命周期
(1)、概念:
软件生命周期由软件定义、软件开发和运行维护(也成软件维护)3个时期组成。
(2)、内容:
1、 问题定义
回答“要解决的问题是什么?“,写出关于问题性质、工程目标和工程规模的书面报告
2、 可行性分析
回答”对于问题是否有行得通的解决办法?“,即探索问题是否值得去解,是否有可行的办法
3、 需求分析
确定”为了解决这个问题,目标系统必须做什么“,确定目标系统必须具备哪些功能,得到需求规格说明书。
可编辑
-------------精选文档-----------------
4、 总体设计
回答”概括地说,应该怎样实现目标系统?“,确定程序由哪些模块组成以及模间的关系
5、 详细设计
回答”应该怎样具体地实现这个系统呢?”,确定实现模块功能所需要的算法与数据结构
6、 编码和单元测试
写出正确的容易理解、容易维护的程序模块,然后仔细测试每个模块
7、 综合测试
通过各种类型的测试(及相应的调试)是软件达到预定要求
8、 软件维护
通过各种必要活动是系统持久地满足用户需求
8、生命周期模型
(1)、瀑布模型
传统瀑布模型特点:
1、 阶段间具有顺序性与依赖性 2、 推迟实现的观点 3、 质量保证的观点 瀑布模型
优点:
1、 可强迫开发人员使用规范的方法(例如:结构化技术);
可编辑