- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件设计与体系结构第一章软件工程与软件设计资料
* 软件设计与体系结构概述 前言 书上说的太文艺,我们说通俗的。 为什么要学习《软件工程与体系结构》? 你有没有试过自己开发小app代码一多就乱了? 有没有试过修改一个简单的功能,发现该功能的一个字段引用甚多,改起来麻烦,且容易漏改? 又有没有试过和人合作编程序,搞笑了,完全看不懂小伙伴写得是啥啊! 那么《软件工程与体系结构》这门课就能帮到你,连998都不用! 前言 前言 PART 01 PART 02 软件工程与软件危机 软件体系结构的定义 主要内容 PART 03 软件体系结构的发展历程 PART 04 软件体系结构的意义 PART 05 软件开发过程模型与软件设计 软件工程(Software Engineering) 软件工程(Software Engineering):是将系统的、规范的、可度量的方法应用于软件的开发、运行和维护过程,以及对上述方法的研究。 一般认为,软件工程由方法、工具和过程三个要素组成。 计算机软件是与计算机系统操作有关的程序、规程、规则及任何与之有关的文档及数据。 软件工程的目标是:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可复用性、可适应性、可移植性和可追踪性并满足用户需求的软件产品。 在软件开发过程中必须遵循下列软件工程原则:抽象、信息隐藏、模块化、局部化、一致性、完全性和可验证性。 软件危机(Software Crisis) 在计算机软件开发和维护过程中所遇到的一系列严重问题。 软件危机的表现: 软件成本日益增加:开发、部署于应用成本高 开发进度难以控制:不能按期完成 软件质量差:错误率高,不能满足用户的需求,没有生命力 软件维护困难:成本高,维护效果不理想,可能带来潜在的错误 软件危机(Software Crisis) 软件危机的原因: (1)用户对软件需求的描述不精确。 (2)软件开发人员对用户需求的理解与用户期望有差异 (3)多数管理人员缺乏开发大型软件系统的经验。 (4)软件项目开发人员不能有效地、独立自主地处理大型软件的全部关系和各个分支。 (5)缺乏有力的方法学和工具方面的支持。 (6)软件产品的特殊性和人类智力的局限性。 软件体系结构(Software Architecture) 一般描述 软件体系结构(Software Architecture)最初被称为“大型软件设计”,主要对大规模的复杂软件系统进行总体的结构设计和规格说明。 软件体系结构是软件工程学的自然延伸。 在软件需求与软件设计之间的一座桥梁,着重解决软件系统的结构和需求向实现平坦过渡的问题。 软件体系结构(Software Architecture) 定义 软件体系结构为软件系统提供了一个结构、属性和行为的高级抽象。它不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。 软件体系结构主要由构成系统的元素的描述、这些元素的相互作用关系、指导元素集成的模式以及这些模式的约束组成。 软件体系结构(Software Architecture) 定义 Garlan Shaw模型: 软件体系结构(SA)={构件(Component),连接件(Connector),约束(Constraint)}。 构件是组成系统的基本元素。它可以是一组代码,如程序的模块;也可以是一个独立的软件,如数据库服务器。 连接件把不同的构件连接起来形成软件系统。它可以是过程调用、管道、远程方法调用等等。 约束一般为构件连接时的规则、条件或方式。 软件体系结构(Software Architecture) Garlan Perry的定义: 软件体系结构是一个软件系统各个构件的结构、它们的相互关系,以及进行软件系统设计的原则和方针。 在此定义中重点强调了设计原则,即如何进行系统设计和组装构件。 软件体系结构(Software Architecture) 定义 IEEE 610.12-1990中的定义: 软件体系结构(SA)={构件(Component),连接件(Connector),环境(Environment),原理(Principle)}。 软件体系结构是以构件、构件之间的关系、构件与环境之间的关系为内容的某一软件系统的组织结构以及指导上述内容设计和演化的原理。 软件体系结构(Software Architecture) 补充 在基于构件和体系结构的软件开发方法下,程序开发模式也相应地发生了变化:软件开发不再是“算法+数据结构”,而是“构件开发+基于体系结构的构件组装”。 软件体系结构不是整个系统的描述,而仅仅是系统内的软件和构建软件所需环境的描述。同时,体系结构描述中不应该包含诸如算法流程、数据表格式
文档评论(0)