现代软件工程

分類: 图书,计算机/网络,软件工程/开发项目管理,
作者: 张家浩 编著
出 版 社: 机械工业出版社
出版时间: 2009-1-1字数:版次: 1页数: 372印刷时间:开本: 16开印次:纸张:I S B N : 9787111253525包装: 平装编辑推荐
理论:突出现代软件工程的新观点
完整:全面覆盖IEEE SWEBOK2004
综合:注重最佳实践的导向与解决方案的平衡
案例:真实、实际,有参考借鉴价值
软件学院软件工程专业的培养目标是为软件企业培养“软件生产”所需要的工程技术和专业管理人才。因此,作为软件工程专业的核心课程,应在研究-技术-工程-管理的链条上,明确以工程为核心,以技术和管理为半径,建立教学和实践体系,这是本教材的基本指导思想。
本书的特点如下:
全面覆盖SWEBOK2004的主要内容,突出强调11个知识领域的重要性、完整性和协同性,并以建立软件开发的软件工程过程概念为核心,让学生能够初步掌握软件工程的需求分析、构架设计和实现、软件测试等专门的工程技术方法,学习和了解项目管理、质量管理、过程控制等基本的过程管理知识。
在与本课程同步的项目实践的配合下,学生以团队的形式完成一个项目开发过程,亲身感受作为一个开发者同时也是过程控制和管理者所必须注意的各个环节要点。
配有电子教案,可以减轻老师的教学负担,提高教学质量。
内容简介
本书按照软件开发的生命周期,讲述软件工程的各个知识领域内容,系统地介绍了软件工程的概念、原理、方法和技术。
全书共9章,内容为现代软件工程导论、从市场和产品的角度理解软件开发、软件项目的规划管理、现代软件工程的需求工程、软件体系结构与系统概要设计、软件系统的构造与实现、软件质量管理、软件实施过程与管理、软件工程改进。其中,需求工程、体系结构与系统概要设计为开发过程的重点,项目管理、质量管理是支撑过程的重点。
本书内容新颖,讲述力求理论联系实际、深入浅出、循序渐进。全书共收录了20多个实际的案例分析,涉及金融、电信等领域。每章还配有课堂作业与项目实践及点评,方便老师和学生使用。
本书主要用作国家示范性软件学院软件工程专业的教材,也可作为计算机及相关专业软件工程课程的教学用书,或作为从事软件开发的科技人员的参考书、培训教材等。
目录
前言
第1章现代软件工程导论
1.1软件、软件过程与现代软件工程
1.1.1软件工程:对软件的再认识
1.1.2软件危机:留给软件人长久的困惑
1.1.3生命周期:30年前的初衷与设想
1.1.4四大过程:走出危机的希望与前景
1.2软件工程与软件工程知识体系
1.2.1软件工程生命周期模型的特点
1.2.2过程模型的典范:统一软件过程
1.2.3现代软件工程发展的主要技术特点
1.2.4现代软件工程知识体系SWEBOK
1.3软件企业的现代软件工程实践
1.3.1软件生产过程的流程与工艺特性
1.3.2软件生产过程的支撑与支持特性
1.3.3软件生产过程的综合与协同特性
1.3.4现代软件工程的最佳实践
1.4市场需求与软件工程教学
1.4.1IT职场素质需求
1.4.2市场需求对软件人培养的要求
1.5课堂作业与项目实践点评
1.5.1课堂作业
1.5.2项目实践
1.5.3项目实践点评
1.6本章参考文献
第2章从市场和产品的角度理解软件开发
2.1企业战略与市场分析
2.1.1企业战略决定市场战略
2.1.2市场环境的生物链与5种竞争因素分析
2.1.3案例分析:某标案的竞争对手分析与策略选择
2.2行业软件产品的市场营销特点
2.2.1市场营销为产品研发和项目实施提供导向
2.2.2方案销售是软件市场与产品营销的典型特点
2.2.3案例分析:行业软件销售的过程、目标与责任
2.3现代软件工程下的产品开发与管理
2.3.1软件产品管理与产品经理的作用
2.3.2产品经理面向市场的软件产品管理
2.3.3产品经理面向开发的软件产品管理
2.3.4现代软件工程概念下的软件研发管理
2.3.5案例分析:采用产品线模式开发的案例
2.4课堂作业与项目实践及点评
2.4.1课堂作业
2.4.2项目实践1:市场分析报告
2.4.3市场分析报告点评
2.4.4项目实践2:商业计划书
2.4.5商业计划书点评
2.5本章参考文献
第3章软件项目的规划管理
3.1项目与项目管理的基本概念
3.1.1项目的概念与属性
3.1.2项目的范畴要素
3.1.3项目管理的概念
3.1.4项目的生命周期与任务
3.1.5项目的组织结构与项目经理
3.1.6项目管理知识体系PMBOK
3.1.7案例分析:项目管理成熟度水平的判断
3.2软件项目的时间管理
3.2.1项目的工作分解结构WBS
3.2.2PMBOK的时间管理概念
3.2.3PMBOK的时间管理过程
3.2.4软件生命周期模型与时间管理
3.2.5软件项目的规模、工作量和进度估算
3.2.6案例分析:软件项目规划管理的关键与难点
3.3软件项目的成本管理
3.3.1PMEBOK的成本管理概念
3.3.2PMEBOK的成本管理过程
3.3.3案例分析:软件项目成本管理的实例操作
3.4课堂作业与项目实践及点评
3.4.1课堂作业
3.4.2项目实践
3.4.3项目实践点评
3.5本章参考文献
第4章 现代软件工程的需求工程
第5章 软件体系结构与系统概要设计
第6章 软件系统的构造与实现
第7章 软件质量管理
第8章 软件实施过程与管理
第9章 软件过程改进
书摘插图
第1章现代软件工程导论
本章核心内容:通过软件工程发展历程的简单回顾,自然地导出高级软件经理与一般编码工程师在认知层次上的不同,即把软件作为一个“过程和工程”来看待和管理的基本思想方法以及现代软件工程在继承和发展传统软件工程的基础上所产生的新思想和新方法。
本章教学要求:通过本章的学习,使学生对软件工程的基本内容,建立一个初步的、整体性的认识,并为以后的学习(特别是本课程重点强调的:高级软件经理所处的认知层次、理论教学和项目实践相结合的学习方式、本课程项目实践与其他课程作业的区别、复杂程度和要求)做好必要的思想准备。
本章教学形式:(1)以课堂教学为主,以软件企业的参观、考察为辅; (2)根据学生实际人数、能力情况指定,或根据自愿组合或随机组合的方式,产生项目小组的划分。每组以5—8A为宜,并确定项目经理、技术经理、质量经理等角色; (3)为每组学生配备一名必要的辅导老师。辅导老师可以是有企业实践经验并具有实际动手能力的研究生,也可以直接是企业导师。
本章课时安排:本课程要求的总学时数为l28学时,本章课堂授课时间应不少于6学时。在授课时间之外,另行安排企业参观、考察时间。
本章成果检查:(1)完成阶段课堂作业(附后),计入平时成绩;(2)针对项目小组组成情况与角色定位,任课老师或辅导老师应检查成果,必要时可进行调整。
有不少软件专业的同学,在没有学习软件工程这门课程之前,常常会有这样的认识,以为所谓学习软件,就是重点掌握好一二门计算机语言(如C++、Java),然后编一些程序,做过几个项目就可以了。他们认为只要编程能力强,成为所谓的“编程高手”,在软件公司里是所谓的“牛人”,薪金待遇、职位前途都不在话下。社会上的很多人,包括一些软件公司的老总,也都是这么看的。其实,这种观点是不正确,至少是不全面的。
作为软件学院的学生,与其他高校的计算机相关专业学生相比,在面对软件企业招聘和市场选择的时候,我们的优势在哪里?与他们之间的根本差别在哪里?什么是我们的核心竞争力?如果没有差别,或者没有太大差别的话,我们自身的价值在哪里?我们比其他院系学生所投入的多得多的学习成本的价值在哪里?可能在你填写高考志愿的时候,对此并不了解。
如果拿一个机械加工车间作为比喻的话,其他计算机专业学生学的是机械加工具体的车、钳、洗、刨,而软件工程专业学生学的是如何管理一个工件从第一个加工工序(通常把软件过程划分为:问题定义、需求分析、系统设计、编码调试、软件测试、运行维护6道工序)开始,直到最后一个加工工序,最终完成这个工件,成为合格的产品的全过程。软件工程专业培养的是,懂得软件生产各工位、各工序、各项工艺要求的软件生产过程的系统设计师、架构师、需求分析师、技术经理和软件项目经理。其他专业的学生可能成为一名优秀的八级钳工,软件学院学生应该把自己定位为车间主任。在人才市场、在软件企业,我们的学生与其他计算机专业的学生的不同就在这里,这就是我们的核心竞争力。
……