软件工程0-0 (1)

《现代软件工程》 课程介绍 课程目标介绍 课程内容介绍 授课计划介绍 教师自我介绍

一、课程目标介绍——

教学大纲:\r\r选修本课程的所有学生,其未来的职业志向是希望成为软件企业的职业经理人,并期望通过本课程的学习,能够得到现代软件工程知识和实际工程管理能力的提升。

一、课程目标介绍——

教学大纲:\r\r本课程要求通过课堂教学和实践环节的结合,把现代软件工程的一个完整过程,既从项目、产品、研发管理者的角度,将软件工程过程管理的主要知识,呈现给学生,并通过适当的实践环节,让学生能够在实际演练中,掌握软件工程的基本工具、技术和方法。

一、课程目标介绍——

软件学院的软件工程专业培养的目标是——\r为软件生产企业培养软件工程的“工程技术”和“管理”人才\r因此,开设《软件工程》课程,并确定为专业必修课——为达到上述目标的必经之路\r\r第一个问题:目标的理解\r第二个问题:目标的认同\r第三个问题:评价目标是否达到

1、目标的理解——

为什么主要是为软件生产企业培养?\r\r为什么要成立软件学院,软件学院是干什么的?与计算机学院有什么不同?\r\r甲方和乙方有很大的不同

形象地描述培养对象:\r以现代软件企业软件开发管理过程为岗位背景\r以软件项目经理为岗位培养目标\r\r软件工程:\r工程背景,想象为:一条流水线\r管理岗位,想象为:一个车间主任\r\r第一个检验标准:企业应聘的时候…….

1、目标的理解——

软件车间主任是干什么的?\r

1、目标的理解——

动车组开始商业运行,需要什么条件\r同样是2分钟,银行为什么办不到?

现代软件企业要什么?

过程是如何保证结果的?

问题:软件大赛的中期检查看什么? 为什么我们的很多管理措施,作用有限?

过程管理的五级机制 任何过程都能够借鉴

CMM对于软件工程的过程而言,是一种机制约束,由此保证结果

课程设计的对象、目标是什么?\r\r培养成什么样的人:\r\r对目标做出承诺的人\r控制过程以实现目标的人\r\r

1、目标的理解——

课程的四个基础(先修课程)\r\r(软件)系统\r(软件)项目\r(软件)过程\r(软件)工程\r\r

1、目标的理解——

软件工程课程群的关联性

1、用一种形式,把过程关联起来,控制关键节点\r软件产品关联:功能、性能\r软件项目关联:计划、成本、质量\r软件过程关联:需求可追踪、需求稳定性、可重用性、灵活性、可维护性、\r2、找出过程的质量属性、进行定性/定量度量分析、进行基准比较、持续改进

理想目标与效果目标\r效果:\r按照大多数同学的需求\r符合大多数同学的实际\r不以教多少为目标,而以学进去多少为目标(这与软件工程、项目管理不同)\r成果检验\r\r所以:希望大家积极反馈意见\r

1、目标的理解——

2、目标的认同——

我希望将来成为研究型的人才\r\r

对计算机领域来说,专业活动可分为三种类型:\r科学研究\r应用技术研究与产品开发\r工程组织管理与技术应用\r越偏向“科学”抽象性越强,越偏向“工程”实践性越强。\r计算机科学与技术专业:特别是工科,应该重点培养科学与技术结合的适用技术和产品方面的人才\r软件工程专业:重点培养技术与工程应用、管理方面人才。

软件工程专业和计算机科学与技术专业的区别

研究型论文的基本内容和要求:\r问题\r相关研究和工作\r我的工作与贡献\r模型与表述\r证明与验证\r评价\r研究型论文的例子

2、目标的认同——

研究型论文与工程型论文的区别:

目标不同:\r研究:发明、创新\r工程:实现、效益\r方法不同:\r研究:走通了\r工程:做出来\r过程不同:\r只要结果(前提:目标正确)\r也要结果(前提:过程可靠)\r要求不同:\r创新思维\r过程控制

2、目标的认同——

我是要考公务员的,怎么办?\r\r从甲方的角度理解乙方\r\r课程提供适当的宽容度\r

3、目标的达到——

课程目标与评价问题\r\r同学们对课程的满意度问题\r\r留在今天最后再谈

二、课程内容介绍——\r

软件工程 = 软件开发 工程 管理\r

《现代软件工程》与传统软件工程

传统软件工程讲什么?\r怎么确定需求\r怎么进行设计

怎么实现编码\r怎么进行测试\r怎么从事维护

《现代软件工程》的特点

什么是现代现代工程

与传统软件工程比较,现代软件工程的特点是:\r从开发过程(需求、设计、编码、测试、维护)到产品过程、项目过程、再过程(维护过程);\r从传统意义的软件开发及管理,到软件合同、运作、管理,包括;基本过程、支持过程和组织过程三个方面,采购、开发、维护、运作、获取、管理、支持7大活动的软件过程工程。\r从侧重计算机开发技术,到以产品、开发过程和项目实施管理为重点的管理。

《现代软件工程》为什么重要

