`
youyu4
  • 浏览: 435927 次
社区版块
存档分类
最新评论

软件结构设计

 
阅读更多

软件结构设计主要分为:
1. 面向过程
2. 面向对象
3. 面向组件
4. 面向服务

 

面向过程:
分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,但常常会导致所有的代码都包含在几个模块中,使程序难以阅读和维护。在做一些修改时常常牵一动百,使以后的开发和维护难以为继。

 

面向对象:
1. 把算法与数据结构看做是一个整体,称作对象,现实世界中任何类的对象都具有一定的属性和操作,也总能用数据结构与算法两者合一地来描述。任何事物都可以抽象成为对象。
2. 面向对象技术的基础是封装--接口与实现分离;
3. 面向对象的核心是多态--这是接口和实现分离的更高级升华,使得在运行时可以动态根据条件来选择隐藏在接口后面的实现;
4. 面向对象的表现形式是类和继承
5. 面向对象的主要目标是使系统对象化,良好的对象化的结果,就是系统的各部分更加清晰化,耦合度大大降低。

 

面向组件:
1. 面向组件技术建立在对象技术之上,它是对象技术的进一步发展。组件不是一个新的概念,Java中的javaBean规范和EJB规范都是典型的组件。
2. 类这个概念仍然是组件技术中一个基础的概念,但是组件技术更核心的概念是接口。
3. 组件技术的主要目标是复用--粗粒度的复用,这不是类的复用,而是组件的复用,如一个dll、一个中间件,甚至一个框架。
4. 一个组件可以有一个类或多个类及其它元素(枚举、)组成,但是组件有个很明显的特征,就是它是一个独立的物理单元,经常以非源码的形式(如二进制,IL)存在。
5. 一个完整的组件中一般有一个主类,而其它的类和元素都是为了支持该主类的功能实现而存在的。为了支持这种物理独立性和粗粒度的复用,组件需要更高级的概念支撑,其中最基本的就是属性和事件,在对象的技术中曾一度困扰我们的类之间的相互依赖问题/消息传递问题,迄今为止我所知道最好的解决方案就是事件。要理解组件思想,首先要理解事件的思想和机制
6. 组件的特点在于他定义了一种通用的处理方式。OOP有一个大的限制:对象之间的相互依赖关系。去掉这个限制的一个好的想法就是组件。组件和一般对象之间的关键区别是组件是可以替代的。

 

面向服务:
SOP是一种体系结构,目标是在软件代理交互中获得松散耦合。
SOA是一种企业架构,因此,它是从企业的需求开始的。但是,SOA和其它企业架构方法的不同之处在于SOA提供的业务敏捷性。业务敏捷性是指企业对变更快速和有效地进行响应、并且利用变更来得到竞争优势的能力。对架构设计师来说,创建一个业务敏捷的架构意味着创建这样一个IT架构,它可以满足当前还未知的业务需求。
SOA结构结合了MDA和AM的精华,把这些不同方法中的一些元素提取出来,放入到一个一致的架构实践中。服务特征是:松散耦合、位置透明、协议独立
一个服务是一个服务提供者为一个服务消费者获得其想要的最终结果的一个工作单元。

分享到:
评论

相关推荐

    信息模型设计与子系统软件结构设计.docx

    信息模型设计与子系统软件结构设计 信息模型设计是软件开发过程中的一个重要步骤,它涉及到对软件系统的数据模型和数据流程的设计。在本文中,我们将详细介绍信息模型设计的过程和方法,并结合子系统软件结构设计,...

    图书馆管理系统软件结构设计图

    自己绘制的图书馆管理系统的软件结构设计图

    软件结构设计ppt.pptx

    ### 软件结构设计知识点解析 #### 一、软件结构设计概述 **软件结构设计**是软件工程中的一个重要环节,旨在定义软件系统的整体架构及其组成部分之间的相互作用方式。这一阶段的目标是根据软件的需求规格说明,...

    软件结构设计PPT课件.ppt

    《软件结构设计》 软件结构设计是软件工程中至关重要的环节,它负责将软件需求转化为实际的软件架构,包括程序结构、数据结构、文件结构和接口定义等方面的设计。这一过程通常分为总体设计和详细设计两个阶段。 ...

    软件结构设计-分层系统风格讲义(ppt-18页).ppt

    软件结构设计-分层系统风格讲义 软件结构设计是软件开发中至关重要的一步骤,它直接影响着软件的质量、可维护性和可扩展性。分层系统风格是软件结构设计中的一种常见的体系结构风格,它将软件系统分层组织,形成一...

    嵌入式系统软件结构设计

    嵌入式系统软件结构设计是IT领域中的一个重要分支,它主要关注如何在有限资源的硬件平台上高效、稳定地实现特定功能。嵌入式系统广泛应用于各种设备,如智能手机、家电、汽车电子、医疗设备和工业自动化系统等。下面...

    软件(结构)设计说明(SDD)

    1. **CSCI的设计**:涵盖了CSCI级别的设计决策、体系结构设计(概要设计)以及详细的软件实现设计。 2. **接口设计说明(Interface Design Description, IDD)**:作为SDD的补充文档,详细描述了软件各组件之间的...

    软件结构设计的一般过程PPT学习教案.pptx

    【软件结构设计的一般过程】 软件结构设计是软件开发中的核心环节,主要涉及将系统需求转化为可实现的架构,确保软件的稳定性和可扩展性。本PPT学习教案重点介绍了基于体系结构的软件开发模型,这是一个分阶段的...

    软件结构设计PPT学习教案.pptx

    《软件结构设计》的学习教案主要涉及软件设计中的结构表示方法,包括层次图(H图)、HIPO图和结构图(SC)。这些图形工具是软件设计过程中用于清晰表达系统组件及其相互关系的重要手段。 1. **层次图(H图)**: ...

    基于位置关联的竞赛机器人任务序列优化软件结构设计.pdf

    基于位置关联的竞赛机器人任务序列优化软件结构设计,实质上是研究如何提升遥控竞赛机器人在执行任务时的路径优化和任务重组能力。这种设计对于竞赛类机器人的性能提升具有至关重要的作用。在文档中,徐文将这种方法...

    6.软件(结构)设计说明(SDD)--董哲1

    - **CSCI体系结构设计**:这涵盖了系统的主要结构元素,如服务器、客户端、数据库和其他关键组件的布局,以及它们如何协同工作以实现系统功能。 - **CSCI详细设计**:在这一阶段,将深入到每个模块的具体实现,...

    仓库管理系统软件结构设计说明.doc

    仓库管理系统软件结构设计说明.doc

    人事管理子系统软件结构设计.pdf

    人事管理子系统软件结构设计.pdf

    软件(结构)设计说明1

    《软件(结构)设计说明》是关于软件开发过程中的一个重要环节,它详细阐述了软件设计的各个方面,包括系统概述、设计决策、体系结构设计以及关键的组件和接口设计。以下是该设计说明的主要内容: 1. 引言:这部分...

    软件结构设计--分层系统风格讲义.pptx

    软件结构设计--分层系统风格讲义.pptx

    软件工程04结构化设计.pptx

    5. 软件结构设计 6. 数据库设计、文件结构的设计 7. 制定测试计划 8. 编写概要设计文档 设计原则: 1. 模块化:整个软件被划分成若干单独命名和可编址的部分,称之为模块。 2. 抽象:软件系统进行模块设计时,可有...

    计算机后端-Java-Java核心基础-第12章 面向对象04 09. 项目二软件结构设计.avi

    计算机后端-Java-Java核心基础-第12章 面向对象04 09. 项目二软件结构设计.avi

    软件项目模板-13 - 软件(结构)设计说明(SDD).zip

    软件结构设计是SDD的重点,它涉及到如何将软件分解为易于管理的部分。常见的结构设计方法有模块化设计、面向对象设计、事件驱动设计等。其中,模块化设计通过划分功能独立的模块,降低复杂性;面向对象设计强调数据...

    钢结构设计小软件

    本文将基于“钢结构设计小软件”这一主题,结合描述中的“计算截面特性”和“H型钢计算”,以及“檩条用量计算程序”来探讨相关的知识点。 首先,钢结构设计软件是现代工程设计师不可或缺的工具,它能够快速、准确...

    软件设计模式与体系结构

    第一篇分为8章,介绍了软件体系结构的基础理论,包括软件体系结构的概念及演化、软件建模基础、软件体系结构的形式化、软件体系结构的风格、体系结构的描述语言、软件质量建模、设计模式等内容。第二篇分为4章,首先...

Global site tag (gtag.js) - Google Analytics