
课程简介:《软件工程》是教育部规定的高等学校计算机科学与技术专业的一门重要的专业主干课程。其课程理论性和实践性都非常强,它是计算机软件的一门核心课程。在计算机科学中,软件工程是设计和实现编译程序、操作系统、数据库系统及其他系统程序和大型应用程序的重要基础。学习本课程的目的:本课程的目的是通过对《软件工程》的学习,让学生掌握系统的软件开发理论、技术和方法,使用正确的工程方法开发出成本低、可靠性好并在机器上能高效运行的软件,从工程化角度培养学生从事大型软件特别是对象式系统开发方法、软件测试与管理的能力。通过本课程的学习,为学生后期的毕业设计环节奠定了良好的基础。教材内容安排:软件工程与软件过程、传统的方法学、OO的方法学、软件项目管理技术先修课程:程序设计基础、数据结构、数据库原理、操作系统原理本课程的学习要求:本课程是继程序设计课程之后,对提高学生软件开发能力有重要作用的一门课程。要求学生在学习本课程前应掌握信息管理系统、数据结构、结构化程序设计、面向对象程序设计以及程序设计方法论。通过本课程的学习,为学生后期的毕业设计环节奠定了良好的基础。参考文献:《软件工程一原理、方法及应用》史济民编著,高等教育出版社《软件工程》卢潇编著,清华大学出版社、北京交通大学出版社《软件工程一理论与实践》清华大学出版社《软件工程》邓良松编著,西安电子科技大学出版社
课程简介: 《软件工程》是教育部规定的高等学校计算机科学与技术专业的一门重要的专业 主干课程。其课程理论性和实践性都非常强,它是计算机软件的一门核心课程。在计 算机科学中,软件工程是设计和实现编译程序、操作系统、数据库系统及其他系统程 序和大型应用程序的重要基础。 学习本课程的目的: 本课程的目的是通过对《软件工程》的学习,让学生掌握系统的软件开发理论、 技术和方法,使用正确的工程方法开发出成本低、可靠性好并在机器上能高效运行的 软件,从工程化角度培养学生从事大型软件特别是对象式系统开发方法、软件测试与 管理的能力。通过本课程的学习,为学生后期的毕业设计环节奠定了良好的基础。 教材内容安排: 软件工程与软件过程、传统的方法学、OO 的方法学、软件项目管理技术 先修课程:程序设计基础、数据结构、数据库原理、操作系统原理 本课程的学习要求: 本课程是继程序设计课程之后,对提高学生软件开发能力有重要作用的一门课 程。要求学生在学习本课程前应掌握信息管理系统、数据结构、结构化程序设计、面 向对象程序设计以及程序设计方法论。 通过本课程的学习,为学生后期的毕业设计环节奠定了良好的基础。 参考文献: 《软件工程—原理、方法及应用》史济民编著,高等教育出版社 《软件工程》卢潇编著,清华大学出版社、北京交通大学出版社 《软件工程—理论与实践》清华大学出版社 《软件工程》邓良松编著,西安电子科技大学出版社

教案(第次课,学时)授课题目第一章软件工程概述了解软件的地位、作用和特点教学目的了解什么是软件危机和软件危机的特点,及软件工程的产生与要求掌握软件工程的基本概念软件危机的特点教学重点软件工程的概念无教学难点教学方法课堂讲授课后作业P9:2、3、6专业术语SE(SoftwareEngineering)主要参考《软件工程》卢潇编著,清华大学出版社、北京交通大学出版社资料《软件工程》邓良松编著,西安电子科技大学出版社教学后记
教 案 (第 次课, 学时) 授课题目 第一章 软件工程概述 教学目的 与要求 了解软件的地位、作用和特点 了解什么是软件危机和软件危机的特点,及软件工程的产生 掌握软件工程的基本概念 教学重点 软件危机的特点 软件工程的概念 教学难点 无 教学方法 课堂讲授 课后作业 P9:2、3、6 专业术语 SE(Software Engineering) 主要参考 资料 《软件工程》卢潇编著,清华大学出版社、北京交通大学出版社 《软件工程》邓良松编著,西安电子科技大学出版社 教学后记