对大家来说:\r 软件工程是基础和框架\r 有工具还不行,还需要懂得环境和过程\r 软件工程是主线\r 从产品和市场、到研发和项目管理\r 软件工程是核心竞争力\r 只会编程不行,只是低层次的软件蓝领\r 软件公司和软件人的价值是管理,而不是…..\r ——其他知识和课程都是基础、而只有《现代软件工程》是软件学院学生唯一区别与其他计算机系学生的统揽全局的强项(看家本领)\r

为什么《现代软件工程》非常重要

本科生与研究生的区别

本课程假定:\r\r本班是以计算机相关专业为基础的学生\r\r本科阶段的软件工程培养,定位在以技术能力培养为主的阶段,将编程与系统设计(编码)能力作为学生培养的重点,软件工程仅仅是作为一般知识了解。\r软件工程的重点在需求过程和设计过程(编码)的技术和方法。

本课程假定:\r\r研究生阶段的培养,定位在以软件企业工程实践为背景,软件系统化、工程化的开发方法的掌握和运用以及相应的组织实施管理是重点。\r因此,研究生课程的重点在以软件企业职业经理人所从事的软件项目管理为目标、从产品、研发和项目管理的角度,以过程管理为核心(而不是以开发技术方法为核心),使学生的现代软件工程知识和实际工程管理能力,得到提升。

本科生与研究生的区别

本课程强调基于工程实践背景,使学生进一步认识自己、认识工作,学习人际交往与交流,学习协同工作与主动工作,提高独立学习、工作和对环境适应能力的必要环节,也是在实际项目中检验自己所学知识、提高实际工作技能的重要步骤。\r本课程通过实际项目设计:强调学生的项目组织、管理和开发能力的培养,对软件工程方法类如:项目管理、软件需求分析、人机交互设计、统一建模语言、软件文档写作等课程则选用同一案例,使学生切实感受软件设计和工程规范。

本科生与研究生的区别

2、课程内容介绍——\r 课程内容的主要依据

随着信息化的突飞猛进,软件逐渐渗透到人类社会的方方面面,从上世纪60年代开始,软件开发的标准化和工程化就成为计算机界的中心课题之一。\r但是,在工程界,软件工程是一个相对年轻的学科\r软件Software——1958年由贝尔实验室的著名统计学家John Tukey提出\r软件工程Software Engineering一词则是在1968年北大西洋公约组织的软件工程会议上才第一次出现。\rIEEE计算机协会有关软件工程的标准制定始于1976年。\r时至今日,软件工程学科虽然在实践指导作用的发挥上还任重道远,但是学科本身已经趋向成熟。其标志包括:\rISO、IEEE、SEI相关系列标准的制定完成\r世界众多高校已经开始开设专门的软件工程专业\r国际、国内都有了权威的软件工程职业鉴定和认证等等。

历史上第一次全盘地审视软件工程学科,是1970年制定IEEE 730标准。该标准对配置管理、软件测试、软件需求、软件设计以及软件验证等领域的标准都产生了影响。\r在20世纪80年代前五年,IEEE对软件工程标准的应用,组织了一系列研究和探讨,最终制定了IEEE 1002标准“软件工程标准的分类学”。\r1995年,在IEEE和美国国防部标准的基础上,形成了ISO/IEC 12207国际标准“软件生命期过程标准”,这是软件工程学科知识体系建设的一个里程碑。\r1993年,IEEE计算机协会和ACM共同建立了一个联合委员会,正式开始了软件工程职业实践规范的制定工作。其中,定义必需的知识体系和推荐实践成为委员会工作的第一要务,另外两个工作目标包括制定道德规范和职业标准,定义本科、研究生和继续教育的课程体系。\r经2002和2004二个版本的发展,IEEE和ACM的成果,是产生了软件工程知识体系指南(SWEBOK2000和SWEBOK2004)——课程依据

软件工程知识体系指南(SWEBOK2004)

工具方法

软件工具

需求工具

软件工程方法

启发式方法

形式化方法

原型方法

软件质量

质量基础

质量过程

实际考虑

设计工具

构造工具

测试工具

维护工具

配置管理工具

质量管理工具

项目管理工具

其他工具问题

《软件工程知识体系指南SWEBOK2004 》

整个知识体系分为11个知识领域(Knowledge Area,KA)\r前五个知识领域是按软件开发的生命期阶段(按所谓瀑布模型)排列的\r软件需求(又称软件分析)\r软件设计\r软件构造(即编码、实现)\r软件测试\r软件维护;\r后六个知识领域则是软件开发中的支撑性或者辅助性的方面,一般覆盖软件开发的多个阶段甚至所有阶段,包括:\r软件配置管理(SCM)、软件项目管理、软件工程过程、软件工程工具与方法、软件质量、相关学科知识领域\r每个知识领域之下又分为多个子领域,子领域又由多个主题构成

《SWEBOK2004》的知识域描述结构

《SWEBOK2004》知识域描述的结构如下: \r在简介中,给出知识域的简要定义、其范围的总体视图、与其它知识域的关系。\r 主题的结构分解组成每个知识域描述的核心,它描述了将知识域分解为子域、主题和子主题。对于每个主题或子主题,给出简要描述,然后是一篇或多篇参考文献。 \r选择一个参考材料主要是因为认为它构成了与主题相关的知识的最佳表述,并考虑了对选择参考文献的限制。我们使用一个矩阵来联系主题和参考材料。 \r知识域描述的最后一部分是推荐的参考文献列表。\r附录A为希望了解知识域主题更多内容的读者,列出了深入读物;\r附录B列出与知识域最相关的标准。\r注意,方括号[]中的引用表示推荐的参考文献,圆括号()中的引用表示对于编写或验证文本有用的参考文献,前者可以在对应的知识域章节中找到,后者可以在知识域的附录A中找到。 \r最后给出了知识域描述的简要总结和附录。

