`
xinglongbing
  • 浏览: 152529 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

一些笔记 构件化软件开发

阅读更多

 

设计重用的几种形式:
1。一致性的共享:编程语言和脚本语言 语言及其实现可以保证静态的安全性(C/C++中的指针-->Java/C#自动内存管理)
2.具体解决方法的共享:库  更好的利用被证明正确的已有解决方案:引入库或工具箱。
3.契约的共享:接口  保证完全独立的服务供应者和服务客户正确进行交互。
4.单个交互片段的共享:消息和协议  消息是有方向的:(收集消息,多播或广播消息)而协议注重端点之间交换消息的合法顺序而不是被需要和提供的操作。
   总可以把协议定义重写成一个建立在一组精确定义的接口之上的组合合约。一组接口可以对应协议
   采用消息还是协议:
     传统:消息和协议 有些 使用操作和接口
     重点:协议关注终点之间传递消息,而接口关注终点处接收和返回消息的操作。
     同步和异步通信模式:用消息和协议描述异步通信更加自然;用接口和操作描述同步通信更合适。(接口之上的异步操作也可被定义,同步限制也可加入协议)
5.交互结构的共享:模式
     模式的定义:模式的名字;模式解决的问题(应用模式必须满足的条件);模式提出的解决问题的方法(1.模式包含的元素,元素的角色、责任、关系和合作
     2.一个涉及具体实现细节不多的设计或实现方案);应用模式以后的效果(结果和权衡):时间和空间;语言和实现问题;对灵活性、可扩展性、可移植性。
     设计模式是微型体系结构描述了合作解决一个问题在对象之间进行的抽象交互。

 设计模式比框架更抽象更一般化:框架是子系统的部分实现,而模式没有直接实现,在实现中只能找到模式的实例。
 设计模式是比框架规模更小的结构元素:大部分框架都使用了多个模式。
 设计模式与接口正交:接口规定和标准化对一个逻辑供应者的部分视角,对一组开放的客户通常是可见的。
 设计模式与消息模式正交:消息模式规定了在各个实体之间的逻辑上的通信通道。
 设计模式规定了一个结构,并分离出对交互的一个关注点。

6.子系统体系结构的共享:框架  MVC框架可分割为三个最主要的模式应用:观察者,组合和策略模式;还包括工厂方法和装饰模式等。
 框架设计可以自底向上,模式驱动; 也可以自顶向下,目标驱动。

7.总体系结构的共享:系统体系结构 
基本原则:分层,非常严格;分级或网状

8.由子系统组成的系统:框架级别。
模式是微型体系结构,框架是子系统体系结构,总的系统体系结构目标:容易理解,维护,演化和更经济。

9.互操作性,遗产和再工程。

现代编程语言最主要的抽象化 结构化和组装化形式:
静态类型系统,包括高级机制如:参数多态性和有界多态性;
函数,高级函数和功能化组装
闭包或块
延迟绑定
程序抽象
异常和异常捕捉
类及实现继承
动态类型系统,包含多态性(子类型化)
支持开放的对象空间(需要自动的内存管理)
后期绑定和类型驱动的分派
支持并发和同步
元编程机制和反射机制
模块和包系统。


适合不同开发者的编程方法:
1.高层编程活动:
需求工程、工作流工程和协调、可视化应用程序构造和构件组装、脚本编写(shell或批处理命令等)
关键:考虑相应的编程模型。

需求工程:应用领域实体及表达实体直接的关系和随时间发生的变换方法。与编程的关键区别:需求工程不考虑性能或不考虑可执行规约的资源消耗,规约的执行只是用作校验工具。
工作流工程:捕获按照业务过程定义的任务和相关工作项目的流程,并将该流程映射为可描述的形式。通过与一个合成服务器结合,该工作流描述可以被执行并用来协调业务过程。实际上是协调人和信息系统按照业务过程所作的工作的集成。
可视化的应用构造:基于预制构件的即插即用编程模型。
脚本编写:与应用构造类似。脚本不像主流构件编程,它通常不引入新的构件,只是简单链接已有构件,脚本可以被看做是引入行为耦合而么有新的状态封装。
脚本编写的目标是后期和高层次的胶合。

符号实际是抽象的进步。

 

 

 

分享到:
评论

相关推荐

    地铁车站抗震计算软件开发笔记1

    《地铁车站抗震计算软件开发笔记》是一篇关于软件工程中特定领域的技术分享,主要讨论了在开发地铁车站抗震计算软件时遇到的技术难点及其解决方案。这篇笔记分为四个部分:前处理、计算、后处理和构件设计,涵盖了从...

    软件体系结构与设计模式笔记

    软件体系结构与设计模式笔记 软件体系结构是指一个程序或系统的结构,它们之间的相互关系...需求的层次化包括业务级需求、用户级需求、开发级需求等。软件设计模式的应用可以提高软件的可重用性、可维护性和可扩展性。

    软件工程黑书考研一轮复习笔记.docx

    3. **软件工程的定义、三要素和发展过程**:软件工程是系统化、规范化的软件开发方法,包括方法、工具和过程三个要素。其发展历程经历了早期的程序设计、结构化方法、面向对象技术、敏捷开发等阶段。 **第二章 过程...

    GTK+图形化应用程序开发 学习笔记.pdf

    GTK+不仅限于GIMP,它被广泛应用于多种类型的软件开发中,并且支持多种编程语言如C、C++等。 #### 二、Glib库详解 - **Glib**:作为GTK+的基础库之一,Glib提供了基础的数据结构、线程管理和事件处理等功能。这...

    软件工程复习笔记思维导图

    - 在软件开发和维护过程中遇到的一系列问题。 - 表现包括计划不准确、用户满意度低、质量不可靠、系统难以维护、文档不适用、成本上升、开发效率低下等。 - 原因包括软件本身的可见性差、潜在错误难以检测、维护...

    信息系统项目管理师学习笔记

    - 软件开发工具如建模工具、开发工具、测试工具和项目管理工具,有助于提升开发效率和项目管理水平。 4. 软件开发方法 - 不同的开发方法有不同的特点,如净室方法强调数学验证和软件可靠性,结构化方法采用自顶向...

    互联网软件应用与开发笔记.pdf

    互联网软件应用与开发笔记 以下是从给定的文件中生成的相关知识点: 一、数据建模 * 数据建模是确定 Web 应用要存储哪些数据,并设计数据库的物理结构。 二、服务器技术 * 服务器技术是指与 Web 服务器构建有关...

    mavenCM-2023C-开发笔记

    【标题】"mavenCM-2023C-开发笔记"揭示了这是一份关于使用Maven进行软件开发的笔记,重点可能集中在Maven在2023年C版本中的特性和应用。Maven是Java开发中广泛使用的项目管理和构建工具,它简化了依赖管理、构建流程...

    软件体系结构与设计模式笔记样本.doc

    软件体系结构与设计模式笔记样本 软件体系结构是指软件系统的组织方式和结构,它是软件设计的核心概念。软件体系结构涉及构件、连接件和约束三个要素,构件是可预制和可重用软件部件,是构成体系构造基本计算单元或...

    《架构整洁之道》读书笔记.pdf

    《架构整洁之道》是软件开发领域的一本经典著作,由知名专家Robert C. Martin撰写。Martin先生不仅是cleancoders.com的联合创始人,还是Uncle Bob Consulting LLC的创始人,他在全球范围内提供软件开发咨询服务,...

    系统架构师学习笔记.docx

    接下来,要成为架构师,需要拓宽知识面,涵盖计算机基础知识、信息化内涵、软件开发过程、软件架构设计、统一建模语言(UML)、XML技术、设计模式以及面向构件的软件设计。这些都是构成软件架构的基石。了解这些内容...

    《信息系统项目管理师考试全程指导》读书笔记.doc

    各类软件开发方法如净室方法、结构化方法和面向对象方法的介绍,使考生了解到不同开发方法的特色和适用场景,从而能够选择最适合项目需求的方法进行开发。 软件开发过程中,软件工具的重要性不言而喻。建模工具、...

    软考嵌入式系统设计师之开发与维护复习笔记

    - **瀑布模型**:这是一种经典的线性顺序开发模型,将软件开发过程划分为若干阶段,每个阶段完成后才能进入下一个阶段。这种模型适用于需求相对明确的项目,但对于需求变化频繁的项目来说不够灵活。 - **快速原型...

    《信息系统项目管理师考试全程指导》笔记.doc

    - 软件开发方法可以从开发风范(如自顶向下、自底向上)、性质(形式化、非形式化)和适用范围(整体性、局部性)进行分类。 - 净室方法是一种形式化的软件工程方法,注重数学验证和软件可靠性,采用黑盒、状态盒...

    软件设计与体系结构期末复习-选择软件设计与体系结构期末复习-选择

    2. **软件工程过程框架**:一个通用的过程框架通常包括沟通、策划、建模、构建和部署等阶段,这五个步骤构成了软件开发的生命周期。 3. **现代软件生态环境**:现代软件开发倡导“软件即服务”(Software as a ...

    系统架构师学习笔记

    ### 系统架构师学习笔记知识点汇总 #### 一、系统架构师的概念与定义 - **现代信息系统架构三要素**:构件、模式、规划。其中,规划被视作架构的基石,也是三个要素中最为重要的。 - **构件**:指的是系统中的...

    信息系统项目管理师笔记

    5. **软件开发方法** - 净室方法:强调数学验证和软件可靠性,使用黑盒、状态盒和清晰盒进行测试。 - 结构化方法:自顶向下,包括结构化分析、设计和编程,强调软件的结构化和合理性。 - 面向对象方法:OMT、面向...

    软考嵌入式系统设计师笔记归纳总结.pdf

    - **中间层**(也称为硬件抽象层HAL或板级支持包BSP):该层位于系统上层软件和底层硬件之间,通过提供一系列标准化接口,使上层软件开发人员无需关注底层硬件细节,从而降低软件开发难度和复杂度。 - **BSP的两个...

Global site tag (gtag.js) - Google Analytics