java基础22(Javaoo17)——面向对象的分析与设计

面向对象的分析与设计( 增加认知度,面试:设计描述)

1.面向对象软件工程与UML
设计层面没有对错,只有合适与更合适.
软件工程基本概念
软件工程学
软件工程的定义
软件工程的内容
软件工程三要素:方法,工具,过程
软件生命周期:
1.可行性分析阶段:可行性分析报告
2.需求分析阶段:软件需求规格说明书
3.系统设计阶段: (设计人员专用: 统一建模语言UML由IBM统一规范使用与语言无关,典型:类图 )、 概要设计说明、详细设计说明书、数据库设计说明书(操作数据要 注意备份 !)
4.系统实现阶段:编码阶段(注意 代码的复用,灵活一点,避免死板代码,不方便改动!遵循 单一原则,开闭原则,最小接口原则),通过单元测试的源代码
5.测试阶段:调bug,软件测试报告
6.维护阶段:给用户搭建运行环境,培训用户,对软件进行维护
工程做好了怎么与用户交互?
把工程打包(jar包,war包..........)拷贝给用户,三次开发,二次开发比最初开发赚钱(给用户升级版本),要源码比不要源码价钱高(要源码说明用户没安全感,想踢开你!所以用户要源码就要加钱!)

区别:
项目:外包公司做项目,有明确的需求提供方,做好了就给钱
产品:公司自己进行需求分析,可行性分析,做好后投放到市场

例子:2014年中山市出入境系统
3个本科生,3个大学生在中山市出入境地方做了一年杂工,做了一年需分.
需分员:技术,人情世故,写出需求文档
设计员:看文档,做设计,搭框架
项目经理:跑业务

如何衡量软件设计质量:
1.首要标准:
满足软件的功能需求
满足软件功能需求的设计并不一定就是好的设计
2.好的设计:
可读性
可复用性
可扩展性
可维护性
上述四个标准比较抽象,不好考量:
内聚度(高内聚:理想状态下,一个代码单元只负责一个内聚任务,单一原则:用动宾语直接能直接描述该单元的功能)
耦合度(低耦合:单元与单元之间关系的紧密程度度)

优秀的软件: 高内聚低耦合
设计原则:
1. 开闭原则(核心原则)(其它原则其实都是为了开闭原则)
2.单一职责
3.里氏替换原则:软件运行环境中判断一个类能否胜任父类的工作,由此判断继承关系,不能只靠 is a 关系来判断,经典“ 正方形不是长方形” 
4.依赖倒转原则:要针对接口,不要针对编程实现、
5.组合/聚合复用原则:尽量用组合/聚合( 将对方作为属性,拥有它),少用继承来达到复用的目的
6.接口隔离原则——最小接口原则:避免接口污染
7.迪米特法则:一个软件实体应尽可能少的与其它实体相互作用

创建型设计模式(套路):
1.架构模式
2.设计模式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值