《软件工程知识体系指南SWEBOK 》

其中值得关注的是最后一个知识领域,因为此部分对应了软件工程课程建设中的基础部分和素质教育部分。\r 软件工程相关的知识领域包括:计算机工程、计算机科学、通用管理、数学、项目管理、质量管理、软件人类工程学和系统工程。\r软件工程教育知识\r 在SWEBOK的基础上,2004年5月定稿的、由ACM/IEEE联合工作组制定的CCSE2004 SEEK软件工程教育知识SEEK。(Software Engineering Education Knowledge),由十个知识领域组成:\r1、计算机基础(CMP) (172小时)\r2、数学和工程学基础(FND) (89小时)\r3、职业实践(PRF) (35小时)\r4、软件建模与分析(MAA) (53小时)\r5、软件设计(DES) (45小时)\r6、软件验证(VAV) (42小时)\r7、软件演化(EVL) (10小时)\r8、软件过程(PRO) (13小时)\r9、软件质量(QUA) (16小时)\r10、软件管理(MGT) (19小时)

《现代软件工程》目录大纲

主要教材\r\r理论:突出现代软件工程的新观点\r完整:全面覆盖SWEBOK2004\r综合:注重最佳实践的导向与解决方案的平衡\r案例:真实、实际、有参考借鉴价值

《现代软件工程》目录大纲

第一章 现代软件工程概论\r第二章 从市场和产品的角度理解软件开发\r第三章 软件项目的规划管理\r第四章 现代软件工程的需求过程\r\r第五章 软件体系结构与系统概要设计\r第六章 软件系统的构造与实现\r第七章 软件质量管理\r第八章 软件实施与维护过程\r第九章 软件过程改进\r

《现代软件工程》导读——\r 各章的关键与看点

第一章:概论\r故事:技术副总经理的选择——软件公司的困惑\r一个全景式的观察、历史与过去、辉煌与失败:带着问题学习\r全局把握的重点:做一回老板\r现在的战场在那里?战况如何?有什么新思想?有什么新武器?\r在这样的局面下,如何带队伍?

第一章 现代软件工程概论\r1.1 从软件到软件工程:进入一个新的境界\r1.1.1 软件工程:对软件的再认识\r1.1.2 软件危机:留给软件人长久的困惑\r1.1.3 生命周期:30年前的初衷与设想\r1.1.4 四大过程:走出危机的希望与前景\r1.2 生命周期:软件工程的基本思路\r1.2.1 软件工程的生命周期概念\r1.2.2 几种主要生命周期模型的分析\r1.2.3 统一软件过程(RUP)的生命周期模型\r1.3 技术与方法:软件工程的基本过程\r1.3.1 面向过程的技术与方法\r1.3.2 面向数据的技术与方法\r1.3.3 面向对象的技术与方法\r1.3.4 现代软件工程的新方法\r1.3.5 软件工程的开发工具与环境\r1.4 软件企业的现代软件工程实践\r1.4.1 软件生产过程的流程与工艺特性\r1.4.2 软件生产过程的支撑与支持特性\r1.4.3 软件生产过程的综合与协同特性\r1.4.4 现代软件工程的最佳实践与软工教学

配套实践(第1周)

阶段目标:完成对实训课程的思想、组织和环境准备。\r阶段主要工作:\r了解实训课程目的、内容、特点,做好完成实训课程的思想准备;\r组建课程项目开发团队,选出项目经理,明确项目经理的职责;\r了解课程各阶段的工作任务和结果验收要求;为各阶段项目的开展,做初步的条件和环境准备。\r阶段成果检验:完成团队组成,推选出项目经理并报课程指导老师备案。在项目经理的组织下,开始进行项目准备。

第二章:市场与产品\r故事:片面听从工程师意见的后果\r提升你的境界、抬高你的视角\r做正确的产品,然后才是把产品做正确\r认识你的目标、敌人、友军和你自己

第二章 从市场和产品的角度理解软件开发\r\r2.1 企业战略与竞争对手分析\r2.1.1 企业战略决定我们为什么要做这件事\r2.1.2 市场分析让我们明确怎么叫做好这件事\r2.1.3 软件产品开发与企业核心竞争力的关系\r2.1.4 组织架构是企业战略有效落实的保证\r\r2.2 行业软件产品的市场营销特点\r2.2.1 市场营销为产品研发和项目实施提供导向\r2.2.2 方案销售是软件市场与产品营销的典型特点\r2.2.3 行业软件的销售过程、销售管理与部门配合\r2.2.4 销售部门的职能与销售经理的主要工作内容\r\r2.3 现代软件工程下的产品开发与管理\r2.3.1 软件产品管理与产品经理的作用\r2.3.2 产品经理面向市场的软件产品管理\r2.3.3 产品经理面向开发的软件产品管理\r2.3.4 现代软件工程概念下的软件研发管理

