软件总体设计过程中需要遵守哪些基本原理

作者&投稿:辛具 (若有异议请与网页底部的电邮联系)
~

定义

软件工程一直以来都缺乏一个统一的定义,很多学者、组织机构都分别给出了自己的定义:

Boehm:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。

IEEE:软件工程是开发、运行、维护和修复软件的系统方法。

Fritz Bauer:建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。

目前比较认可的一种定义认为:软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。

软件工程学的内容

软件工程学的主要内容是软件开发技术和软件工程管理.

软件开发技术包含软件工程方法学、软件工具和软件开发环境;软件工程管理学包含软件工程经济学和软件管理学。

软件工程基本原理

著名软件工程专家B.Boehm综合有关专家和学者的意见并总结了多年来开发软件的经验,于1983年在一篇论文中提出了软件工程的七条基本原理。

(1)用分阶段的生存周期计划进行严格的管理。

(2)坚持进行阶段评审。

(3)实行严格的产品控制。

(4)采用现代程序设计技术。

(5)软件工程结果应能清楚地审查。

(6)开发小组的人员应该少而精。

(7)承认不断改进软件工程实践的必要性。

B.Boehm指出,遵循前六条基本原理,能够实现软件的工程化生产;按照第七条原理,不仅要积极主动地采纳新的软件技术,而且要注意不断总结经验。

软件工程(SoftWare Engineering)的框架可概括为:目标、过程和原则。

(1)软件工程目标:生产具有正确性、可用性以及开销合宜的产品。正确性指软件产品达到预期功能的程度。可用性指软件基本结构、实现及文档为用户可用的程度。开销合宜是指软件开发、运行的整个开销满足用户要求的程度。这些目标的实现不论在理论上还是在实践中均存在很多待解决的问题,它们形成了对过程、过程模型及工程方法选取的约束。

(2)软件工程过程:生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。软件工程过程主要包括开发过程、运作过程、维护过程。它们覆盖了需求、设计、实现、确认以及维护等活动。需求活动包括问题分析和需求分析。问题分析获取需求定义,又称软件需求规约。需求分析生成功能规约。设计活动一般包括概要设计和详细设计。概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。实现活动把设计结果转换为可执行的程序代码。确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。维护活动包括使用过程中的扩充、修改与完善。伴随以上过程,还有管理过程、支持过程、培训过程等。

(3)软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则。

软件工程必须遵循什么原则

围绕工程设计、工程支持以及工程管理已提出了以下四条基本原则:

(1)选取适宜的开发模型

该原则与系统设计有关。在系统设计中,软件需求、硬件需求以及其它因素间是相互制约和影响的,经常需要权衡。因此,必需认识需求定义的易变性,采用适当的开发模型,保证软件产品满足用户的要求。

(2)采用合适的设计方法

在软件设计中,通常需要考虑软件的模块化、抽象与信息隐蔽、局部化、一致性以及适应性等特征。合适的设计方法有助于这些特征的实现,以达到软件工程的目标。

(3)提供高质量的工程支撑

工欲善其事,必先利其器。在软件工程中,软件工具与环境对软件过程的支持颇为重要。软件工程项目的质量与开销直接取决于对软件工程所提供的支撑质量和效用。

(4)重视软件工程的管理

软件工程的管理直接影响可用资源的有效利用,生产满足目标的软件产品以及提高软件组织的生产能力等问题。因此,仅当软件过程予以有效管理时,才能实现有效的软件工程。

软件工程是指导计算机软件开发和维护的工程学科。

采用工程的概念、原理、 技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够 得到的最好的技术方法结合起来,这就是软件工程。

软件工程强调使用生存周期方法学和各种结构分析及结构设计技术。它们是在七十年代为了对付应用软件日益增长的复杂程度、漫长的开发周期以及用户对软件产品经常不满意的状况而发展起来的。人类解决复杂问题时普遍采用的一个策略就是“各个击破”,也就是对问题进行分解然后再分别解决各个子问题的策略。软件工程采用的生存周期方法学就是从时间角度对软件开发和维护的复杂问题进行分解,把软件生存的漫长周期依次划分为若干个阶段,每个阶段有相对独立的任务,然后逐步完成每个阶段的任务。采用软件工程方法论开发软件的时候,从对任务的抽象逻辑分析开始,一个阶段一个阶段地进行开发。前一个阶段任务的完成是开始进行后一个阶段工作的前提和基础,而后一阶段任务的完成通常是使前一阶段提出的解法更进一步具体化,加进了更多的物理细节。每一个阶段的开始和结束都有严格标准,对于任何两个相邻的阶段而言,前一阶段的结束标准就是后一阶段的开始标准。在每一个阶段结束之前都必须进行正式严格的技术审查和管理复审,从技术和管理两方面对这个阶段的开发成果进行检查,通过之后这个阶段才算结束;如果检查通不过,则必须进行必要的返工,并且返工后还要再经过审查。审查的一条主要标准就是每个阶段都应该交出“最新式的”(即和所开发的软件完全一致的)高质量的文档资料,从而保证在软件开发工程结束时有一个完整准确的软件配置交付使用。文档是通信的工具,它们清楚准确地说明了到这个时候为止,关于该项工程已经知道了什么,同时确立了下一步工作的基础。此外,文档也起备忘录的作用,如果文档不完整,那么一定是某些工作忘记做了,在进入生存周期的下一阶段之前,必须补足这些遗漏的细节。在完成生存周期每个阶段的任务时,应该采用适合该阶段任务特点的系统化的技术方法——结构分析或结构设计技术。