在一些人眼里,今天的软件开发似乎已成为简单的事情,已有了不少很好的开发工具和软件库,软件开发人员训练有素,都强烈渴望去编写很酷的软件,可以在几天的时间里编写出一个相当复杂的软件。但为什么有一些软件能够得到用户的喜欢,而另一些则不能?为什么有些软件能够在市场上成功,而有些则受到冷落?由此可见,开发软件并不一定难,难就难在如何开发有用的软件。我最大的心得是,一个产品一定要找到能够真正适用的场合,不能只是为了技术而从事技术为了研究而进行研究,却不管用户对你所研究的技术和产品有没有需求。否则,无论你的技术是多么优秀,多么先进,恐怕你的产品在市场上都无法获得成功。1.课程的性质、自的和任务软件工程是计算机科学与技术专业的一门专业核心课程。通过本课程的学习,使学生掌握系统的软件开发理论、技术和方法,使用正确的工程方法开发出成本低、可靠性好并在机器上能高效运行的软件,为今后从事软件开发和维护打下坚实的基础。2.课程主要内容本课程比较全面、系统地介绍软件工程的概念、技术与方法。主要内容包括:软件工程概述、软件生存周期及软件需求分析、软件设计方法、软件测试技术等。通过本课程的学习,使学生能真正的从中了解软件开发的整个过程。为了让学生真正得以实践,结合实际软件开发项目,让学生从问题定义开始,经过可行性研究、需求分析、概要设计、详细设计、编码直到最后要对自已开发的软件还要进行测试,这样一个软件开发过程,从而使学生掌握软件开发的基本技能。3.学习本课程的基本要求本课程是继程序设计课程之后,对提高学生软件开发能力有重要作用的一门课程。要求学生在学习本课程前应掌握信息管理系统、数据结构、结构化程序设计、面向对象程序设计以及程序设计方法论。通过本课程的学习,为学生后期的毕业设计环节奠定了良好的基础
在一些人眼里,今天的软件开发似乎已成为简单的事情,已有了不少很好的开发 工具和软件库,软件开发人员训练有素,都强烈渴望去编写很酷的软件,可以在几天 的时间里编写出一个相当复杂的软件。但为什么有一些软件能够得到用户的喜欢,而 另一些则不能?为什么有些软件能够在市场上成功,而有些则受到冷落?由此可见, 开发软件并不一定难,难就难在如何开发有用的软件。 我最大的心得是,一个产品一定要找到能够真正适用的场合,不能只是为了技术 而从事技术为了研究而进行研究,却不管用户对你所研究的技术和产品有没有需求。 否则,无论你的技术是多么优秀,多么先进,恐怕你的产品在市场上都无法获得成功。 1.课程的性质、目的和任务 软件工程是计算机科学与技术专业的一门专业核心课程。通过本课程的学习,使 学生掌握系统的软件开发理论、技术和方法,使用正确的工程方法开发出成本低、可 靠性好并在机器上能高效运行的软件,为今后从事软件开发和维护打下坚实的基础。 2.课程主要内容 本课程比较全面、系统地介绍软件工程的概念、技术与方法。 主要内容包括:软件工程概述、软件生存周期及软件需求分析、软件设计方法、 软件测试技术等。 通过本课程的学习,使学生能真正的从中了解软件开发的整个过程。为了让学生 真正得以实践,结合实际软件开发项目,让学生从问题定义开始,经过可行性研究、 需求分析、概要设计、详细设计、编码直到最后要对自己开发的软件还要进行测试, 这样一个软件开发过程,从而使学生掌握软件开发的基本技能。 3.学习本课程的基本要求 本课程是继程序设计课程之后,对提高学生软件开发能力有重要作用的一门课 程。要求学生在学习本课程前应掌握信息管理系统、数据结构、结构化程序设计、面 向对象程序设计以及程序设计方法论。 通过本课程的学习,为学生后期的毕业设计环节奠定了良好的基础

