zoukankan      html  css  js  c++  java
  • 软件工程概论总结第六章

    第六章  面向对象基础 

    面向对象方法概述

    面向对象=对象+类+继承+通信

    面向对象的软件工程方法  1.面向对象分析 2.面向对象设计 3.面向对象编程 4.面向对象测试 5.面向对象维护

    面向对象基本概念

    对象

     对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位,由一组属性和对这组属性进行操作的一组服务组成。

      类是具有相同属性和服务的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分。

    封装

     封装是把对象的属性和服务结合成一个独立的系统单位,并尽可能隐藏对象的内部细节。

    继承

      继承是指子类可以自动拥有父类的全部属性和服务。

    消息

      消息是对象发出的服务请求,一般包含提供服务的对象标识、服务标识、输入信息和应答信息等信息。

    关联

      关联是对象属相之间的静态联系,它通过对象的属性来表现对象之间的依赖关系。

    聚合

      聚合是对象之间的组成关系,即一个(或一些)对象是另一个对象的组成或部分。

    多态性

      多态性是指父类中定义的属性或服务被子类继承后,可以具有不同的数据类型或表现出不同的行为。

    软件建模概念

    系统、模型和视图

    (1)系统是为特定目的而设计的由相互关联的若干部分组成的集合,其中各个组成部分又可以看作是一个更简单的系统,称为子系统。

    (2)模型是对系统的抽象表示

    (3)视图是从某一个侧面对系统模型的关注

    软件建模的重要性

    在软件系统开发过程中,建立模型的一个重要原因在于描述系统的复杂性。另一个主要原因是便于交流。最后,模型还为以后的软件维护和升级提供了文档。

    统一建模语言UML

    UML是一种可视化的,可用于详细描述,文档化,可构造的语言。

    UML由视图,图,模型元素和公共机制等部分组成。

    1.视图

    用例视图、设计视图、进程视图、实现视图和分布视图。

    (1)用例视图描述系统应该具有的功能集,它从系统外部用户的角度出发,实现对系统的抽象表示。

    (2)设计视图用来揭示系统功能的内部设计和协作情况。

    (3)进程视图描述系统的并发工作状况,它包含形成系统并发与同步机制的线程和进程,主要提供给系统开发商和集成商使用。

    (4)实现视图由一些独立的构件和文件组成,显示实现模块及其之间的依赖关系。

    (5)分布视图主要描述系统的物理构架,显示系统硬件拓扑结构的特点,提供给开发人员、集成人员和测试人员。

    2.图

    用例图、类图、状态图、顺序图、协作图、活动图、组件图、分布图

    (1)用例图定义了系统的功能需求,它完全是从系统的外部观看系统功能,并不描述系统内部对功能的具体实现。

    (2)类图描述系统的静态结构,表示系统中的类以及类与类之间的关系。

    (3)对象图描述了一组对象以及它们之间的关系,表示类的对象实例。

    (4)状态图表示一个状态机,强调对象行为的事件顺序。

    (5)顺序图和协作图均表示一组对象事件的动态协作关系,其中顺序图放映对象之间发送消息的时间顺序,协作图反映收发消息的对象的结构组织。

    (6)活动图反映系统从一个活动到另一个活动的流程,强调对象间的控制流程。

    (7)组件图描述组件以及它们之间的关系,表示系统的静态实现视图。

    (8)分布图反映了系统中软件和硬件的物理架构,表示系统运行时的处理结点以及结点中组件的配置。

    3.模型元素

    4.语义规则

    (1)命名:为事物、关系和图起名;

    (2)范围:给一个名称以特定含义的语境;

    (3)可见性:如何使一个名字被外部识别和使用,它包括public、protected、private三种可见性,分别用“+”、“#”和“-”表示;

    (4)完整性:事物如何正确地、一致地相互联系;

    (5)可执行性:运行或模拟动态模型的含义是什么。

    5.公共机制

    (1)说明:UML不只是一个图形语言,它还规定了对于每一个UML图形的文字说明的语法和语义。

    (2)修饰:说明其他方面的细节特征

    (3)通用划分:型—实例、接口—实现。

    (4)扩展机制:扩展UML或使其用户化,便于完成软件系统的开发。

    6.扩展机制

    约束、标记值和构造型

  • 相关阅读:
    rmq +二分暴力 hdu 5726
    8.25 ccpc 比赛总结
    莫比乌斯反演题目总结
    HDU 4848 Wow! Such Conquering! (搜索+floyd)
    Codeforces 982 C Cut 'em all!(DFS)
    Codefoces 986C AND Graph(DFS)
    CodeForces 986A Fair(BFS)
    ACM经验贴
    Kattis A+B Problem(FFT)
    CF E. Porcelain (双向dp)
  • 原文地址:https://www.cnblogs.com/gting/p/4274933.html
Copyright © 2011-2022 走看看