把软件生存周期划分成若干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发工程的困难程度;在软件生存周期的每个阶段都采用科学的管理技术和良好的技术方法,而且在每个阶段结束之前都从技术和管理两个角度进行严格的审查,合格之后才开始下一阶段的工作,这就使软件开发工程的全过程以一种有条不紊的方式进行,保证了软件的质量,特别是提高了软件的可维护性。总之,采用软件工程方法论可以大大提高软件开发的成功率,软件开发的生产率也能明显提高。

目前划分软件生存周期阶段的方法有许多种,软件规模、种类、开发方式、开发环境以及开发时使用的方法论都影响软件生存周期阶段的划分。在划分软件生存周期的阶段时应该遵循的一条基本原则就是使各阶段的任务彼此间尽可能相对独立,同一阶段各项任务的性质尽可能相同,从而降低每个阶段任务的复杂程度,简化不同阶段之间的联系,有利于软件开发工程的组织管理。一般说来,软件生存周期由软件定义、软件开发和软件维护三个时期组成,每个时期又进一步划分成若干个阶段。下面的论述主要针对应用软件,对系统软件也基本适用。

软件定义时期的任务是确定软件开发工程必须完成的总目标;确定工程的可行性,导出实现工程目标应该采用的策略及系统必须完成的功能;估计完成该项工程需要的资源和成本,并且制定工程进度表。这个时期的工作通常又称为系统分析,由系统分析员负责完成。软件定义时期通常进一步划分成三个阶段,即问题定义、可行性研究和需求分析。

开发时期具体设计和实现在前一个时期定义的软件,它通常由下述四个阶段组成:总体设计,详细设计,编码和单元测试,综合测试。

维护时期的主要任务是使软件持久地满足用户的需要。具体地说,当软件在使用过程中发现错误时应该加以改正;当环境改变时应该修改软件以适应新的环境;当用户有新要求时应该及时改进软件满足用户的新需要。通常对维护时期不再进一步划分阶段,但是每一次维护活动本质上都是一次压缩和简化了的定义和开发过程。




什么是PA专案管理?它工作内容是什么?
投资控制的目的,是确保在批准的预算内完成工程专案的诸过程。根据资源需用计划及价格测算所需资金,编制资金使用计划,并分配到各单项工程和各项工作之中。从工程专案设计开始就应严格控制,限额设计,通过控制设计变更和减少承包商的索赔,达到投资控制的目标。 5、质量管理 确定工程专案质量标准,技术要求,定期评价总体专案执...

一个工程中,其中某一环节完成后要进入下一环节需要进过哪些步骤?_百度...
技术成熟的中小型工程,为了简化设计步骤,缩短设计时间,可以分为两个阶段进行;技术既简单有成熟的小型工程或个别生产车间可以一次完成设计。项目建设项目建设是指具有独立的行政组织机构并实行独立的经济核算,具有设计任务书,并按一个总体设计组织施工的一个或几个单项工程所组成的建设工程,建成后具有完整的系统,可以独立...

用eclipse运行程序时的问题
JavaBean紧凑性的需求是基于JavaBean组件常常用于分布式计算环境中,这使得JavaBean组件常常需要在有限的带宽连接环境下进行传输。显然,为了适应传送的效率和速度,JavaBean组件必须是越紧凑越好。另外,为了更好地创建和使用组件,就应该使其越简单越好。通常为了提高组件的简易性和紧凑性,设计过程需要投入相对较大的功夫。 现在...

工程设计项目的管理要素与控制方法?
一个工程设计项目的管理成功与否,与合同的管理,工程设计人员素质及工程设计项目管理的质量、成本、进度等环节的科学管理方法密切相关。 1合同管理 1.1合同是管理的灵魂,是维持甲乙双方关系的纽带。在工程设计过程中以合同内容为基础实施设计项目管理。设计单位是合同主体,对整个设计过程的所有工作内容、工作范围负有主要...

软件设计(总体设计、概要设计、详细设计)中常用的图有哪些
在软件设计领域,包括总体设计、概要设计与详细设计三个阶段,常用图示化工具辅助设计过程。在敏捷开发中,系统总体设计与概要设计往往合并为架构设计。软件设计中常用的图形化工具主要基于UML(统一建模语言),这种语言涵盖了系统设计的多个层次,包括静态图与动态图,能全面覆盖设计需求。Robustness Diagram(...

软件工程总体设计阶段的主要目的是什么
1、划分出组成系统的物理元素——程序、文件、数据库、人工过程和文档等。2、设计系统的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。总体设计时必修遵守原理:1、模块化:把复杂的问题分解成许多容易解决的小问题,原来的问题也就容易解决了。2、抽象:在实践中认识...

动漫制作详细过程以及过程中所需要的软件工具
传统动画的制作过程可以分为总体规划、设计制作、具体创作和拍摄制作四个阶段,每一阶段又有若干个步骤:1、总体设计阶段 1)剧本。任何影片生产的第一步都是创作剧本,但动画片的剧本与真人表演的故事片剧本有很大不同。一般影片中的对话,对演员的表演是很重要的,而在动画影片中则应尽可能避免复杂的对话。在这里最重...