第一章软件工程概述本章将对软件的地位和作用、软件的特点、软件的发展、软件的危机以及软件工程学科的形成、软件周期等方面的问题和基本概念。传统工程水利工程建筑工程机械工程99090新兴工程气象工程生物工程软件工程1.1软件的概念和特点软件1.1.1车softwaresoft+ware软件是计算机系统中与硬件相互依存的另一部分。软制品(体)它包括程序、数据及其相关文档的完整集合。程序:在运行中能提供所希望的功能和性能的指令集。数据:使程序能够正确运行的数据结构。文档:描述程序研制过程、方法所用的文档。1.1.2软件特点具有抽象性。软件是一种逻辑实体,而不是具体的物理实体。1.是智力劳动的结果。软件的生产与硬件不同,在它的开发过程中没有明显的制2.造过程,是把知识与技术转化成信息的一种产品。3.无备件。在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题。修改点实际曲线失效率磨合失效率调整磨损用坏理想曲线时间时间软件失效率曲线硬件失效率曲线4.对硬件有明显的依存性。软件的开发和运行常受到计算机系统的限制,对计算机系统有着不同程序的依赖性
第一章 软件工程概述 本章将对软件的地位和作用、软件的特点、软件的发展、软件的危机以及软件工 程学科的形成、软件周期等方面的问题和基本概念。 1.1 软件的概念和特点 1.1.1 软件 软件是计算机系统中与硬件相互依存的另一部分。 它包括程序、数据及其相关文档的完整集合。 程序:在运行中能提供所希望的功能和性能的指令集。 数据:使程序能够正确运行的数据结构。 文档:描述程序研制过程、方法所用的文档。 1.1.2 软件特点 1. 具有抽象性。软件是一种逻辑实体,而不是具体的物理实体。 2. 是智力劳动的结果。软件的生产与硬件不同,在它的开发过程中没有明显的制 造过程,是把知识与技术转化成信息的一种产品。 3. 无备件。在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题。 4. 对硬件有明显的依存性。软件的开发和运行常受到计算机系统的限制,对计算 机系统有着不同程序的依赖性

5研发主要由人工完成。软件的开发至今尚未完全摆脱手工艺的开发方式。6.软件本身是复杂的:实际问题的复杂性、程序软件结构的复杂性。7.相当多的软件工作涉及到社会因素。8.软件的成本相当昂贵。成本%10080604020年份2000195019701990成本%软件复杂性软件需求硬件差距软甲软件技术19701985时间19501995年份软件技术的发展落后于需求硬、软件成本比例的变化1.1.3软件的分类1.按软件的功能进行划分(1)系统软件:操作系统,DBMS,设备驱动程序,通信处理程序等(2)应用软件:商业数据处理软件,工程与科学计算软件,计算机辅助设计、制造软件,系统仿真软件,智能产品嵌入软件,医疗、制药软件,事务管理、办公自动化软件,计算机辅助教学软件(3)支撑软件:文本编辑程序,文件格式化程序,磁盘向磁带进行程序,支持需求分析、设计、实现、测试和支持管理的软件2.按软件的规模进行划分(按开发软件所需的人力、时间及完成的源代码行数):
5. 研发主要由人工完成。软件的开发至今尚未完全摆脱手工艺的开发方式。 6. 软件本身是复杂的:实际问题的复杂性、程序软件结构的复杂性。 7. 相当多的软件工作涉及到社会因素。 8. 软件的成本相当昂贵。 1.1.3 软件的分类 1.按软件的功能进行划分 (1)系统软件:操作系统,DBMS,设备驱动程序,通信处理程序等 (2)应用软件:商业数据处理软件,工程与科学计算软件,计算机辅助设计、制 造软件,系统仿真软件,智能产品嵌入软件,医疗、制药软件,事务管理、办公自动 化软件,计算机辅助教学软件 (3)支撑软件:文本编辑程序,文件格式化程序,磁盘向磁带进行程序,支持需 求分析、设计、实现、测试和支持管理的软件 2.按软件的规模进行划分(按开发软件所需的人力、时间及完成的源代码行数):