配套实践(第2周)

阶段工作目标:\r按照《项目计划书》的格式要求和评价标准,完成《项目计划书》。组织评审或点评,推选优秀项目和团队,参加正式的比赛。\r阶段主要工作:\r确定参加大赛作为我们的项目目标,了解比赛的目的与要求,为了取得更大的成功,需要了解更多:了解过去成功与失败的原因,了解自己的技术和资源的可行性,为提出良好的主题,打好基础。

配套实践(第2周)

在充分调查和研究的基础上,发掘、发挥出自己的创新性与实力,提出有竞争力的创意主题。\r完善我们的构思,充分研究技术和资源的可行性,规划我们的项目。\r在充分规划的基础上,按模板要求,写好《项目计划书》并按时提交。\r阶段成果检验:完成《项目计划书》提交,并通过评审。

第三章:用项目管理方法控制软件开发过程\r故事:失败项目的窘境\r软件项目怎样才能不失败?\r如何在预定的时间、成本、质量要求下完成项目?\r怎么让用户、公司、项目团队都满意?\r如何激励项目团队、如何规避风险?\r项目管理可以帮你做到这些要求

第三章 软件项目的规划管理\r3.1 项目与项目管理的基本概念\r3.1.1 项目的概念与项目的属性\r3.1.2 项目的范畴要素\r3.1.3 项目管理的概念\r3.1.4项目生命周期的任务\r3.1.5 项目的组织结构与项目经理\r3.1.6 项目管理知识体系PMBOK\r3.2 软件项目的范围管理\r3.3软件项目的时间管理\r3.3.1 PMBOK的时间管理概念\r3.3.2 PMBOK的时间管理过程\r3.3.3 选择合适的软件项目生命周期模型\r3.3.4 软件项目工作分解结构WBS\r3.3.5 对工作包进行工作描述\r3.3.6 编制工作责任矩阵\r3.3.7 软件项目的规模、工作量和进度估算\r3.3.8 项目进度计划的编制\r3.3.9 项目进度计划的变更管理\r3.4 软件项目的成本管理\r3.4.1 PMEBOK的成本管理概念\r3.4.2 PMBOK的成本管理过程\r3.4.3 软件项目资源计划的确定\r3.4.4 软件项目成本估算与预算\r3.4.5 软件项目成本控制

配套实践(第3周)

阶段工作目标:\r完善《项目计划书》的内容,并在VSTS上创建团队项目、基线和团队门户。\r阶段主要工作:\r安装VSTS(可提前完成);\r细化《项目计划书》,并在VSTS创建自己的项目;\r在VSTS上,定义项目的生命周期模型、工作项;\r在VSTS上定义项目的基线和状态控制要求;\r在VSTS上开通项目团队门户\r召开第一次项目经理例会,小结项目进展。\r阶段成果检验:\r第一次依据在VSTS上观察到的项目情况,召开项目例会。

第四章:需求过程\r\r故事:鉴别是作坊还是规范开发的方法\r传统需求分析的思路\r需求过程与需求工程的技术和方法\r需求的控制与管理\r需求管理在整个现代软件工程中的龙头作用\r

第四章 现代软件工程的需求过程\r\r4.1 从需求分析到需求过程\r4.1.1 需求分析与需求工程的概念\r4.1.2 需求分析与需求工程的比较\r4.2 问题定义阶段的目标与任务\r4.2.1 问题定义的目标要点\r4.2.2 问题定义阶段的过程\r4.3 传统软件工程的需求分析方法\r4.3.1 传统软件工程需求分析的任务\r4.3.2 传统软件工程需求分析的过程\r4.3.3 传统软件工程的需求建模方法\r4.4 面向对象的需求分析方法\r4.4.1 面向过程与面向对象\r4.4.2 面向对象的概念回顾\r4.4.3 面向对象的分析建模\r4.5 基于UML的需求分析方法\r4.5.1 UML方法的要点概述\r4.5.2 需求获取与UML用例建模\r4.5.3 需求分析阶段的目标与要求\r4.5.4 基于UML的类与对象建模\r4.5.5 基于UML的动态建模\r4.5.6 基于UML的体系结构建模

4.6 需求工程与需求管理的实现\r4.6.1 现代需求管理的发展\r4.6.2 需求的开发过程与管理\r4.6.3 需求的实现过程与管理\r4.6.4 需求的变更控制与管理\r4.7 需求开发过程的案例分析

配套实践(第4周)

阶段工作目标:\r完成需求定义阶段的工作,提交《项目需求规格说明书》,安装Borland公司的Caliber 2008,在VSTS总体框架下,实现需求管理,通过需求评审。\r阶段主要工作:\r完成需求定义的获取、关键分析阶段的工作;\r根据获取和分析后的需求,编写《项目需求规格说明书》(文本形式);

配套实践(第4周)

安装Caliber需求管理软件;\r使用Caliber定义需求,即:将文字形式的《项目需求规格说明书》,转换成可用Caliber管理的形式;\r用Caliber对需求进行基线定义和管理;\r将Caliber的需求管理与VSTS的过程管理结合起来,跟踪需求的变化;\r从跟踪矩阵中,可看到需求的变化,并评价需求变更的影响和需求稳定性指标。\r阶段成果检验:\r完成《项目需求规格说明书》,并用Caliber管理需求,通过需求评审。

