高级需求分析UML建模设计模式笔记
来源:互联网 发布:南大地理 知乎 编辑:程序博客网 时间:2024/04/29 13:51
1.REQ->HLR 分析 全系统性质->AD设计 Context,BOM,Conception2.REQ->LLR 分析 模块分析->DD设计 + 编码 Feature,BRM,UC,UCD3.DD设计->代码结构设计 模块内 30个功能 ->类/序列图设计,反射/继承/接口/设计模式/实体类/抽象/配置文件代码结构设计: 设计目标:正确性目标-> 功能性需求目标:代码结构能够实现所有业务要求非功能性需求目标:复用性:避免代码冗余可扩展性:满足所有 业务功能 <->Feature 可变性要求安全性:加密,身份认证,验证,授权,XSS性能:秒钟计算,内存缓存代码稳定性:代码结构设计后代码平均每个月的重构次数;分类->封装类依据业务+单一职责30Featrue ->30类Featrue->类/公有方法/私有方法 不需要依据业务设计领域模型:实体数据UC->KPC 关键功能点->公有方法接口设计/基类的设计/抽象类/复用设计/继承/委让1.接口设计原则:a.用于模块功能暴露,多用于模块间b.接口定义纯虚,所有实现必须有个性实现c.接口传入参数与传出参数尽量避免使用基本数据类型d.接口传参应尽量使用领域模型[实体数据]e.接口名称应尽量使用业务名称f.接口定义应由自身模块定义,不能由调用方决定,自治FindData(ID)FindData(ID,Date) 如果添加请调用方自己添加日期解析g.接口最小化/接口单一,通过组合复用进行接口复合调用2.基础类与继承的设计:Class:基础类的最常用形式,无法强制子类个性化实现Abstract Class: Class继承代码复用,定义纯虚Interface : 无法代码复用,继承树,完整被暴露到外部继承与委让/复用设计:代码复用使用委让进行代码复用可扩展性设计:1.分析Featrue可变性,共性2.设计BaseClass,共性定义在基类中,可变性通过纯虚定义在子类里,设计出继承体系/继承树3.所有调用方,调用基类,不能直接调用子类4.通过多态,由基类调用到子类5.定义Factory,完成多态过程6.多态业务逻辑定义在xml文件依赖倒置原则:调用方应该调用抽象或者基类,而不是调用子类里氏替换原则:检验可扩展性的继承树是不是有效类的划分:信息专家:业务逻辑类Service数据实体:保存数据 Entity结尾创建者:可扩展性设计 Factory管理者:管理模块内的所有的类,Manager/缓存数据实体)边界类:接口实现Imp界面类: View控制器: Control详细设计的实践原则:1.分析Featrue,BRM(活动图)2.分析细节需求3.依据设计核心原则[依据封装+单一职责原则,从Featrue->类的划分]4.分析细节需求->方法的定义5.分析BRM->类间关系定义6.依据GRASP设计原则,将类划分成7大类别7.分析Feature可变性,逐一分析8.根据Feature可变,分析共性与特性,共性形成继承基类,特性形成了子类,完成继承树设计,依据开闭原则9.修改调用方调用基类,依据的是依赖倒置原则10.定义Factory+xml 实现扩展设计11.依据里氏替换原则,验证继承树调用过程中是否存在风险12.复用性设计13.逐一分析Featrue,需要对外提供访问,设计为接口 依据[接口设计实践原则,接口最小原则]14.通过设计模式改良设计15.完成类图设计16.完成序列图(时序图)设计17.进行团队间详细设计评审18.形成详细设计文档19.未来应不断监控设计的变更,由需求导致设计的重构[采用72种重构方法,进行可扩展性重构]规范创建性设计模式:抽象工厂模式:不直接New来生成类的实例原型模式:Builder模式:Singleton单例模式:结构性模式面板模式:复杂过程的封装 可以跨类调用适配器模式:对于外部组织封装 不可以跨类调用装饰器模式:就是根据配置文件进行for调用不同的清洗方法代理模式:典型的webserver调用
0 0
- 高级需求分析UML建模设计模式笔记
- 设计模式与需求分析与UML建模的关系
- 建模工具UML需求分析实例解析
- 设计模式学习笔记1:UML统一建模语言初学
- 图书管理系统中UML应用之需求分析和建模设计解析
- uml 分析设计 需求模型
- UML分析设计之一需求分析
- UML需求分析与设计分析学习心得
- 实例讲解UML建模分析与设计
- 【建模】设计模式简要分析
- uml建模分析思路
- [全程建模]设计模型和UML应用中的实例分析
- 设计模式精解-第二章 UML-统一建模语言
- UML建模中的类间关系(C++)--设计模式
- Java设计模式之统一建模语言UML
- UML建模学习笔记
- UML建模学习笔记
- UML与需求分析
- 站长们应该牢记的三点原则
- ZooKeeper典型应用场景一览
- valid sodoku
- 0基础怎么学习SEO?
- 无锡弱电工程通信智能化工程
- 高级需求分析UML建模设计模式笔记
- Linux下永久修改MAC地址和ifconfig命令总结(转)
- cocos2dx-v3.0-游戏素材获取
- 使用sysbench对Oracle做基准测试(-) 安装篇
- 摄像头屏幕三分之二显示
- 工作日志
- Android 线程优先级设置方法
- Magento数据库结构:EAV ( 一)
- 【SQL】安装SQl 2008为SQL Server代理服务提供的凭据无效的解决办法