软件工程概述_快速开发框架

软件工程是一门交叉学科,快速开发框架项目实践中经过实践考验而证明正确的工程管理技术和当前能够得到的最好的技术方法结合起来,以软件方法和技术为核心,重点对大型软件进行分析与评价、规格说明、设计和演化。

软件工程定义:

软件工程是一门交叉学科,是将计算机科学、数学、工程学和管理学等基本原理应用于软件的开发与维护中,以软件方法和技术为核心,重点对大型软件进行分析与评价、规格说明、设计和演化,同时涉及管理、质量、创新、标准、个人技能、团队协作和专业实践采用工程化的方法来开发和维护软件,快速开发框架把经过实践考验而证明正确的工程管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效的维护它。这就是软件工程。

软件工程的内容:

针对软件生命周期全过程及其每个具体阶段的工程方法、技术细则、文档规范、管理制度、人员组织以及质量保证体系等。每个软件开发者必须按工程的统一要求行事,不能随意地自由发挥。每个开发阶段都要产生健全的、符合工程规范的文档。软件产品是这些文档的总合,而不仅仅是程序。

软件工程围绕工程设计、工程支持以及工程管理,提出了以下四项基本原则:

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

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

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

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

这一软件工程框架告诉我们,软件工程的目标是可用性、正确性和合算性;实施一个软件工程要选取适宜的开发范型,要采用合适的设计方法,要提供高质量的工程 支撑,要实行开发过程的有效管理;软件工程活动主要包括需求、设计、实现、确认和支持等活动,每一活动可根据特定的软件工程,采用合适的开发范型、设计方 法、支持过程以及过程管理。根据软件工程这一框架,软件工程学科的研究内容主要包括:软件开发范型、软件开发方法、软件过程、软件工具、快速开发框架软件开发环境、计算机辅助软件工程(CASE) 及软件经济学等。

 作用:高效开发高质量软件

自从软件工程概念提出以来,经过30多年的研究与实践,虽然“软件危机”没得到彻底解决,但在软件 开发方法和技术方面已经有了很大的进步。尤其应该指出的是,自80年代中期,美国工业界和政府部门开始认识到,在软件开发中,最关键的问题是软件开发组织 不能很好地定义和管理其软件过程,从而使一些好的开发方法和技术都起不到所期望的作用。也就是说,在没有很好定义和管理软件过程的软件开发中,开发组织不 可能在好的软件方法和工具中获益。

根据调查,中国的现状几乎和美国10多年前的情况一样,软件开发过程没有明确规定,文档不完整,也不规范,软件项目的成功往往归功于软件开发组的一些杰出 个人或小组的努力。这种依赖于个别人员上的成功并不能为全组织的软件生产率和质量的提高奠定有效的基础,只有通过建立全组织的过程改善,采用严格的软件工 程方法和管理,并且坚持不懈地付诸实践,才能取得全组织的软件过程能力的不断提高。

这一事实告诉我们,只有坚持软件工程的四条基本原则,既重视软件技术的应用,又重视软件工程的支持和管理,并在实践中贯彻实施,才能高效地开发出高质量的软件。

软件工程三要素:

通常,快速开发框架把在软件生命周期整个过程中使用的一整套技术方法的集合,称为软件工程方法学,主要包括 3 个要素:方法、工具和过程。

方法:是指完成软件开发过程中的各项任务的技术方法,主要阐述了"怎样做"的问题;

工具:是指是为了运用方法而提供自动的或者半自动的软件工程支撑环境;

过程:是指为了获得高质量软件所需完成的一系列的任务和框架,规定了完成各个任务的工作步骤,主要解答了"何时做"的问题;

流程图

流程图是不同于UML图的,主要是在开发过程中的产物,用于简单直观的描述业务逻辑流程。

产品形态图/业务形态图——面向老板/投资人/产品经理,目的在产品前期思考产品定位和核心功能点,根据最终的产品形态会延伸出几条主业务流程,再根据业务流程制作业务流程图和功能流程图。
业务流程图——面向业务人员/老板,目的说明整个业务逻辑流向,具体元素包括角色、环节,说明清楚每个角色在每个环节需要处理什么事情,从而实现业务流程重复运转。
功能流程图——面向产品经理本身/开发人员,目的是确定功能设计逻辑,以业务流程图为主线,去细化每个环节的功能逻辑(如必填项/业务状态/异常提示等),还有跟不同系统之间的数据同步逻辑,在画axure之前产品经理更应该把功能流程图画出来,这样子才能更好查漏补缺。
页面流程图——面向产品经理/前端开发人员/UIUE设计师,目的明确页面的主功能和页面间的跳转,让UEUI可以更具体了解页面和页面之间的交互关联。
如下一个流程图

统一建模语言UML:

IBM公司的统一建模语言UML称为了业界认同的统一建模语言

UML组成

UML由模型元素,扩展机制、图及视图等部分构成,由模型元素或扩展机制构成图,由图构成视图。UML定义了9种不同的图,9种图分为两类:一类是静态图,包括用例图、类图、对象图、组件图和配置图,另一类是动态图,包括序列图、协作图、状态图和活动图。它包括5种不同的视图:用例视图、设计视图、过程视图、实现视图和配置视图。

UML功能

UML作为一种建模语言,则用于系统开发人员之间,开发人员与用户之间的交流。主要功能包括:为软件系统的产出建立可视化模型,规约软件系统的产出,构造软件系统的产出,为软件系统的产出建立文档。

快速开发框架统一建模语言是专门用来进行软件系统设计和构架建模的一门可视化建模语言,它通过各种图示展示了软件系统的方方面面。

UML:

·用例图:

·时序图:

时序图

·状态图:

·类图:

1、符号:-表示private,+表示public 属性名 : 属性类型(如果是抽象类或者抽象方法,字体用斜体表示)

2、工具

(1)快速开发工具:代码生成器,一键生成所有源码。

(2)Power Designer:er图,自动产生数据库

(3)Rational Rose

面向对象设计原则:

1、首要的标准:

·满足快速开发框架软件的功能需要

·满足软件功能需求的设计并不一定就是好的设计

2、好的设计

·可读性---其他人是否能轻易理解

·可复用性---软件系统的架构、类、组件等是否容易被复用

·可扩展性---软件面对需求变化时,功能或性能扩展的难易程度

·可维护性---软件维护(主要是指软件错误的修改、遗漏功能的添加等)的难易程度

3、内聚度:

     --耦合度:表示类之间关系的紧密程度

     --原则:高内聚低耦合

设计原则:

高内聚,低耦合是所有优秀软件的共同特征

·单一职责原则

·开闭原则

·里氏替换原则

·依赖倒转原则

·接口隔离原则

·组合/聚合复用原则

·迪米特法则

网站&系统开发技术学习交流群:463167176

本站文章除注明转载外,均为本站原创或翻译,欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,共创和谐网络环境。
转载请注明:文章转载自:软件开发框架 » 软件工程概述_快速开发框架
本文标题:软件工程概述_快速开发框架
本文地址:https://www.hocode.com/OrgTec/Plugin/0039.html

相关文章: 软件工程UML建模及图表介绍

电话
电话 18718672256

扫一扫
二维码