第五章:体系结构与概要设计\r理解什么是系统?\r了解系统设计的基本方法和过程

第五章 软件体系结构与系统概要设计\r5.1 体系结构的基本问题\r5.1.1 复杂系统与体系结构\r5.1.2 体系结构的基本概念\r5.1.3 传统体系结构的基本方法\r5.1.4 抽象与求精的设计理念\r5.1.5 模块偶合与内聚的追求\r5.2 软件系统的框架与体系结构\r5.2.1 现代体系结构模型的基本概念\r5.2.2 二类典型的体系结构模型分析\r5.2.3 其他经典软件系统体系结构\r5.2.4 案例分析:\r5.3 面向对象的设计模式\r5.3.1 从体系结构到设计模式\r5.3.2 创建型模式\r5.3.3 结构型模式\r5.3.4 行为型模式\r5.3.5 设计模式的实际作用

5.4 MVC结构与用户界面设计\r5.4.1 界面设计的可变需求\r5.4.2 MVC的结构\r5.4.3 MVC的实现\r5.4.4 MVC的更进一步发展\r5.4.5 MVC的变化与评价\r5.4.6 Struts:一个基于MVC的实现框架\r5.4.7 表示层实现的发展与比较\r5.5 基于组件的软件体系结构\r5.5.1 组件的概念\r5.5.2 三种主要组件模型的特点\r5.5.3 基于组件的框架与体系结构\r5.6 从需求分析到系统概要设计过程\r5.6.1 系统概要设计的任务与要求\r5.6.2 面向结构的系统设计方法\r5.6.3 面向对象的系统设计方法\r5.6.4 软件系统设计规范与管理

配套实践(第5周)

阶段工作目标:根据关键需求,形成并验证架构设计方案,完成《架构设计报告》,通过架构设计评审。\r阶段主要工作:\r完善关键需求的获取和分析工作;\r根据关键需求,提出设计对策,形成初步的软件系统架构设计方案;\r搭建一个轻量级的架构框架(如:Struts或使用微软的分布式系统设计器),在架构框架上,实现和验证项目的架构方案;\r完成《架构设计报告》。\r阶段成果检验:完成《架构设计报告》,通过架构设计评审。

第六章:构造与实现\r\r相对简单\r重点是软件重用\r\r

第六章 软件系统的构造与实现\r\r6.1 结构化程序的详细设计与实现\r6.1.1 详细设计的目标与任务\r6.1.2 传统详细设计的技术与工具\r6.1.3 面向数据结构的详细设计方法\r6.1.4 结构化程序的软件实现\r6.2 面向对象的系统详细设计与实现\r6.2.1 面向对象的详细设计任务和原则\r6.2.2 面向对象软件的详细设计与方法\r6.3 基于重用技术的软件实现\r6.3.1 软件重用的概念与意义\r6.3.2 软件重用技术的发展状况\r6.3.3 软件重用的形式与途径\r6.3.4 面向对象的代码重用实现\r6.3.5 重用存在的问题及解决途径

配套实践(第6周)

阶段工作目标:\r\r在VSTS源代码管理、版本管理、构建管理、测试管理等管理方式下,进行透明的代码开发和管理,并达到项目进度和质量要求。\r\r阶段主要工作:\r在VSTS上,搭建源代码管理、版本管理、构建管理环境;\r在上述环境下,完成代码编写,全过程采用签入/签出方式进行管理和跟踪;

配套实践(第6周)

在上述环境下,进行单元测试、版本管理和构建;\r在单元测试中,加入预期测试结果验证、代码覆盖、代码分析等内容,并将测试结果发布到TFS服务器上,使团队其他成员,在团队门户上可以看见每个团队成员的工作情况和进展。\r\r阶段成果检验:\r保证在VSTS过程管理工具上,让项目管理者可以看到:项目团队的代码开发进度、测试结果都是符合项目进度和质量要求的。。

第七章:软件质量\r故事:用户为什么不肯付钱?\r质量经理天天看什么——什么是软件的质量?\r软件测试与软件评审:测试与评审的误区\r可靠性过程:大楼不是一天堆起来的\r配置管理:软件工业化生产的流水线\r做好组织保证

第七章 软件质量管理\r7.1 软件质量的要素与度量\r7.1.1 软件质量的概念\r7.1.2 软件质量的评价\r7.1.3 软件质量的度量\r7.1.4 软件质量度量的实施\r7.2 软件测试活动的组织与管理\r7.2.1 软件测试的一般概述\r7.2.2 测试的阶段与方法\r7.2.3 测试类型\r7.2.4 测试计划\r7.2.5 测试组织\r7.3 软件评审活动的组织与管理\r7.3.1 审查准备\r7.3.2 审查过程\r7.3.3 需求审查\r7.3.4 设计审查\r7.3.5 代码审查\r7.3.6 测试审查\r7.4 软件系统的可靠性工程\r7.4.1 软件可靠性的定义\r7.4.2 软件的可靠性设计\r7.4.3 基于软件测试的可靠性分析\r7.4.4 提高软件可靠性的方法和技术

