P3_C12-13:逻辑架构和包图
Requirements to Design Iteratively
阅读书上第12章html
- 需求和面向对象分析重点关注 作正确的事
- 后续的设计工做强调 正确地作事
- 迭代从需求和分析为主 到 以设计和实现为主
- 在设计和实现的迭代早期有需求变动很正常,后期稳定就会稳定
- 完成迄今为止全部建模正常只须要花费几个小时或几天的时间
Logical Architecture and UML package diagrams
阅读书上第13章安全
Software architecture
- 一组设计软件系统组织的重要决策
- 对结构元素、接口的选择
- 这些元素特定于仙湖协做的行为
- 这些结构和行为元素、更大子系统的组成、直到该组织结构的结构风格
Logical architecture
- 软件类的宏观组织结构,他将软件组织成包、命名空间、子系统、层
- 决定具体在何种操做系统或网络计算机中对这些元素进行部署的是,部署架构
- 包括:UI、Domain、Technical services
- 严格分层:层只能调用相邻的下层服务
- 宽松分层:层能够调用任何下层服务
应用UML:包图
- UML包图一般用于描述系统的逻辑架构——层、子系统、包等
- 依赖性(耦合):依赖线是有箭头的虚线,指向被依赖的包
- 嵌套:
- 画法1:在内包框外画外包
- 画法2:在外包下画个十字圈圈,实线链接内包
- 使用层进行设计
- 使用层的好处
- 减小coupling和dependencies,提升cohesion和服用性
- 相关复杂性能被了解和封装
- 一些较高层能够被替换
- 一些较低层能够被复用
- 某些层能够是分布式的
- 利于逻辑划分,团队合做
- cohesive responsibility, maintain a separation of concerns
- 如何使用对象设计应用逻辑
- 建立名称和信息相似于真实世界的软件对象:领域对象
- 此时,应用逻辑层称为架构的领域层:包含领域对象,处理应用逻辑
- 领域层是软件的一部分
- 领域模型是概念角度分析的一部分
- 利用领域模型的灵感建立领域层,得到低表示差别
- tier: 被普遍用于表示屋里进程节点,如客户计算机
- layer:系统在垂直方向的划分
- partition:层在水平方向的划分,如技术服务层分为安全和统计分区
- 外部资源层不是最底层!
- Model-view separation principle
- model:领域层对象
- View:UI对象(窗口、鼠标等
- 领域对象不可以直接与窗口对象发消息
- MVC,相关模式:观察者模式
- model:数据对象, 领域层
- views:GUI窗口,UI层
- controllers:键盘和鼠标事件句柄,因公曾的工做流对象
- 好处:容许模型和界面分别进行开发、支持内聚的模型定义、使界面需求的影响减少……
- 运用RUP 4+1视图方法进行软件架构设计
- RUP 4+1 分析案例
欢迎关注本站公众号,获取更多信息