《普通高等教育“十二五”规划教材·高等学校规划教材·软件工程:方法与实践(第2版)》是在吸取了国内外有关教材的精华,并结合作者多年从事软件工程教学及软件开发的实践经验、体会的基础上编写的。内容注重科学性、先进性,强调实践性。在介绍软件工程基础知识的基础上,重点介绍面向对象的分析、设计、测试及UML统一建模语言,以及CMM软件成熟度模型、ERP企业资源规划等先进管理技术。提供了丰富的软件开发实例和素材,以及“软件工程课程网站”。
《普通高等教育“十二五”规划教材·高等学校规划教材·软件工程:方法与实践(第2版)》可作为高等院校计算机及信息类专业本科生及研究生的“软件工程”课程的教材,也可作为广大工程技术人员和科研人员的参考书。
《普通高等教育“十二五”规划教材·高等学校规划教材·软件工程:方法与实践(第2版)》具有以下几个特点: 内容丰富,涵盖了,ACM/IEEE联合工作组制定的软件工程教育知识体系,介了CMM、UML、ERP、软件复用及构件工程等软件工程领域的最新技术,保证了内容的科学性和先进性。 理论与实践密切结合,突出实践教学,给出了综合性的设计型“软件工程课程设计”,提出以“项目驱动”的实践教学改革方法,旨在培养学生的实践能力及创新能力。 以案例教学为核心,提供了丰富的软件项目开发案例,及4个采用UML建模的软件开发实例,典型案例的学习,有利于调动学生学习掌握理论知识的积极性和主动性。 提供了丰富的优质教学资源,构建了“软件工程”精品课程网站、软件工程网络课程及多媒体电子课件等有机结合的立体化教学环境。
第1章 软件工程概述
1.1 软件工程的产生和发展
1.1.1 软件工程的发展过程
1.1.2 软件危机
1.1.3 软件工程的定义及基本原则
1.1.4 软件工程研究的内容
1.2 软件与软件过程
1.2.1 软件的概念和特点
1.2.2 软件工程过程
1.3 软件过程模型
1.4 软件开发方法
1.4.1 结构化开发方法
1.4.2 原型化开发方法
1.4.3 面向对象的开发方法
1.5 软件工具与软件开发环境
小结
习题一
第2章 软件需求工程
2.1 软件需求的基本概念
2.1.1 软件需求的任务
2.1.2 功能需求与非功能需求
2.2 需求工程过程
2.3 软件需求获取技术
2.4 需求分析与建模
2.4.1 结构化分析(SA)方法
2.4.2 面向对象的分析方法
2.5 软件需求案例分析
2.5.1 案例1——医院病房监护系统
2.5.2 案例2——网上拍卖系统
小结
习题二
第3章 软件设计
3.1 软件设计概述
3.2 软件体系结构设计
3.2.1 仓库模型
3.2.2 分布式结构
3.2.3 其他体系结构
3.3 模块分解
3.3.1 模块分解的目的
3.3.2 模块间的关系
3.3.3 模块的独立性
3.3.4 信息隐蔽
3.4 详细设计描述工具
3.5 面向对象的设计
3.6 用户界面设计
3.6.1 用户界面设计的特性与设计任务
3.6.2 用户界面设计的基本原则
3.6.3 用户界面的基本类型
3.6.4 信息输入/输出界面
3.6.5 MVC模式
小结
习题三
第4章 面向对象方法与UML建模语言
4.1 面向对象方法概述
4.1.1 面向对象方法的特点
4.1.2 几种典型的面向对象方法
4.2 UML概述
4.2.1 UML的基本概念
4.2.2 UML的图形表示
4.3 建立用例模型
4.3.1 需求分析与用例建模
4.3.2 确定执行者
4.3.3 确定用例
4.3.4 建立用例之间的关系
4.3.5 用例建模实例
4.4 建立静态模型
4.4.1 类图
4.4.2 包图
4.5 建立动态模型
4.5.1 消息
4.5.2 状态图
4.5.3 顺序图
4.5.4 合作图
4.5.5 活动图
4.6 建立实现模型
第5章 软件实现
第6章 软件复用和组件技术
第7章 软件测试
第8章 软件维护
第9章 软件工具与集成化环境
第10章 软件项目管理
第11章 软件能力成熟度模型
第12章 软件工程课程设计
参考文献
(4)第四代软件工程
20世纪90年代起,基于组件(Component)的开发方法取得重要进展,软件系统的开发可通过使用现存的可复用组件组装完成,而无须从头开始构造,以此达到提高效率和质量,降低成本的目的。软件复用技术及组件技术的发展,对克服软件危机提供了一条有效途径,将这一阶段称为组件工程。
1.1.2 软件危机
1.软件危机的产生
软件危机的出现是由于软件的规模越来越大,复杂度不断增加,而软件需求量也不断增大,生产作坊式的软件开发模式及技术已不能满足软件发展的需要。
软件开发过程是一种高密集度的脑力劳动,需要投入大量的人力、物力和财力;由于软件开发的模式及技术不能适应软件发展的需要,致使大量质量低劣的软件产品涌向市场,有的甚至在开发过程中就夭折了。国外在开发一些大型软件系统时,遇到了许多困难,有的系统最终彻底失败了;有的系统则比原计划推迟了好多年,而且费用大大超过了预算;或者系统功能不符合用户的需求;也无法进行修改维护。典型的例子有:
IBM公司的OS/360,共约100万条指令,花费了5000个人年,经费达数亿美元,而结果却令人沮丧,错误多达2000个以上,系统根本无法正常运行。OS/360系统的负责人Brooks这样描述开发过程的困难和混乱:“像巨兽在泥潭中作垂死挣扎,挣扎得越猛,泥浆就沾得越多,最后没有一个野兽能够逃脱淹没在泥潭中的命运……”。
1967年前苏联“联盟一号”载人宇宙飞船,由于其软件忽略一个小数点的错误,导致返航时打不开降落伞,当进入大气层时因摩擦力太大而烧毁,造成机毁人亡的巨大损失。
……