7.5 软件配置管理的方法与实践\r7.5.1 软件配置及其管理的概念\r7.5.2 主要配置管理活动和流程\r7.5.3 基本配置管理项的配置管理\r7.5.4 版本管理\r7.5.5 变更管理\r7.5.6 配置状态监测、报告与评审\r7.5.7 基于配置管理的软件项目管理\r7.6 软件组织的质量管理过程\r7.6.1 ISO9000质量管理体系\r7.6.2 PMBOK的质量管理过程\r7.6.3 CMM/CMMI的质量保证关键域

配套实践(第7周)

阶段工作目标:\r在VSTS集成测试、系统测试环境下,测试项目,并进行用户模拟验收。\r\r阶段主要工作:\r在VSTS上,搭建集成测试、系统测试环境;\r在上述环境下,完成项目的集成测试和系统测试;\r在上述环境下,进行模拟用户验收测试。\r\r阶段成果检验:\r根据模拟用户验收测试成绩,进行项目成果评价,取得最后的实训课程项目成绩。

第八章:实施过程\r\r故事:实施是个苦差事\r软件开发的实施过程\r项目管理的实施过程\r软件维护与控制\r项目后评审

第八章 软件实施与维护过程与管理\r\r8.1 软件的现场实施过程与控制\r8.1.1 软件实施过程的概念\r8.1.2 软件系统的现场实施过程\r8.1.3 现场项目实施的案例介绍\r8.2 实施阶段的软件项目管理\r8.2.1 项目团队建设与团队激励\r8.2.2 项目沟通与协调\r8.2.3 软件项目风险管理\r8.2.4 软件外包与采购管理\r8.2.5 项目综合控制与管理\r8.3 软件维护过程与控制\r8.3.1 软件维护的概念\r8.3.2 软件维护的过程\r8.3.3 维护活动的副作用\r8.3.4 提高软件的可维护性\r8.4 项目实施后的评审与评价\r8.4.1 项目后评审的过程概述\r8.4.2 项目后评审的案例介绍

第九章:过程改进\r最后的总结与回顾\r什么是软件过程?\r从最简单的软件过程开始\rCMM与RUP\r另类的软件过程

第九章 软件过程改进\r9.1 软件过程概念与过程改进的基本问题\r9.1.1 过程与软件过程的概念\r9.1.2 过程改进的原则与策略\r9.2 软件过程的起步:个人软件过程PSP\r9.2.1 PSP的产生\r9.2.2 PSP与CMM\r9.2.3 PSP的成熟度过程\r9.2.4 PSP的主要内容\r9.2.5 PSP与TSP过程\r9.2.6 PSP、TSP的应用及效果\r9.3 软件过程改进的重大成果:CMM/CMMI\r9.3.1 CMM/CMMI的过程改进思想\r9.3.2 CMM/CMMI的基本内容\r9.2.3 CMM/CMMI的实施过程\r9.3.4 CMM与现代软件工程实践\r9.4 软件过程的实现平台:RUP的统一开发过程\r9.4.1 RUP的框架与基本过程\r9.4.2 RUP的迭代开发原理\r9.4.3 RUP的9个核心工作流\r9.4.4 RUP的4个生命周期阶段\r9.4.4 RUP的裁减原理与过程\r9.5 其他另类软件过程探讨\r9.5.1 极限编程(XP)与敏捷软件过程\r9.5.2 开源软件(OSS)的得与失

配套实践(第9周)

阶段工作目标:\r在VSTS环境下,根据VSTS提供的项目开发过程数据,进行项目总结。\r阶段主要工作:\r提交各阶段的检查、评审、验收结果;\r提交各阶段VSTS的过程数据;\r根据阶段评审结果和过程数据,从项目目标和需求的实现以及软件工程过程控制管理两个角度,对项目团队的实训结果,进行总结。\r阶段成果检验:\r在结果与过程两个方向上,总结项目团队、以及实训课程本身的得失。

三、教学计划介绍

课程进度安排

时间:1-9(9)周\r 每周6学时\r 总学时:54\r

课程进度安排

教材

0101教材 \r《现代软件工程》\r\r张家浩主编 \r\r机械工业出版社 \r\r2008.10\r

参考书1

《Visual Studio 2005 Team System专家教程》(美)戴维等著,金宇林,唐海洋,周耘译,清华大学出版社2007年10月出版,ISBN号:9787302160793,价格:78.30元。\r此书对VSTS2005的介绍较为详细,可作操作手册使用。书中部分章节的案例代码,可在网上免费下载。

参考书2

《Visual Studio Team System更佳敏捷软件开发》(美)Will Stott, James Newkirk著,刘志杰译,电子工业出版社2009年6月出版,ISBN号:9787121084775,价格:98元。\r本书更多地从敏捷过程的角度,介绍了如何使用VSTS,是对前书的较好补充(前者更关注CMMI过程,后者则强调敏捷)。

参考书3

《软件工程实践》,(美)古肯海默著,苏南等译,机械工业出版社2007年3月出版,I S B N号:9787111207580,价格:39.00元(附光盘)。\r本书可以看成是VSTS的入门级、导论性质的书。

参考书4