类别参加人数研制期限产品规模(源代码行数)微型11-4周约500行1小型1-6周约2000行2-5中型1-2年5000-50000行5-202-3年大型5万-10万行45年甚大型100-1000100万行5-10年极大型2000-50001000万行3,按软件工作方式划分:实时处理软件、分时软件、交互式软件、批处理软件4.按软件服务对象的范围划分:项目软件、产品软件5,按软件使用的频度划分:一次使用、频繁使用6.按软件失效的影响划分:高可靠性软件、一般可靠性软件1.2软件危机指的是软件开发和维护过程中所遇到的一系列严重问题。1.2.1软件危机的主要表现1实际投入常常要比预算成本超出很多(成本、进度)。2.产品不符合用户的实际需要。软件开发人员与用户之间信息交流往往很不充分,造成软件人员对用户要求理解上有差异和遗漏,甚至对要解决的问题还是模糊不清的情况下,就仓促着手编程序,最终导致软件产品不符合用户的实际需要。3.软件产品的质量难以保证(常出错、总有错)。4.软件常常是不可维护的(很难改动、重复开发浪费大)。5.软件通常没有相应的完整的文档资料。6.软件成本在计算机系统总成本中所占的比例逐年上升。53%7.软件开发的生产率低,供不应求。差退光成,超出孩童和成特性就失软件开发项目结果统计:1.2.23软件危机的突出事例2004年完成的9000多个项目的结果统计1.IBM公司在19631966开发的OS(用于IBM360机)
3.按软件工作方式划分:实时处理软件、分时软件、交互式软件、批处理软件 4.按软件服务对象的范围划分:项目软件、产品软件 5.按软件使用的频度划分:一次使用、频繁使用 6.按软件失效的影响划分:高可靠性软件、一般可靠性软件 1.2 软件危机 指的是软件开发和维护过程中所遇到的一系列严重问题。 1.2.1 软件危机的主要表现 1.实际投入常常要比预算成本超出很多(成本、进度)。 2.产品不符合用户的实际需要。软件开发人员与用户之间信息交流往往很不充 分,造成软件人员对用户要求理解上有差异和遗漏,甚至对要解决的问题还是模糊不 清的情况下,就仓促着手编程序,最终导致软件产品不符合用户的实际需要。 3.软件产品的质量难以保证(常出错、总有错)。 4.软件常常是不可维护的(很难改动、重复开发浪费大)。 5.软件通常没有相应的完整的文档资料。 6.软件成本在计算机系统总成本中所占的比例逐年上 升。 7.软件开发的生产率低,供不应求。 软件开发项目结果统计: 1.2.2 软件危机的突出事例 1.IBM 公司在 1963—1966 开发的 OS(用于 IBM360 机)

项目工作量:5000人年项目规模:近100万行源程序最多同时有1000人投入开发工作结果却非常糟糕:每次发行新版本,都要更正前一版本中的大约1000个程序错误。Brooks在1972年沉痛地总结说:“正像一只逃亡的野兽掉入泥潭,越是挣扎,陷入得越深,最后无法逃脱灭顶的灾难..程序设计工作就像这样的泥潭..一批批程序员被迫在泥潭中挣扎..谁也没有料到问题竞如此棘手”2.1993年距伦敦90英里的塞兹韦尔核电站正式投入运行,但是,工作人员很快发现核电站的反应堆内温度控制失灵。事后查明,在反应堆的主要保护系统中,有一个10万行代码的控制软件几乎有一半未能通过测试。3.80年代中期,加拿大一家原子能公司生产的、由微处理机控制的癌症治疗仪,在美国和加拿大的多家医院使用,致使6个病人因超剂量辐射而受到严重伤害甚至死亡。4.海湾战争中,一个软件故障打乱了“爱国者”导弹雷达跟踪系统,使导弹发射后未能迎击对方的“飞毛腿”导弹,反而轰击了自已的军营,造成28名士兵丧生,98人死伤。事后查明是由于二个时间累计错误引起的。但是以前每次只运行几小时就重启,所起从来没发现过。5.1996年欧洲航天局发射的阿丽亚娜5型火箭,在发射40秒钟后爆炸,发射场上2名法国士兵当场死亡。这个耗资10亿美元、历时9年的航天计划严重受挫,引起了国际宇航界的震惊。事故发生后,专家组成的调查分析报告指明,爆炸的原因在于惯性导弹导航系统软件中技术要求和设计的错误。6.德国曾由于电话计费系统的软件问题而发生用户需多交付不合理电话费的事件,引起了公众的抗议。1.2.3软件危机带来经济上的影响1.78%的信息技术组织卷入到纠纷当中并最终以诉讼方式中止。2.67%的交付软件产品性能或功能没有达到软件开发者所声称程度
项目工作量:5000 人年 项目规模: 近 100 万行源程序 最多同时有 1000 人投入开发工作 结果却非常糟糕:每次发行新版本,都要更正前一版本中的大约 1000 个程序错 误。 Brooks 在 1972 年沉痛地总结说:“正像一只逃亡的野兽掉入泥潭,越是挣扎,陷 入得越深,最后无法逃脱灭顶的灾难.程序设计工作就像这样的泥潭.一批批程 序员被迫在泥潭中挣扎.谁也没有料到问题竟如此棘手.” 2.1993 年距伦敦 90 英里的塞兹韦尔核电站正式投入运行,但是,工作人员很快 发现核电站的反应堆内温度控制失灵。事后查明,在反应堆的主要保护系统中,有一 个 10 万行代码的控制软件几乎有一半未能通过测试。 3.80 年代中期,加拿大一家原子能公司生产的、由微处理机控制的癌症治疗仪, 在美国和加拿大的多家医院使用,致使 6 个病人因超剂量辐射而受到严重伤害甚至死 亡。 4.海湾战争中,一个软件故障打乱了“爱国者”导弹雷达跟踪系统,使导弹发 射后未能迎击对方的“飞毛腿”导弹,反而轰击了自己的军营,造成 28 名士兵丧生, 98 人死伤。事后查明是由于一个时间累计错误引起的。但是以前每次只运行几小时就 重启,所起从来没发现过。 5.1996 年欧洲航天局发射的阿丽亚娜 5 型火箭,在发射 40 秒钟后爆炸,发射场 上 2 名法国士兵当场死亡。这个耗资 10 亿美元、历时 9 年的航天计划严重受挫,引 起了国际宇航界的震惊。事故发生后,专家组成的调查分析报告指明,爆炸的原因在 于惯性导弹导航系统软件中技术要求和设计的错误。 6.德国曾由于电话计费系统的软件问题而发生用户需多交付不合理电话费的事 件,引起了公众的抗议。 1.2.3 软件危机带来经济上的影响 1.78%的信息技术组织卷入到纠纷当中并最终以诉讼方式中止。 2.67%的交付软件产品性能或功能没有达到软件开发者所声称程度

