软件工程学习笔记

一、软件过程:

 需求-->分析-->设计-->实现-->发版,维护(测试需要伴随着每一个环节,而不是开发完成之后再参与)

二、需求获取&分析:

 侧重于业务端,也包括简单类图(只包括类名),产出分别是PRD文档和需求规格说明书(需求分析文档)

三、面向对象泛型(OOP)

 模块内部,高内聚(cohesion)
  low-->high 共同特点:可重用性&可扩展性。
  偶然性(concidental )内聚:模块内部杂乱;解决方法:拆分成多个模块
  逻辑性内聚:调用&被调用关系错乱,调用模块依赖被调用模块,被调用模块内部功能较多。可重用性差。
  时间性内聚:
  过程性内聚;
  通信性内聚:
  功能性内聚:一个模块只有一个功能。
  信息性内聚:

 模块之间,低耦合(coupling):
  bad-->good
  内容耦合;
  公共耦合;
  控制耦合;
  印记(stamp)耦合
  数据耦合

 类之间的关系:

 继承(父类&子类)

 聚合(整体&部分):注意实心菱形代表整体销毁了,部分也销毁了,如人&腿;空心菱形不一定,如PC&CPU

 关联(主语&宾语)、

 多态与动态绑定

 面向对象泛型:是相对于结构化泛型而言的;

 做法:
   属性&行为放在一起(既面向行为,也面向数据);
   数据封装&信息隐藏;
   职责驱动设计(合同设计)
  VS结构化泛型:
   OOA阶段:决定产品做什么;提取Objects
   OOD阶段:详细设计
   OOP阶段:编码阶段,使用合适的面向对象编程语言

UML

 常用的UML图;

 软件过程每个阶段需要使用的UML图:

 这块需要细化


四、面向对象分析(OOA)

 用例建模;
 类建模(CRC卡片法;名词抽取法);产出:类图,包括实体类、边界类、控制类
 动态建模:产出是状态图;
 测试OOA:这块需要细化

五、面向对象设计(OOD)

 高层设计--架构设计,产出是架构设计文档
 详细设计--UI、数据库设计、详细类设计、数据结构&算法
  UI设计:美观性、易用性

  数据库设计:另起文章说明

  面向对象设计:顺序图;详细类图(包括数据结构&方法&算法)











  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值