《移山之道:VSTS软件开发指南(第2版)》,邹欣,电子工业出版社2008年8月,I S B N号:9787121071485,价格:48.00元。\r本书是目前为止唯一一本中文作者编写的介绍VSTS的书,该书采用“大话西游”的笔法,介绍VSTS这样的软件过程工具,可谓“良苦用心”。较适合非软件专业的人士,饭后茶余阅读。

考核办法

平时成绩、作业、课堂提问\r\r项目实践成绩\r\r期末考试成绩(笔试)

客观评价:\r大多数同学认同教学目标和内容\r课堂教学和实践环节,力求能够帮助同学达到预期目标\r同学们平时的反馈和考试、项目实践成绩证明,课程基本达到了预定的目标(全部成绩符合正态分布,争取没有不及格)\r对本课程的成绩,总体评价是满意的\r

考核办法(老师) ——对教学目标是否达到的评价

如何检查培养目标的实现?

课程目标要服从于培养目标和学生的实际情况\r课程教学过程,要让学生:\r通过对问题的探究和解决,既得到对问题的较深刻的理解\r又体验了探究问题的过程,学习了探究问题的方法\r目标检查的参考方法:\r布鲁姆教育目标分类法

关于“布鲁姆教育目标分类法”

按照布鲁姆的“教育目标分类法”,在认知领域的教育目标可分成:\r知道(知识)\r领会(理解)\r应用\r分析\r综合\r评价

1.知道(知识)(knowledge)

是指认识并记忆。这一层次所涉及的是具体知识或抽象知识的辨认,用一种非常接近于学生自己曾经遇到过的某种观念和现象时的形式,回想起这种观念或现象。\r提示:回忆,记忆,识别,列表,定义,陈述,呈现\r认知性问题:它是对知识的回忆和确认。\r如: “当汽车向右拐的时候,坐在汽车上你会向哪边倒?”

2.领会(comprehension)

是指对事物的领会,但不要求深刻的领会,而是初步的,可能是肤浅的。其包括“转化”、解释、推断等。\r提示: 说明,识别,描述,解释,区别,重述,归纳,比较\r理解性问题:它主要考察学生对概念、规律的理解,让学生进行知识的总结、比较和证明某个观点。\r如 “你能用自己的语言来说清楚什么是惯性吗?”\r

3.应用(application)

是指对所学习的概念、法则、原理的运用。它要求在没有说明问题解决模式的情况下,学会正确地把抽象概念运用于适当的情况。这里所说的应用是初步的直接应用,而不是全面地、通过分析、综合地运用知识。\r提示: 应用,论证,操作,实践,分类,举例说明,解决\r应用性问题:它主要是指对所学习的概念、法则、原理的运用。\r如 “为了避免汽车启动时的惯性作用,在启动前将自己的身体尽量靠近座椅靠背会减少惯性的冲击”\r

4.分析(analysis)

是指把材料分解成它的组成要素部分,从而使各概念间的相互关系更加明确,材料的组织结构更为清晰,详细地阐明基础理论和基本原理。\r提示: 分析,检查,实验,组织,对比,比较,辨别,区别\r分析性问题:它主要让学生透彻地分析和理解,并能利用这些知识来对自己的观点进行辩护。\r如“根据惯性的原理,安全气囊应该放置在什么位置最有效?”

5.综合(synthesis)

是以分析为基础,全面加工已分解的各要素,并再次把它们按要求重新地组合成整体,以便综合地创造性地解决问题。它涉及具有特色的表达,制定合理的计划和可实施的步骤,根据基本材料推出某种规律等活动。它强调特性与首创性,是高层次的要求。\r提示: 组成,建立,设计,开发,计划,支持,系统化\r综合性问题:它能使学生系统地分析和解决某些有联系的知识点集合。\r如“当汽车发生意外撞击时,汽车的车架……是如何吸收撞击的力量的”\r

6.评价(evaluation)

这是认知领域里教育目标的最高层次。这个层次的要求不是凭借直观的感受或观察的现象作出评判,而是理性的深刻的对事物本质的价值作出有说服力的判断,它综合内在与外在的资料、信息,作出符合客观事实的推断。\r提示: 评价,估计,评论,鉴定,辩明,辩护,证明,预测,预言,支持\r评价性问题:理性地、深刻地对事物本质的价值作出有说服力的判断。\r如“某某车型的整体防撞性能评价与分析”

分层次提出问题

这六种类型的问题中\r前三类是属于初级层次的认知问题,它一般有直接的、明确的、无歧义的答案\r而后三类问题属于高级认知问题,通常没有唯一的正确答案,从不同的角度有不同的回答。

培养过程从简单逐渐发展到复杂\r检查培养目标的达成,分层次提出问题;

布鲁姆的教学目标分类法 对培养成果检查的启发

考题难易分布:\r知道/领会:50%\r应用/分析:30%\r综合/评价:20%

知道/领会题题例

1、《人月神话》作者Brooks对寻找银弹感到失望的理由是\r□ A、对根本性任务和次要任务的划分太困难了\r□ B、打破莫尔定律的任务几乎是不可能完成的\r√ C、任何单独的软件工程技术的进展都不能根本解决问题\r□ D、解决根本任务的技术进步还是赶不上硬件生产率的提高\r7、软件产品线的概念是\r□ A、是根据市场需要的一组产品的组合\r□ B、是一类产品生产的流水线\r□ C、是采用相同技术或平台的产品的组合\r√ D、是满足特定市场或用户需求,具有公共可管理特性的产品的组合