3.56%的项目承诺交付日期几次推迟。4.45%的软件差错非常严重,以致软件产品无法使用。(据CutterConsortium【2002】调查统计)1.2.4软件危机产生的原因软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。在写出程序代码并在计算机上试运行之前,很难检验开发的正确性,而且软件开发的质量也较难评价。软件不同于一般程序,它的一个显著特点是规模庞大。虽然软件本身独有的特点确实给开发和维护带来一些客观困难,但是人们在开发和使用计算机系统的长期实践中,也确实积累和总结出了许多成功的经验。开发和管理人员只重视开发而轻视问题的定义,使软件产品无法满足用户的需求。软件管理技术不能满足现代软件开发的需要,没有统一的软件质量管理规范。在软件的开发与维护关系问题上存在错误的概念。1.产生根源:与软件本身的特点有关与参加软件开发人员的智力有关与开发软件产品的管理水平有关2.软件的特点:硬件一一物理部件计划、需求分析、设计、试制、测试、生产、使用与维护坏了可用备件替换软件——逻辑部件计划、需求分析、设计、实现、测试、使用与维护维护意味修改、但是可拷贝逻辑产品、不会用坏,不存在磨损、消耗问题主要是研制、是脑力劳动,大部分应用软件“定做
3.56%的项目承诺交付日期几次推迟。 4.45%的软件差错非常严重,以致软件产品无法使用。 (据 Cutter Consortium【2002】调查统计) 1.2.4 软件危机产生的原因 软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。在写出程序代 码并在计算机上试运行之前,很难检验开发的正确性,而且软件开发的质量也较难评 价。 软件不同于一般程序,它的一个显著特点是规模庞大。 虽然软件本身独有的特点确实给开发和维护带来一些客观困难,但是人们在开发 和使用计算机系统的长期实践中,也确实积累和总结出了许多成功的经验。 开发和管理人员只重视开发而轻视问题的定义,使软件产品无法满足用户的需 求。 软件管理技术不能满足现代软件开发的需要,没有统一的软件质量管理规范。 在软件的开发与维护关系问题上存在错误的概念。 1.产生根源: 与软件本身的特点有关 与参加软件开发人员的智力有关 与开发软件产品的管理水平有关 2.软件的特点: 硬件──物理部件 计划、需求分析、设计、试制、测试、生产、使用与维护 坏了可用备件替换 软件──逻辑部件 计划、需求分析、设计、实现、测试、使用与维护 维护意味修改、但是 可拷贝 逻辑产品、不会用坏,不存在磨损、消耗问题 主要是研制、是脑力劳动,大部分应用软件“定做

