
软件体系结构&软件工程
文章平均质量分 51
algzjh
这个作者很懒,什么都没留下…
展开
-
软件体系结构概论
软件危机的表现: ◎ 软件成本日益增长 ◎ 开发进度难以控制◎ 软件质量差◎ 软件维护困难软件危机的原因:◎ 用户需求不明确 ◎ 缺乏正确的理论指导◎ 软件规模越来越大◎ 软件复杂度越来越高如何克服软件危机:人们面临的不光是技术问题,更重要的是管理问题。管理不善必然导致失败 。要提高软件开发效率,提高软件产品质量,必须采用工程化的开发方法与工业化的生产技术。构件模型及实现: 构件是指语义完原创 2017-09-19 08:37:37 · 767 阅读 · 0 评论 -
软件过程
1、定义 软件过程也称为软件生存周期过程,是指软件生存周期中的一系列相关过程。 为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。2、软件过程的七大元素 活动:开发、维护、管理等; 任务:活动的细分,确定、安排任务等; 工件:软件过程的工作产品,分输入与输出工件; 角色:定义了软件过程中的个人或小组的行为与职责; 资源:最佳实践、工具、技术、机器、场地...转载 2018-06-18 20:51:08 · 13612 阅读 · 0 评论 -
结构化分析
1、主要思想: 主要思想:抽象与自顶向下的逐层分解 (控制复杂性的两个基本手段)2、瀑布模型 软件定义时期:问题定义,可行性研究,需求分析 软件开发时期:总体设计,详细设计,编码与单元测试,综合测试 软件维护时期:软件维护3、可行性研究 技术可行性 经济可行性 操作可行性4、结构化方法概述 一种面向数据流的传统软件开发方法 以数据流为中心构建软件...转载 2018-06-19 10:24:51 · 8306 阅读 · 0 评论 -
面向对象分析
1、面向对象原则 抽象,封装,模块化,层次在概念上,最核心的抽象内容的对象 对象是一个具有明确边界和唯一标识,且封装了行为和状态的实体。用对象分解取代了传统方法的功能分解。面向对象就是既使用对象又使用类和继承等机制,而且对象之间仅能通过传递消息实现彼此通信。传统的软件开发方法调自顶向下完成软件开发,属过程抽象。 面向对象的环境提供了更强有力的抽象机制,支...转载 2018-06-19 11:39:30 · 2428 阅读 · 0 评论 -
设计工程
1、分析模型与平台无关 设计模型与平台有关2、软件设计被分为两个阶段: 架构设计和详细设计3、常见的架构风格 (1)MVC (2)管道和过滤器风格 (3)层次架构风格 (4)Three-Tiers三层架构 表示层,业务逻辑层,数据访问层 (5)黑板风格 (6)微内核风格 (7)解释器架构 (8)基于规则的架构4、设计模式 架构风格是宏观的设计模式,描述高层组织结...转载 2018-06-19 13:13:33 · 338 阅读 · 0 评论 -
人机界面设计
1、界面设计的原则 易学性(Learnability) 系统应容易学习和掌握,不应对用户有额外的知识和技能要求。 用户可以通过两种途径来学习系统,即:系统的联机手册;系统功能的操作演示及例子。 用户熟悉性(User familiarity) 界面应以用户导向的名称和观念为主,而不是以计算机的概念为主。这能让用户更快地熟悉系统,使用系统。 一致性(Consistency) 系统的各个界...转载 2018-06-19 13:24:21 · 5118 阅读 · 0 评论 -
结构化设计
1、结构化设计是将结构化分析得到的数据流图映射成软件结构的一种设计方法 强调模块化、自顶向下逐步求精、信息隐蔽、高内聚低耦合等设计准则2、结构化设计的内容 结构设计—概要设计 结构图(Structure Chart) 物理数据模型 过程设计—详细设计 模块的处理过程 N-S图,PAD,PDL等3、结构图 用结构图(Structure Chart)来描述软件系统的体系结构 ...转载 2018-06-19 15:12:28 · 9266 阅读 · 0 评论 -
面向对象设计
设计模型的元素很多都是在分析模型中使用的UML图。差别在于这些图被精化和细化为设计的一部分,并且提供了更多的与实现相关的特殊细节,突出了架构的结构和风格、架构内存在的构件以及构件和外界之间的接口。1、面向对象设计模型 设计建模任务: 架构设计 包和子系统设计 类设计 持久化设计(1)构件图 (2)部署图 (3)状态机图2、架构设计 (1)4+1架构视图 逻辑视图,开发...转载 2018-06-19 15:29:06 · 986 阅读 · 0 评论 -
软件测试
1、黑盒白盒测试都不能穷尽2、测试策略 按测试层次分类 单元测试、集成测试、系统测试 按软件质量属性分类 功能性测试、可靠性测试、易用性测试、性能测试、可移植性测试、可维护性测试 其他测试策略 验收测试、α测试、β测试、安装测试、回归测试单元测试 单元测试(unit testing),又称为模块测试,是针对软件结构中独立的基本单元(如函数、子过程、类)进行的测试。 单元测试...转载 2018-06-19 15:58:20 · 337 阅读 · 0 评论 -
软件演化和维护
1、什么是软件演化 (Software Evolution) 是指对软件进行维护和更新的一种行为,它是软件生命周期中始终存在的变化活动。 按生命周期的不同阶段,软件演化可分为: 开发演化 创造一个新软件的过程,它强调要在一定的约束条件下从头开始实施,占软件演化的30% 运行演化 又称软件维护(Software Maintenance),是软件系统交付使用以后,为了改正错误或满足新的需...转载 2018-06-19 16:05:39 · 3640 阅读 · 0 评论 -
软件项目管理
1、软件工程的金三角 人 技术 管理 技术 提供了建造软件在技术上需要 “如何做”的方法管理 提供了质量管理、成本管理、时间管理、范围管理等知识和技能过程 这是将人、技术、管理结合在一起的凝聚力...转载 2018-06-19 16:14:20 · 282 阅读 · 0 评论 -
软件工程绪论
1、软件危机 软件危机指的是在计算机软件的开发和维护过程中所遇到的一系列严重问题。 概括来说,软件危机包含两方面问题: 一、如何开发软件,以满足不断增长,日趋复杂的需求; 二、如何维护数量不断膨胀的软件产品。 2、软件危机的表现 (1)对软件开发成本和进度的估计常常不准确,软件生产进度无法控制。开发成本超出预算,实际进度比预定计划一再拖延的现象并不罕见。 (2)软件...转载 2018-06-18 19:06:23 · 745 阅读 · 0 评论 -
软件工程概述
1、软件工程包括软件开发技术、软件工程环境、软件工程经济学、软件心理学、软件项目管理等许多方面的知识。2、软件是与计算机系统的操作有关的计算机程序、规程及可能的相关文档的完整集合。 其中,计算机程序(Program)是计算机指令和数据定义的组合,使得计算机硬件能够执行计算或控制功能; 规程(Procedure)是为执行给定任务而应采取的一系列动作的描述; 文档(Document)是与程序...原创 2018-02-20 19:58:56 · 367 阅读 · 0 评论 -
软件体系结构第三章作业
1、层次系统结构和基于消息的层次系统结构有什么区别? 层次结构将系统进行分级组织,其组织思想是:在层次结构中,每一层向上层提供服务,并作为客户向下层请求服务。分层系统的优点:支持基于抽象程度递增的系统设计;支持功能增强;支持重用。分层系统的缺点:并不是每个系统都可以很容易的划分为分层的模式,甚至即使是层次化的,出于性能的考虑,也不得不吧一些低及或高级的功能综合起来;很难找到一个合适的、正确的层次抽转载 2017-10-17 08:58:35 · 7287 阅读 · 0 评论 -
软件体系结构建模
软件体系结构建模的种类: ◎ 结构模型 ◎ 框架模型 ◎ 动态模型 ◎ 过程模型 ◎ 功能模型 4+1模型 :逻辑视图进程视图物理视图开发视图场景视图逻辑视图和开发视图描述系统的静态结构,而进程视图和物理视图描述系统的动态结构。 对于不同的软件系统来说,侧重的角度也有所不同。软件体系结构的生命周期模型:Created with Raphaël 2.1.0需求分析原创 2017-09-19 08:48:06 · 1973 阅读 · 2 评论 -
软件体系结构风格
软件体系结构风格的定义: 软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。经典的软件体系结构风格: ◎ 数据流风格:批处理序列;管道/过滤器。◎ 调用/返回风格:主程序/子程序;面向对象风格;层次结构。◎ 独立构件风格:进程通讯;事件系统。◎ 虚拟机风格:解释器;基于规则的系统。◎ 仓库风格:数据库系统;超文本系统;黑板系统。管道与过滤器: 每个构件都有一组输入和输转载 2017-09-19 09:15:20 · 1991 阅读 · 0 评论 -
软件体系结构描述
1、描述方法的分类 ◎ 图形表达工具 ◎ 模块内连接语言 ◎ 基于软构件的系统描述语言 ◎ 软件体系结构描述语言 2、软件体系结构描述框架标准 (1)IEEE P1471 (2)Rational3、ADL与其他语言的比较构造能力:ADL能够使用较小的独立体系结构元素来建造大型软件系统;抽象能力:ADL使得软件体系结构中的构件和连接件描述可以只关注它们的抽象特性,而不管其具体的实现转载 2017-09-21 10:34:10 · 2907 阅读 · 0 评论 -
统一建模语言
1、UML是一种语言 UML是一种可用于详细描述的语UML是一种构造语言UML是一种文档化语言2、UML的应用领域UML是一种建模语言而不是一种方法,其中并不包括过程的概念,其本身是独立于过程的,可以在任何过程中使用它。UML能够用面向对象的方法描述任何类型的系统,并对系统开发从需求调研到测试和维护的各个阶段进行有效的支持3、UML的结构 4、直接使用UML建模-语义约束 由对象转载 2017-10-10 01:09:36 · 557 阅读 · 0 评论 -
可扩展标记语言
XML概述能够直接应用在Internet上能被各式应用软件使用能与SGML兼容能轻易发展XML相关软件能简化SGMLXML文件可读性高XML规范能尽完成XML规范必须简洁XML文件易于建立语法不可模糊不清XML的特点简洁有效易学易用开放的国际化标准高效且可扩充XML的特点 – 开放的国际化标准XML标准。这是W3C正式批准转载 2017-10-31 21:37:43 · 2896 阅读 · 0 评论 -
动态软件体系结构
软件体系结构的动态性交互式动态性结构化动态性体系结构动态性动态软件体系结构的研究模拟和描述体系结构动态更新体系结构动态更新的执行基于构件的动态系统结构模型 – 概述基于构件的动态系统结构模型 – 更新请求描述更新类型更新对象列表对象的新版本说明对象更新方法更新函数更新限制基于构件的动态系统结构模型 – 更新执行步骤转载 2017-10-31 21:46:13 · 3626 阅读 · 0 评论 -
基于服务的体系结构
SOA的概念W3C:SOA是一种应用程序体系结构,在这种体系结构中,所有功能都定义为独立的服务,这些服务带有定义明确的可调用接口,能够以定义好的顺序调用这些服务来形成业务流程。Service-architecture.com:服务是精确定义、封装完整、独立于其它服务所处环境和状态的函数。SOA本质上是服务的集合,服务之间彼此通信,这种通信可能是简单的数据传送,也可能是两个或更多的服转载 2017-10-31 22:00:02 · 1051 阅读 · 0 评论 -
富互联网应用体系结构
RIA的概念 – RIA的提出操作复杂性数据复杂性交互复杂性RIA的概念 – “富”的含义丰富的数据意味着客户端的用户界面能表现和应对更多更复杂的数据模式,这样才能处理客户端的运算以及异步发送、接受数据。为了达到高度复杂的数据模式,客户端允许用户构建一个高响应、交互式的应用程序。丰富也指RIA能提供更多的改良界面。HTML只能为用户的界面控制提供有限的功能,反之,R转载 2017-10-31 22:10:36 · 1350 阅读 · 0 评论 -
基于体系结构的软件开发
设计模式 – 概述 模式是指从某个具体的形式中得到的一种抽象,在特殊的非任意性的环境中,该形式不断地重复出现。一个软件体系结构的模式描述了一个出现在特定设计语境中的特殊的再现设计问题,并为它的解决方案提供了一个经过充分验证的通用图示。解决方案图示通过描述其组成构件及其责任和相互关系以及它们的协作方式来具体指定。设计模式 – MVC模式 设计模式 – 好的设计模式转载 2017-10-31 22:36:41 · 2832 阅读 · 0 评论 -
软件产品线体系结构
软件产品线在软件工程中地位软件产品线的基本概念将利用了产品间公共方面、预期考虑了可变性等设计的产品族称为产品线(Weiss和Lai)。产品线就是由在系统的组成元素和功能方面具有共性和个性的相似的多个系统组成的一个系统族。软件产品线就是在一个公共的软件资源集合基础上建立起来的,共享同一个特性集合的系统集合(Bass,Clements和Kazman)。一个软件产品线由一转载 2017-11-01 13:43:08 · 12530 阅读 · 0 评论 -
软件建模
1、软件建模的三个层面: (1)计算无关模型(CIM) (2)平台无关模型(PIM) (3)平台相关模型(PSM),又称平台特定模型 从1到3,从抽象到具体2、基于模型的软件开发生命周期 业务建模:计算无关模型,CIM 需求:需求 分析:平台无关模型,PIM 设计:平台有关模型,PSM 编码:代码3、软件建模方法: 结构化方法 (Structured Method) ...转载 2018-06-20 12:50:08 · 9060 阅读 · 5 评论