• 软件设计


    1.软件设计

    好的软件设计就是把一个问题清楚地分解为模块,然后再整体地排列这些模块

    高内聚:是一个模块功能强度的度量;

    低耦合:涉及两个模块,是它们之间相互依靠或相互作用的程度的度量。

    #功能独立性

    定义:指的是一个内聚的模块执行单个任务或函数,若模块满足该特性,那它跟其他模块的互动是最小的。

    用途:错误隔离;能增加被重用的次数;增加可理解性。

    #扇入:直接调用一个给定模块的模块数量。高扇入表示代码的重用率高。

    扇出:一个给定模块直接控制的模块数量。高扇出表示该模块缺乏内聚。

    2.UML建模语言

       5类图(用例图,静态图,行为图,交互图,实现图),9种图。(可见:http://m.blog.csdn.net/article/details?id=8552956)

    (1)用例图:站在用户的角度,而不是开发者角度。

        用例图中存在的关系 (可见:http://m.blog.csdn.net/article/details?id=8567448)

    • 1 角色与用例:关联关系(实直线或者带箭头的实线)
    • 2 用例之间:包含(《include》,带箭头的虚线),扩展(《extend》)[关于箭头的指向存在疑惑]。有包含用例才是完整的用例。
    • 3 角色之间:泛化(实线空三角箭头,指向父类,这点与c++中的理解有点不一样)

    (2)类之间存在的4种关系(可见:http://m.blog.csdn.net/article/details?id=8568303)

    #BD-基本设计 ,DD-详细设计,FD-结构设计

    3.面向功能的软件设计与面向对象的软件设计

    #面向功能的软件设计

    结构化分析(SA):将问题描述中的那套高级功能自上而下地分解,并吧它们图形化地表示出来。

    结构化设计(SD):在SA中识别出来的所有功能都会被映射到一个模块结构上。和面向对象。

    基于上述特性可认为这种设计是面向功能的软件设计。其特点为:一个系统被认为能执行一系列函数;系统状态是集中的,数据可在不同的函数之间共享。

    #面向对象的软件设计

    特点:系统被认为是一个对象的集合,对象间通过传播信息来交流;系统状态在对象中是分散的,每个对象可以控制自己的状态。

    回顾一些类的知识

    #函数的重载

    定义:在声明对象是,编译器会根据调用者传递的参数自动匹配函数。

    条件:函数的参数类型不同,参数个数不同(只有返回值不同的两个函数不算)。

    #函数的覆盖

    条件:发生在基类和子类之间;基类必须为虚函数(用virtual进行声明);函数名称与参数列表完全相同。

    #函数的多态性

    1)静态绑定:同样的消息被不同的对象获取就会产生不同的行动。当一个操作拥有多个方法是就会发送静态绑定,即涉及函数重载。

    2)动态绑定:涉及函数的覆盖,把处理消息确切的方式留给接收消息的对象。

  • 相关阅读:
    马哥Linux学习笔记之三——加密
    马哥Linux学习笔记之二——网络基础
    网络指标 processer
    上线文切换context switches/sec
    cup利用率和load average的关系
    devexpress 的combobox怎样只能选择不能输入
    c#操作xml
    c# 数据表DataTable给devexpress的gridControl提供数据源
    c#在panel或groupbox中添加窗体,实现点击不同按钮或combox时panel中窗体切换,在xtratabcontrol中添加窗体
    c# 得到list符合某条件的索引值,排序
  • 原文地址:https://www.cnblogs.com/QFighting/p/5410648.html
Copyright © 2020-2023  润新知