成本昂贵,费用不断增加,其发展远落后于硬件!“瓶颈”3.软件开发人员的智力:软件开发一一人的思维活动软件质量一一开发人员的文化素质、逻辑抽象思维能力、表达能力以及人体素质错误观念:对用户要求没有完整准确的认识就勿忙着手编写程序。即,只要描述的问题域.有一个初步的概括,就足以着手编写程序了,许多细节可以在以后再补充。·所谓软件开发就是编写程序,只要设法使程序能运行起来就行了。·开发软件的工作应由计算机软件专业人员独立完成,用户不必参与。4.管理技术:成本估计和控制进度计划人员组织文档技术审查与复审1.2.55软件危机解决办法消除软件危机的途径:彻底清除“软件就是程序”的错误观念:充分认识到软件开发不是某种个体劳动的神秘技巧:应该推广使用在实践中总结出来的开发软件的成功的技术和方法:应该开发和使用更好的软件工具。先进的技术措施(方法和工具)科学的组织管理措施软件工程
成本昂贵,费用不断增加,其发展远落后于硬件!“瓶颈” 3.软件开发人员的智力: 软件开发──人的思维活动 软件质量——开发人员的文化素质、逻辑抽象思维能力、表达能力以及人体 素质 错误观念: • 对用户要求没有完整准确的认识就匆忙着手编写程序。即,只要描述的问题域 有一个初步的概括,就足以着手编写程序了,许多细节可以在以后再补充。 • 所谓软件开发就是编写程序,只要设法使程序能运行起来就行了。 • 开发软件的工作应由计算机软件专业人员独立完成,用户不必参与。 4.管理技术: 成本估计和控制 进度计划 人员组织 文档 技术审查与复审 1.2.5 软件危机解决办法 消除软件危机的途径: 彻底清除“软件就是程序”的错误观念; 充分认识到软件开发不是某种个体劳动的神秘技巧; 应该推广使用在实践中总结出来的开发软件的成功的技术和方法 ; 应该开发和使用更好的软件工具。 先进的技术措施(方法和工具) 科学的组织管理措施 ————软件工程

1.3软件工程13.1什么是软件工程1.软件工程SoftwareEngineering于1968年NATO组织在德国召开的一次会议上提出。是把软件当作一种工业产品,要求“采用工程化的原理与方法对软件进行计划、开发和维护”。2.定义:是指导计算机软件开发和维护的工程学科。3.软件工程项目的基本目标一一保证项目成功付出较低成本,达到要求功能,取得较好性能,按时完工,易移植,易维护,运行可靠。(低开发成本)4.软件工程学:(易于维护)(按时交付)软件开发方法学软件工具软件开发技术软件工程环境(高可靠性)高性能软件工程学一互斥关系一一互补关系软件工程管理学软件工程管理软件经济学软件工程学的范畴微软企业文化宗部分内容:Wake up every day with a feeling of passion for the different technology will make inpeople'sLife.每天醒来的时候,要对技术给生活造成的改变始终拥有一份激情。1.3.23软件工程的基本原理1. 用分阶段的生命周期计划严格管理。建立完善的计划:项目概要计划、里程碑计划、项目控制计划、产品控制计划、验证计划和运行维护计划2.坚持进行阶段评审。3.实行严格的产品控制。基准配置管理4.采用现代程序设计技术
1.3 软件工程 1.3.1 什么是软件工程 1.软件工程 Software Engineering 于 1968 年 NATO 组织在德国召开的一次会议上提出。是把软件当作一种工业产 品,要求“采用工程化的原理与方法对软件进行计划、开发和维护”。 2.定义:是指导计算机软件开发和维护的工程学科。 3.软件工程项目的基本目标——保证项目成功 付出较低成本,达到要求功能,取得较好性能,按时完工,易移植,易维护, 运行可靠。 4.软件工程学: 微软企业文化宗旨部分内容: Wake up every day with a feeling of passion for the different technology will make in people’s Life. 每天醒来的时候,要对技术给生活造成的改变始终拥有一份激情。 1.3.2 软件工程的基本原理 1. 用分阶段的生命周期计划严格管理。 建立完善的计划:项目概要计划、里程碑计划、项目控制计划、产品控制计 划、验证计划和运行维护计划 2. 坚持进行阶段评审。 3. 实行严格的产品控制。 基准配置管理 4. 采用现代程序设计技术