机械设计的设计阶段
编制设计计算说明书时,应包括方案选择及技术设计的全部结论性的内容。编制供用户使用的机器使用说明书时,应向用户介绍机器的性能参数范围、使用操作方法、日常保养及简单的维修方法、备用件的目录等。其他技术文件,如检验合格单、外购件明细表、验收条件等,视需要与否另行编制。(五)计算机在机械设计中的应用随着计算机...

总体设计又称为概要设计用来将什么转化为软件体系结构
完成大型工程体系的总体方案和总体技术途径的设计过程。在一般工程设计中总体设计则指按计划任务书的内容进行概略计算,附以必要的文字说明和图纸设计,又称初步设计。对于工程系统工程总体设计是指前一种含义。总体设计是工程项目开发过程中的一个重要阶段 研制大型工程体系的基本问题是,怎样把比较笼统的初始...

如何做好总包项目中的设计管理
1.成本控制 工程总承包项目中要求设计人员认真学习招投标文件和投标时的澄清和承诺,将投标报价的工作量分解到各专业,明确限额设计目标,使设计过程中采取科学的技术和方式,保证项目在满足业主要求的前提下尽可能减少投入,提高效率,缩短工期。 2.进度控制 〃编制项目设计计划 项目设计组需要先编制项目...

西青区14762363600: 软件工程师在设计过程中应该遵循的基本原则是什么 -
宜所速必: 您好,很高兴为您解答:监理工程师在审批工程延期时应遵循下列原则:合同条件、影响工期、实际情况.希望可以帮到您,谢谢.

西青区14762363600: 完成良好的软件设计应遵循哪些原则 -
宜所速必: 一、程序内部文档应具备的规则 1、标识符应含有含义鲜明的文字. 含义鲜明的文字,能正确地提示程序对象所代表的实体.这对于帮助阅读者理解程序是非常重要的.如果用缩写的形式,那么缩写规则应该一致,并且应该给每个名字加注解....

西青区14762363600: 谁知道软件设计规约主要包括哪些内容 -
宜所速必: 简要的来说我们设计软件需要遵守两大类 (一)从设计层面来说 1、严格按照程序语言编写顺序编写程序. 2、规范使用各各程序之间的名称 3、编写代码需要有明显的结构性. 4、如果是多人完成的程序需要提供在程序中标注各各代码的作用...

西青区14762363600: 开发软件项目,在软件结构设计时,必须遵循什么原则 -
宜所速必: 为高质量地开发软件项目,在软件结构设计时必须遵循(信息隐蔽)的原则,(自顶向下)建立软件系统的模块结构.并且应根据(模块独立性)评价系统模块划分的质量.此外在模块设计时,应从5种基本的(控制结构)出发,利用它们组合成一个模块的程序块结构.要求每个(程序块)的结构应是单入口和单出口.

西青区14762363600: 软件工程必须遵循什么原则 -
宜所速必: 围绕工程设计、工程支持以及工程管理已提出了以下四条基本原则:(1)选取适宜的开发模型该原则与系统设计有关.在系统设计中,软件需求、硬件需求以及其它因素间是相互制约和影响的,经常需要权衡.因此,必需认识需求定义的易变...

西青区14762363600: 产品设计时有哪些原则要遵守?
宜所速必: ▲优化原则:这属于广义优化,包括方案择优、设计参数优化、总体方案优化.也就是高效、优质、经济地完成设计任务. ▲继承原则:将前人的成果,有批判地吸收,...

西青区14762363600: 以下哪些不是系统设计中设计必须遵循的基本原则 -
宜所速必: 易用性原则方便上网客户浏览和操作,最大限度地减轻后台管理人员的负担,做到部分业务的自动化处理.安全性原则系统采取全面的安全保护措施,具有防病毒感染、防黑客攻击措施,同时在防雷击、过载、断电和人为破坏方面进行加强...

西青区14762363600: 软件设计的基本步骤是什么 -
宜所速必: 软件开发是指一个软件项目的开发,如市场调查,需求分析,可行性分析,初步设计,详细设计,形成文档,建立初步模型,编写详细代码,测试修改,发布等. 软件是怎么样开发出来的 第一个步骤是市场调研,技术和市场要结合才能体现最...

西青区14762363600: 系统方案设计要求有什么?
宜所速必: 设计原则 这是我们设计时要考虑的总体原则,它必需满足设计目标中的要求,遵循系统整体性、先进性和可扩充性原则,建立经济合理、资源优化的系统设计方案.下面我...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网