⑴ 在软件工程中,高质量的文档标准包括以下哪些
应该包括完整性、一致性和无二义性。
⑵ 什么是软件工程标准化
计算机问世以后,人要和计算机打交道,需要程序设计语言,这种语言不仅应让计算机理解,而且还应让别人看懂,使其成为人际交往的工具。程序设计语言的标准化最早提到日程上来。60年代程序设计语言蓬勃发展,出现了名目繁多的语言,这对于推动计算机语言的发展无疑有着重要作用。但同时也带来许多麻烦。即使同一种语言, 由于在不同型号的计算机上实现时,作了不同程度的修改和变动,形成了这一语言的种种“方言”,为编写出程序的交流设置了障碍。制定标准化程序设计语言,为某一程序设计语言规定若干个标准子集,对于语言的实现者和用户都带来了很大方便。 软件工程标准的类型也是多方面的。它可能包括过程标准(如方法、技术、度量等)、产品标准(如需求、设计、部件、 描述、计划、报告等)、专业标准(如职别、道德准则、认证、特许、课程等)以及记法标准(如术语、表示法、语言等)。 表1)软件工程标准分类 软件生存期 软件生存期 概念需求设计实现测试制造安装与检验运行与维护引退标准类型过程方法 技术 度量 产品需求 设计 部件 描述 计划 报告 专业职别 道德准则 认证 特许 课程 记法术语 表示法 ISO5807 语言 在全面考虑以上两个方面的情况下,软件工程的标准可用一张二维的表格来表示。表1)和2)给出了这个二维表的大致格式。2)表是1)表的继续。表中填入了三个标准的例子: 表2)软件工程标准分类 技术管理 确认与验证 技术管理确认与验证 过程管理产品管理资源管理评审与审计产品分析测试标准类型过程方法 NSAC-39NSAC-39NSAC-39技术FIPS 105 度量 产品需求 设计 部件 描述 计划 报告 专业职别 道德准则 认证 特许 课程 记法术语 表示法 语言 ①FIPSl05是美国国家标准局发布的《软件文档管理指南》 (National Bureau OfStandards,Guideline for Software Documentation Management,FIPS PUB 105,June 1984) ②NSAC—39是美国核子安全分析中心发布的《安全参数显示 系统的验证与确认》(Nuclear Safety Analysis Center,Verification and Validation for Safety Parameter Display Systems,NSAC—39,De— cemberl981) ③ISO 5807是国际标准化组织公布(现已成为我国国家标 准)的《信息处理——数据流程图、程序流程图、系统流程图、程序 网络图和系统资源图的文件编制符号及约定》 随着软件工程学科的发展,人们对计算机软件的认识逐渐深入。软件工作的范围从只是使用程序设计语言编写程序,扩展到整个软件生存期。诸如,软件概念的形成、需求分析、设计、实现、测试、制造、安装和检验、运行和维护直到软件引退(为新的软件所代替)。同时还有许多技术管理工作(如过程管理、产品管理、资源管理)以及确认与验证工作(如评审与审计、产品分析、测试等)常常 是跨越软件生存期各个阶段的专门工作。所有这些方面都应逐步建立起标准或规范来。
⑶ 为什么要进行软件工程标准化,软件工程标准可以分为几个级别
软件工程 (Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面。
在现代社会中,软件应用于多个方面。典型的软件比如有电子邮件,嵌入式系统,人机界面,办公套件,操作系统,编译器,数据库,游戏等。同时,各个行业几乎都有计算机软件的应用,比如工业,农业,银行,航空,政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。
一、见习程序员(AP:assistant programmer)
1、计算机相关专业毕业;英语通过国家四级。
2、具有较强的学习能力,可以编写代码,达到公司的工作要求。
二、程序员(P:programmer)
基本要求:
1、本科学历,半年以上工作经验;英语通过国家四级。
2、达到工作承担要求;具有一定的沟通能力和工作责任心。
技术能力要求:
1、负责编写代码,掌握一种主流语言/开发工具,一种主流操作系统,一种主流数据库。
2、了解和掌握开发作业(PD设计、编码和测试等)的规范和技巧。
3、所编写的代码质量较好。
4、能够按照要求编写文档,文档结构条理清晰,内容详实准确。
5、具有独立理解所担当模块的业务理解能力和问题阐述能力。
6、能阅读**文技术文档。
三、高级程序员(SP:senior programmer)
基本要求:
1、获得程序员资格1年以上;或满足程序员级别标准,2年以上相关行业工作经验。
2、完成年度工作量指标;具有较强的沟通能力和责任心。
3、所承担的项目满意度达到满意以上。
技术能力要求:
1、精通一种主流语言及对应的开发工具;精通数据结构。
2、具有较好的业务理解能力和技术调查能力。
3、编写高质量代码并具有代码审查能力。
4、具有详细设计能力。
5、熟悉系统测试工具,对系统问题具有改善的能力。
6、能够带领2个以上员工开展工作,成功领导过3个以上不少于5人月的项目/模块的团队项目。
7、**语达到*级水平或者具有同等水平,能够阅读*文资料,按照要求编写*语技术文档。
8、了解质量管理体系和项目管理知识。
四、软件工程师(SE:software engineer)
基本要求:
1、获得高级程序员资格2年以上;或满足高级程序员级别标准,4年以上相关行业工作经验。
2、完成年度工作量指标;具有较强的客户沟通能力。
3、担当过一个20人月以上的项目或累计超过60人月项目的技术负责工作。
4、所负责的项目客户满意度达到满意以上。
技术能力要求:
1、精通并熟练运用2种以上的开发工具,至少一种数据库知识,至少一种操作系统知识。
2、能够很快完成新项目的技术调查工作,能够完成复杂算法的设计,能够设计可重用的和柔韧的软件结构。
3、具有系统设计能力及系统提案能力。
4、对系统或项目的技术框架有深入的认识和较丰富的经验。
5、具有某一领域的行业知识。
6、具有项目领导能力。
7、*语达到*级水平或者具有同等水平,能够阅读、编写*语技术文档,具有简单的口语沟通能力。
8、掌握质量管理体系和项目管理知识。
五、资深软件工程师(SSE:senior software engineer)
基本要求:
1、获得软件工程师资格2年以上;或满足软件工程师级别标准,6年以上相关行业工作经验。
2、完成年度工作量指标;具有较强的客户沟通能力。
3、担当过一个50人月以上的项目或累计超过100人月项目的技术负责工作。
4、带领的项目客户满意度满意以上。
5、完成年度培训工作。
技术能力要求:
1、精通并熟练运用2种以上的开发工具,至少一种数据库知识,至少一种操作系统知识。
2、具有整体系统设计能力及系统提案能力。
3、具有较强的技术筹划能力、技术指导能力和处理疑难问题的能力。
4、深入了解某一领域的行业知识。
5、具有大型项目领导能力。
6、*语达到*级并相当于*级水平,熟练会话和编写*语技术文档。
7、熟练掌握质量管理体系和项目管理知识,并能够推进软件开发过程改进。
六、主任软件工程师(CSE:chief software engineer)
基本要求:
1、获得资深软件工程师资格2年以上;或满足资深软件工程师级别标准,8年以上相关行业工作经验。
2、5年项目负责人以上经验,累计超过120人月的技术负责人工作。
3、带领的项目客户满意度满意以上。
4、完成年度培训工作。
5、具有很强的沟通能力,问题判断与解决能力,创新能力。
技术能力要求:
1、精通至少一种主流编程语言。掌握至少一种数据库或至少一种中间件。熟练掌握至少一种操作系统。
2、熟练掌握软件需求分析/大型项目的策划。
3、熟练掌握软件的系统设计。
4、熟悉软件的高级项目管理和质量控制,具有分析和规避重大质量问 题的能力。
5、精通至少一种部门项目相关的业务知识。
6、*语达到*级水平或相当于*级的水平,熟练会话和编写*语技术文档。
职称管理工作和相关标准将随着公司的发展而不断调整完善
⑷ 软件工程师必备知识
软件工程师考试(高级)大纲
一、考试说明
1.考试要求:
(1)理解软件工程管理的概念和任务;
(2)理解软件生存期过程;
(3)理解软件工程标准;
(4)掌握需求分析、测试、维护基本技术;
(5)掌握软件度量、软件配置管理方法;
(6)理解软件复用概念;
(7)理解软件质量保证的手段;
(s)理解软件项目对人员的需求;
(9)理解软件知识产权的基本知识。
2.通过本级水平考试的合格人员具有从事软件系统分析与工程系统分析员、工程管理员的实际工作能力和业务水平。
3.本级水平考试范围包括三个模块,即模块1、模块2和模块3。题型为单项选择题十多项选择题十综合题。每个模块考试时间为90分钟。
二、考试范围
模块1:软件工程技术
1.1软件生存期过程
1.1.1软件工程过程和软件生存期
1.1.2软件生存期模型
1.1.3国际标准:ISO/IECI2207信息技术一软件生存期过程
1.2软件需求分析
1.2.1需求分析的任务
1.2.2需求分析过程
1.2.3需求的类型。
1.2.4需求分析的原则
1.2.5需求分析人员和用户的责任
1.2.6需求文档
1.2.7需求说明技术的选择
1.3软件复用技术
1.3.1软件复用的概念
1.3.2软件开发过程
1.3.3构件技术
1.3.4分层式体系结构
1.3.5实施软件复用开发单位的组织结构
1.4软件测试技术
1.4.1软件测试的基本概念
1.4.2测试用例设计
●白盒测试
●黑盒测试
1.4.3性能测试
1.4.4软件测试策略
1.4.5软件测试工具
1.5软件维护
1.5.1软件维护的概念
1.5.2软件维护活动
1.5.3软件维护的实施
1.5.4软件可维护性
1.5.5软件再工程
1.6软件工具与软件开发环境
1.6.1软件开发工具的分类、作用和功能
1.6.2软件开发环境的概念
模块2:软件质量管理与软件质量保证
2.1软件质量
2.1.1什么是软件质量
2.1.2软件可靠性
2.1.3软件质量问题的根源
2.1.4软件产品质量与软件过程质量
2.2软件质量保证
2.2.1软件质量保证的概念
2.2.2软件质量保证体系
2.2.3质量保证的实施
2.2.4软件质量设计
2.2.5软件容错技术
2.3软件工程标准与软件文档
2.3.1什么是软件工程标准
2.3.2软件工程标准化的意义
2.3.3软件工程标准的制订与推行
2.3.4软件工程标准的层次
2,3.5软件工程国家标准
2.4ISO9000国际标准
2.4.1质量管理、质量认证与质量审核
2.4.2ISO9000标准概要
2.4.3ISO9000族标准构成
2.4.4质量体系
2.4.5ISO9001的主要内容
2.4.6ISO9000_3实施指南概要
2.5软件过程能力评估CMM
2.5.1软件过程评估的意义
2.5.2软件过程能力成熟度分级及其关键过程域
2.5.3软件过程评估的国际标准
2.6软件度量
2.6.1软件度量的概念
2.6.2功能点方法计算软件的大小
2.6.3程序环路复杂度计算
2.6.4Halstead程序工作量计算
2.6.5程序风格度量
2.7软件配置管理
2.7.1什么是软件配置管理
2.7.2配置管理计划的制订
2.7.3变更管理
2.7.4版本管理和发行管理
模块3:软件工程管理
3.1软件工程管理和软件项目管理
3.1.1软件工程管理的任务与意义
3.1.2软件工程管理的范围
3.1.3软件文档管理
3.1.4软件成本估算
3.1.5软件风险分析
3.1.6软件项目进度计划与监控
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.3.5计算机软件的商业秘密与反不正当竞争
=================================
高级软件工程师哪些必须精通2007年09月26日 星期三 下午 05:31程序员的七种武器
信息技术的发展时间虽然不长,但其爆炸式的发展速度使信息技术迅速覆盖社会和人类生活的各个角落。程序员们是这场信息化浪潮的见证者之一,更是其中的主要参与者,这是时代赋予每个程序员的机会和责任。
信息技术的更新速度是惊人的,程序员的职业生涯则是一个要求不断学习的过程,永远不能固步自封。本人在工作期间曾看见过很多程序员只要有闲暇时间就浏览一些没有太大作用的网页,在网上聊天,打游戏,浪费了大量的时间,十分不可取。而另外一种情况是,IT技术的日新月异使很多程序员眼花缭乱,什么都想学,却又不知从何学起,今天看看这个,明天学学那个,贪多不熟。
虽然IT技术发展迅速,但很多技术都是有规律可循,一些基本的概念、原理和方法还很通用,可以举一反三。本人根据自己的体会和经验,向那些刚刚踏入IT行业的新程序员们或正在迷茫的程序员们推荐程序员必须掌握的七种武器,有了这七种武器,虽不敢说笑傲江湖,但将自己立于不败之地还是可以的。
第一种武器:开发工具
至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C++和JAVA是我重点推荐的开发工具,C/C++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用C/C++编写。而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在,而本人对SUN公司的“网络即计算机”的概念相当欣赏,并相信JAVA即其相关的技术集JAVA One会成为未来的主流开发工具之一。其次,如果能掌握一种简便的可视化开发工具,如VB,PowerBuilder,Delphi,C++ Builder,则更好,这些开发工具减小了开发难度,并能够强化程序员对象模型的概念。另外,需要掌握基本的脚本语言,如shell,perl等,至少能读懂这些脚本代码。
第二种武器:数据库
为什么数据库是如此重要?很多应用程序都是以数据库的数据为中心,而数据库的产品也有不少,其中关系型数据库仍是主流形式,所以程序员至少熟练掌握一两种数据库,对关系型数据库的关键元素要非常清楚,要熟练掌握SQL的基本语法。虽然很多数据库产品提供了可视化的数据库管理工具,但SQL是基础,是通用的数据库操作方法。如果没有机会接触商业数据库系统,可以使用免费的数据库产品是一个不错的选择,如mySQL, Postgres等。
第三种武器:操作系统
当前主流的操作系统是Windows,Linux/Unix,熟练地使用这些操作系统是必须的,但只有这些还远远不够。要想成为一个真正的编程高手,需要深入了解操作系统,了解它的内存管理机制、进程/线程调度、信号、内核对象、系统调用、协议栈实现等。Linux作为开发源码的操作系统,是一个很好的学习平台,Linux几乎具备了所有现代操作系统的特征。虽然Windows系统的内核实现机制的资料较少,但通过互联网还是能获取不少资料。只有对操作系统有一定的了解后,你会发现自己上了一个新的台阶。
第四种武器:网络协议TCP/IP
在互联网如此普及的今天,如果您还没有对互联网的支撑协议TCP/IP协议栈有很好的掌握,就需要迅速补上这一课,网络技术已改变了软件运行的模式,从最早的客户/服务器结构,到今天的WEB Services,再到未来的网格计算,这一切都离不开以TCP/IP协议栈为基础的网络协议支持,所以,深入掌握TCP/IP协议是非常必要的。至少,你需要了解ISO七层协议模型,IP/UDP/TCP/HTTP等常用协议的原理和三次握手机制。
第五种武器:DCOM/CORBA/XML/WEB Services
随着技术的发展,软件与网络的无缝结合是必然趋势,软件系统的位置无关性是未来计算模式的重要特征之一,DCOM/CORBA是当前两大主流的分布计算的中间件平台,DCOM是微软COM(组件对象模型)的扩展,而CORBA是OMG支持的规范。程序员需要做的不仅仅是利用商业的开发平台来开发软件,而是要理解这些技术的初衷,即为什么需要这项技术,如果你能理解了这一点,再回头看这些技术的具体实现,就如庖丁解牛,迎刃而解。XML/WebServices重要性不言而喻,XML以其结构化的表示方法和超强的表达能力被喻为互联网上的“世界语”,是分布计算的基石之一。
第六种武器:软件工程与CMM
现代大型软件系统的开发中,工程化的开发控制取代个人英雄主义,成为软件系统成功的保证,一个编程高手并不一定是一个优秀的程序员,一个优秀的程序员是将出色的编程能力和开发技巧同严格的软件工程思想有机结合,编程只是软件生命周期中的其中一环,优秀的程序员应该掌握软件开发各个阶段的基本技能,如市场分析,可行性分析,需求分析,结构设计,详细设计,软件测试等。一句话可以概括我的看法:“创意无限,流程保证”。
第七种武器:强烈的好奇心
什么才是一个程序员的终极武器呢,那就是强烈的好奇心和学习精神。没有比强烈的好奇心和学习精神更好的武器了,它是程序员们永攀高峰的源泉和动力所在。
⑸ 请问“软件工程国家标准文档”(GB开头的)有官方下载地址吗
资料包含了软件工程国家标准文档:操作手册、测试分析报告、试报告、概要设计说明书、可行性研究报告、模块开发卷宗、软件需求说明书、数据说明要求书、数据库要求说明书、文件给制实施规定的实例(GB8567-88)、详细设计说明书(GB8567——88)、项目开发计划(GB856T——88)、项目开发总结报告(GB8567——88)、银行计算机储蓄系统可行性分析报告书 [文档在线提供]/用户手册(GB8567——88)/中华人民共和国国家标准。这是对软件开发必不可少的设计要求,有了它,你将可以运用自己在软件开发上的天赋,设计出自己想要,并且符合国家标准的软件!
⑹ 请问软件开发企业中有没有什么国家标准或者行业标
有用的国家标准很多,大部分是ISO标准的采标。例如GB/T 8566-2007《信息技术 软件生存周期过程》,GB/T 16680-2015《系统与软件工程 用户文档的管理者要求》。
推荐的做法,就是登陆国家标准委的官网,网址
http://www.sac.gov.cn/was5/web/outlinetemplet/gjbzcx.jsp
然后查询 信息技术、软件工程、系统工程、信息安全技术,能够看到很多很多文档,这些网页打开会,可以看到采用国标标准,然后如果英文可以,到ISO的官网上,用标准号或标准名称检索,就能够看到ISO标准。
IEEE在软件工程很面,很多标准是与ISO/IEC一起做的,或者是采用ISO/IEC的标准。CMMI实际上本身是一个框架,但是采用的标准往往就是ISO/IEC标准或IEEE标准。
⑺ 软件文档的前言
软件文档编制贯穿于软件产品开发的各个阶段,是提高软件产品开发效率、规范软件产品开发过程、保证软件产品质量的关键,国家发布的一系列软件文档标准有力地促进了软件产品开发的系统化、规范化和标准化。
为适应最新的软件文档国家标准,并结合近几年教学实践和项目开发的总结和体会,本书对2005年出版的《实用软件文档写作》的内容进行了重新组织、补充和修订,使书中的内容更加具有系统性和实用性。
本书分为9章和一个附录。第1章介绍软件工程标准化的意义、软件工程标准的层次以及已经制定的软件工程标准;第2章介绍软件文档的概念和作用,并对软件文档编制的内容与软件生存周期的关系进行详细介绍;第3章详细介绍计算机软件文档编制规范、计算机软件需求规格说明规范和计算机软件测试文档编制规范3个最新软件文档国家标准,讨论了不同类型文档的编制格式和要求;第4章详细讨论软件文档的编制原则、灵活性、策略、计划、规程以及质量要求,并介绍软件文档编制的写作技巧;第5章详细介绍软件需求文档、软件设计文档和软件测试文档等软件开发文档的编制方法和编制技巧;第6章详细介绍了可行性分析报告、软件开发计划、软件配置管理计划、软件质量保证计划、开发进度月报项目总结报告等软件管理文档的编制内容、方法和技巧;第7章详细介绍软件用户手册、计算机操作手册、软件产品规格说明、软件版本说明等软件产品文档的编制要求、方法和技巧;第8章介绍软件文档的管理和维护,并介绍了常用项目管理软件;第9章介绍如何使用Visio 2007工具编制软件文档;附录介绍了一个软件项目的软件(结构)设计文档,供读者参考。
本书第1~4章由肖刚、张元鸣编写,第5~9章由肖刚、陆佳炜编写,附录由张元鸣编写。全书由肖刚负责策划、组织、整理和统稿。书中内容虽为作者多年从事教学和科研工作的总结和体会,但由于软件技术仍在不断发展之中,以及作者的理论与实践水平有限,难免存在错误和不足之处,敬请读者批评指正。
⑻ 软件标准化的主要特征是
软件工程标准的层次
根据软件工程标准制定的机构和标准适用的范围有所不同, 它可分为五个级别,即国际标准、国家标准、行业标准、企业(机构) 标准及项目(课题)标准。以下分别对五级标准的标识符及标准制 定(或批准)的机构作一简要说明:
①国际标准
由国际联合机构制定和公布,提供各国参考的标准。
ISO()——国际标准化组 织。这一国际机构有着广泛的代表性和权威性,它所公布的标准也 有较大影响。60年代初,该机构建立了“计算机与信息处理技术 委员会”(简称ISO/丁C97),专门负责与计算机有关的标准化工作。 这一标准通常标有ISO字样,如ISO 8631—861nformationprocessing —(信息处 理——程序构造及其表示法的约定。现已被我国收入国家标准)。
②国家标准
由政府或国家级的机构制定或批准,适用于全国范围的标准,如:
GB——中华人民共和国国家技术监督局是我国的最高标 准化机构,它所公布实施的标准简称为“国标”。现已批准了若干 个软件工程标准(详见本章9.5节)。
ANSI()——美国国家标 准协会。这是美国一些民间标准化组织的领导机构,具有一定权 威性。
FIPS(NBS)[Federal lnformation Processing Standards(Nation— alBureau of Standards)]——美国商务部国家标准局联邦信息处理 标准。它所公布的标准均冠有FIPS字样,如,1987年发表的FIPS PUB 132—87 Guideline for validation and verification plan of computer software软件确认与验证计划指南。
BS(British Standard)——英国国家标准。
JIS(Japanese lnstrial Standard)——日本工业标准。
⑧行业标准
由行业机构、学术团体或国防机构制定,并适用于某个业务 领域的标准,如:
IEEE(1nstitute Of Electrical and Electronics Engineers)——美电气和电子工程师学会。近年该学会专门成立了软件标准分技 术委员会(SESS),积极开展了软件标准化活动,取得了显著成果, 受到了软件界的关注。IEEE通过的标准常常要报请ANSI审批,使 其具有国家标准的性质。因此,我们看到IEEE公布的标准常冠有 ANSI字头。例如,ANSI/IEEE Str 828—1983软件配置管理计划标 准。
GJB——中华人民共和国国家军用标准。这是由我国国防 科学技术工业委员会批准,适合于国防部门和军队使用的标准。例 如,1988年发布实施的GJB473—88军用软件开发规范。
DOD-STD(DepartmentOfDefense-STanDards)——美国国防 部标准。适用于美国国防部门。
MIL-S(MILitary-Standards)——美国军用标准。适用于美军 内部。
此外,近年来我国许多经济部门(例如,航天航空部、原国家 机械工业委员会、对外经济贸易部、石油化学工业总公司等。)开展 了软件标准化工作,制定和公布了一些适应于本部门工作需要的 规范。这些规范大都参考了国际标准或国家标准,对各自行业所属 企业的软件工程工作起了有力的推动作用。
④企业规范
一些大型企业或公司,由于软件工程工作的需要,制定适用于 本部门的规范。例如,美国IBM公司通用产品部(GeneralProcts Division)1984年制定的“程序设计开发指南”,仅供该公司内部使 用。
⑤项目规范
由某一科研生产项目组织制定,且为该项任务专用的软件工 程规范。例如,计算机集成制造系统(CIMS)的软件工程规范。
⑼ 软件工程为什么要强调规范化和文档化
软件工程强调规范化和文档化。规范化的目的是使众多的开发者遵守相同的规范,使软件生产摆脱个人生产方式,进入标准化、工程化的生产方式。文档化是将软件的设计思想、设计过程和实现过程完整地记录下来,以便于后人的使用和维护,在开发过程中各类相关人员借助于文档进行交流和沟通。
另外,在开发过程中产生的各类文档使得软件的生产过程由不可见变为可见,便于管理者对软件生产进度和开发过程进行管理。在用户最终验收时可以通过对提交的文档进行技术审查和管理审查,保证软件的质量。
(9)软件工程标准化文档扩展阅读:
软件工程原理、软件工程过程、软件工程方法、软件工程模型、软件工程管理、软件工程度量、软件工程环境、软件工程应用、软件工程开发使用。著名软件工程专家B.Boehm综合有关专家和学者的意见并总结了多年来开发软件的经验,于1983年在一篇论文中提出了软件工程的七条基本原理:
(1)用分阶段的生存周期计划进行严格的管理。
(2)坚持进行阶段评审。
(3)实行严格的产品控制。
(4)采用现代程序设计技术。
(5)软件工程结果应能清楚地审查。
(6)开发小组的人员应该少而精。
(7)承认不断改进软件工程实践的必要性。