大数据
软件设计的定义
定义:对需求分析阶段提出的系统要求,给出具体的软件设计方案,即如何去做。
软件设计的概述(1)目标:根据SRS提出的目标,设计出软件的体系结构,接口,数据结构和处理流程并撰写SDS。(2)软件的设计模型
数据设计 ——> 体系结构设计 ——> 接口设计 ——> 过程流程
数据设计:指内部的数据结构,数据存储(数据库或文件)
体系结构设计:物理架构,逻辑架构
接口设计:内部模块之间的接口,外部与人机,其他系统的接口
过程流程:处理流程和算法,并发控制
3.软件设计的两个阶段
总体设计
详细设计
体系结构具有多样性
(1)模块化
高层模块 ——> 复杂问题 ——> 较小问题
(2)模块化的重要特征:
抽象化:抽出事物的本质特征不考虑细节
信息隐藏:模块所包含的信息不允许其他不需要这些信息的模块访问,独立的模块间仅交流为完成系统功能必须交换的信息。
信息隐藏的作用:提高模块的独立性,便于修改维护
4.设计描述与建模
(1)类图:表示系统中类及类 和类之间的关系,用于对系统的静态结构进行描述。
(2)一个系统中通常有若干个类图:一个类图不一定包含系统中的所有类,一个类也可以出现在多个类图中。
UML中属性的语法:[可见性][属性名][:类型][=初值]
类之间的关系
关联:两个类对象之间存在某种语义上的关联
聚集:聚合,表示类与类之间是整体与部分的关系
泛化:继承
依赖和细化
状态图
是一个类对象可能经历的所有历程的模型图
包图
UML为复杂系统建模所提供的模型元素组与管的机制。
包 定义 个名字空 包用于定义一个名字空 间或容器(Container) ,通过包可以把类、用例、组 件等语义联系紧密元素聚集在一起,从而实现从不同 抽象层次、不同角度对系统或子系统进行建模描述, 将对包中的元素作为一个整体对待,并且控制它们的 可视性和存取。
包的表示(1)
包的表示(2)
不同包中的元素可以同名,但是同一包中的模 型元素不能同名。
包的模型元素前可以有可视性标志,其表示方法与 类中的属性和操作的可视性表示 类中的属性和操作的可视性表示一样。
F +,对于输入该包的任何包的模型元素都可见 F
-,对于外包不可见 F
#,只对其子包可见
包的联系:
依赖,输入依赖
输入和输出,泛化
构件图
构件图用来描述代码构件的物理结构及各个构件之间的物理关系。
构件的作用:
构件是定义了良好接口的物理实现单元,它是系统中可替换的部分。每个构件体现了系统设计中特定类的实现。良好定义的构件不直接依赖于其他构件而依赖于构件所支持的接口。