应用/分析题题例

题目3(15分):根据需求评审的要求,重新描述“用户界面友好”的可检验标准,即给出能反映“用户界面友好”特征的测试方法和用例。

综合/评价题题例

题3(10分):在项目管理方法中,“挣得值”方法是一种常用的进度/成本综合考核评价技术。但“挣得值”方法最主要的缺点是很难准确地计算出工作任务完成的那个70%的评价值。请回答:\r\r如果要在实际的软件项目管理中运用“挣得值”方法,应对其进行怎样的实际改进和完善?

主观评价:\r教学目标和内容符合大多数同学的需求\r课堂教学和实践环节,符合大多数同学的接受程度与学习条件,确实学到了东西\r经过课程学习,考试成绩符合自己的预期\r对本课程,总体感觉是满意的

考核办法(老师) ——对教学目标是否达到的评价

希望我们教与学双方,共同努力!

张家浩 (zhjh@seu.edu.cn)\r教授级高工、软件学院软件工程教研室主任、软件学院(苏州)软件工程系主任\r1982年2月南京大学计算机系软件专业本科毕业、97年南理工计算机工程硕士。\r1983年-85年日本东京软件咨询公司(SCC)研修《软件工程》2年。1996年赴美国INTEL公司学习。03年获国际项目管理协会专业资质(IPMP)B级认证

四、自我介绍

研究方向:软件工程、软件项目管理。\r目前主要的讲授课程:\r《软件项目管理》、《现代软件工程》\r《软件构架实践》、《软件工程导论》\r《组织行为学(管理心理学)》(外校)\r已出版(机械工业出版社) \r编著《软件项目管理》(2005年2月)\r编著《现代软件工程》(2008年10月) \r翻译《统一软件过程(美GEORGES G. MERX 及 RONALD J.NORMAN著)》 (2010年5月)\r正在编写《软件工程项目实训教程》

四、自我介绍

中国软件行业协会\rUML认证专家组成员\r行业支撑专家组成员\r《支付保障与生产力》编委\r系统与过程改进2010年年会程序委员会委员\r\r

四、自我介绍

长期从事软件企业的软件开发、技术和企业管理工作,主要工作经历包括:\r南京有线电厂金融电子化所\r深圳蛇口紫金金融电子系统工程公司\r中国工商银行总行科技部融商科技公司\r南京同创集团软件开发部、产品项目部、服务器事业部\r江苏国瑞投资有限公司副总裁兼上海国瑞信息系统有限公司\r南京远志咨询科技股份有限公司(台资)\r南京欣网视讯科技股份有限公司(上市公司)总经理办公室、商务中心、研发中心、产品部、电信行业事业部等\r2004年7月到软件学院任专职教师、同时参与一些企业的培训、咨询和认证工作。

自我介绍

苏州亿迪电脑有限公司\r无锡开拓信息系统有限公司\r南京紫金支点技术有限公司\r公安部交通管理科学研究所\r江苏金税计算机系统工程有限公司\r南京欣网视讯科技股份有限公司\r江苏意源科技有限公司\r南京鼎盟科技有限公司\r中国国际航空公司软件中心\r江苏省引江水利水电设计研究院\r南通同方计算机系统集成有限公司\r鼎华通信技术(苏州)有限公司\r苏州新区欧索软件有限公司\r江苏蓝深远望系统集成有限公司\r南京普天通信股份有限公司\r南京熊猫信息产业股份有限公司\r江苏安防科技有限公司\r苏州市世跃计算机系统集成有限公司

曾接受培训的学员单位:

南京皓都信息科技有限公司\r镇江联盟计算机网络有限公司\r南京东大智能化系统有限公司\r苏州市广讯通讯工程有限公司\r南京莱斯大型电子系统工程公司(电子部28所)\r江苏省电子商务有限公司\r南京大汗网络有限公司\r南京同创天地环网有限公司\r江苏华丽计算机网络工程有限公司\r镇江新科海计算机网络有限公司\r南京擎天科技有限公司\r扬州恒春电子有限公司\r浙江奥乐智能系统工程有限公司\r江苏赛杰科技发展有限公司\r江苏国泰国际集团新技术有限公司\r南京南大金利得电子科技有限公司\r江苏省高信集成电路设计有限公司\r江苏瑞鼎科技有限公司\r南京卡索系统工程有限公司\r江苏盛华系统集成工程技术有限公司\r江苏苏源高科技有限公司

曾接受培训的学员单位:

\r南京寒德森科技股份有限公司\r南京西三艾电子系统工程有限公司\r南京优创科技有限公司\r南京联创科技股份有限公司\r苏州广大信息产业有限公司\r江苏省无线电科学研究所有限公司\r南京明泽科技有限公司\r南京南瑞集团\r南京新华海电脑有限责任公司\r江苏省纵横软件有限公司\r江苏天技科技实业有限公司\r南京瑞仪泰克系统集成有限公司\r南京因泰莱电器股份有限公司\r江苏金中天计算机网络有限公司\r江苏省依迪计算机软件发展公司\r南大苏福特

13905161657\rzhjh@seu.edu.cn\r

欢迎参加我的课题