1968年在第一届NATO会议上曾经给出了软件工程的一个早期定义:“软件工程就是为了经济地获得可靠的且能在实际机器上有效地运行的软件,而建立和使用完善的工程原理。”这个定义不仅指出了软件工程的目标是经济地开发出高质量的软件,而且强调了软件工程是一门工程学科,它应该建立并使用完善的工程原理。 1993年IEEE进一步给出了一个更全面更具体的定义:“软件工程是: ①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件; ②研究①中提到的途径。” Bauer的定义给出了软件工程的基线,但忽略了软件质量的技术方面和软件度量的重要性。除以上定义外,软件工程还有许多其他的定义,但其基本思想都是强调在软件开发过程中应用工程化原则,解决软件的整体质量较低、最后期限和费用没有保证等问题。 软件工程是一种层次化的技术,如图1.4所示,其中过程、方法和工具是软件工程的三个要素。 * 软件工程旨在开发满足用户需要、及时交付、不超过预算和无故障的软件,其主要目标如下: (1) 合理预算开发成本,付出较低的开发费用; (2) 实现预期的软件功能,达到较好的软件性能,满足用户的需求; (3) 提高所开发软件的可维护性,降低维护费用; (4) 提高软件开发生产率,及时交付使用。 但是,软件工程的不同目标之间是互相影响和互相牵制的。例如,提高软件生产率有利于降低软件开发成本,但过分追求高生产率和低成本便无法保证软件的质量,容易使人急功近利,留下隐患。但是,片面强调高质量使得开发周期过长或开发成本过高,由于错过了良好的市场时机,也会导致所开发的产品失败。因此,我们需要采用先进的软件工程方法,使质量、成本和生产率三者之间的关系达到最优的平衡状态。 质量是软件需求方最关心的问题,用户即使不图物美价廉,也要求个货真价实。生产率是软件供应方最关心的问题,老板和员工都想用更少的时间挣更多的钱。质量与生产率之间有着内在的联系,高生产率必须以质量合格为前提。如果质量不合格,对供需双方都是坏事情。从短期效益看,追求高质量会延长软件开发时间并且增大费用,似乎降低了生产率。从长期效益看,高质量将保证软件开发的全过程更加规范流畅,大大降低了软件的维护代价,实质上是提高了生产率,同时可获得很好的信誉。质量与生产率之间不存在根本的对立,好的软件工程方法可以同时提高质量与生产率。 * 研究软件工程的专家学者们陆续提出了100多条关于软件工程的准则或“信条”。 这7条原理是互相独立的,其中任意6条原理的组合都不能代替另一条原理,因此,它们是缺一不可的最小集合,然而这7条原理又是相当完备的,人们虽然不能用数学方法严格证明它们是一个完备的集合,但是,可以证明在此之前已经提出的100多条软件工程原理都可以由这7条原理的任意组合蕴含或派生。 * 软件工程包括技术和管理两方面的内容,是技术与管理紧密结合所形成的工程学科。 通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学(methodology),也称为范型(paradigm)。在软件工程领域中,这两个术语的含义基本相同。 任何工程方法(包括软件工程)必须以组织对质量的承诺为基础。 软件工程的根基在于质量关注点。 软件工程是一种层次化的技术,以有组织的质量保证为基础。全面的质量管理和类似的理念刺激了不断的过程改进,正是这种改进导致了更加成熟的软件工程方法的不断出现。支持软件工程的根基就在于对质量的关注。 软件工程的基层是过程层。软件工程过程是将技术层结合在一起的凝聚力,使得计算机软件能够被合理地和及时地开发出来。过程定义了一组关键过程区域框架,构成了软件项目的管理控制的基础,并且确立了上下各区域之间的关系,规定了技术方法的采用、工程产品(模型、文档、数据、报告、表格等)的产生、李成本的建立、质量的保证及变化的适当管理。 软件工程的方法层提供里建造软件在技术上需要“如何做?”。方法涵盖了一系列的任务:需求分析、设计、编程、测试和维护。 软件工程方法依赖于一组基本原则,这些原则控制了每一技术区域,且包含建模活动和其他描述技术。 软件工程的工具层对过程和方法提供了自动的或半自动的支持。当这些工具被集成起来使得一个工具产生的信息可被另外一个工具使用时,一个支持软件开发的系统就建立了,称为计算机辅助软件工程(CASE)。CASE集成了软件、硬件和一个软件工程数据库(一个仓库,其中包含了分析、设计、编程和测试的重要信息)。 过程: 定义一系列活动: 技术方法的采用, 工程产品(模型、文档、数据)的产生, 里程碑(milestone)的建立, 质量的保证及变更的管理。 该层构成了软件项目的管理控制的基础。 方法:提供了建造软件在技术上“如何做”。
您可能关注的文档
- (软件工程)【商业案例】产品设计与用户体验--马化腾.ppt
- (软件工程)0导入.ppt
- (软件工程)axure培训.ppt
- (软件工程)餐饮管理系统.docx
- (软件工程)第2章可行性研究.ppt
- (软件工程)第3章需求分析(ok).ppt
- (软件工程)第3章需求分析(第一堂课).pptx
- (软件工程)第4章概要设计(ok).ppt
- (软件工程)第5章详细设计(第二堂课).ppt
- (软件工程)第6章实现(第二堂课编码风格).ppt
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
最近下载
- 2023年浙江省公务员考试行测真题及答案(A卷).doc VIP
- 2025年河北对口医学题库及答案.doc VIP
- 餐饮美学基础 课件 模块四 餐厅民俗美学.pptx
- (山东)建筑与结构工程施工资料表格汇编(鲁JJ001-074).pdf VIP
- 餐饮美学基础 课件 模块三 餐厅环境美学.pptx
- 2025年长沙电力职业技术学院单招笔试职业技能考核试题库含答案解析.docx VIP
- 雷克萨斯-Lexus NX-产品使用说明书-NX200-ZGZ10L-AWXLPC2-NX200NX200t_OM78064C_01-1412-001.pdf VIP
- 小学语文五年级第二学期第二单元整体作业设计.docx
- 外研版小学英语(三年级起点)三年级上册Module2-Unit1同步检测.doc VIP
- 2025年河南省平顶山市中考生物试卷(含答案).pdf
原创力文档

文档评论(0)