大连理工大学系统设计与分析总结

1. 系统设计与分析

系统具有整体性
整体功能大于单体个体功能之和

系统具有目的性
任何系统都具有某种目的

系统具有相关性
各部分相互依赖相互制约

系统具有环境适应性

系统具有层次性
系统无论大小,都可以分解为一系列的子系统

软件危机:延时,超出成本,新的技术和工具的好处难以体现

系统分析是对一种业务问题域的学习活动。理解问题域。
系统设计是对系统分析中已确定的业务需求的说明或者解决方案。求可行解。
系统分析与设计的本质是一种认知活动。

系统分析:

  1. 明确问题,设立目标
  2. 收集资料,制定方案
  3. 分析计算,评价比较
  4. 检验核实,做出决策

软件研发趋势

软件工程–讨论和制定摆脱软件危机的对策
用系统性的、规范化的、可定量的过程化方法去开发和维护软件

软件没有银弹
复杂性:软件实体可能比任何由人类创造的其他实体更复杂,软件拥有大量的状态,引发管理上的问题。
可变性:是思维活动的产物,可以无限扩展,软件的修改更容易。客户要求随时可能变化。软件的设计和实现随着技术、语言、人的经验随时变化。
一致性:软件开发的目标就是兼容性。
不可见性:无法可视化。软件表达方式和建模方法无法详尽展示软件

Devops
有不同的视角
wiki:是软件开发、运维和质量保证三个部门之间的沟通、写作和继承所采用的。。。的集合

驱动因素: 一诉求三基础
业务诉求、能力基础、技术基础、工程基础

devops 是一套实践方法,在保证高质量的前提下缩短系统变更从提交到部署至生产环境的时间。

五要素:文化、自动化、精益、度量、分享

2. 系统规划

概述

系统规划:
是系统开发的前提条件
是系统开发的纲领
是系统开发成功的保证
是系统验收评价的标准

提出系统开发的优先顺序,进行计算机的逻辑配置

步骤

总体规划的准备工作
组织结构调查
定义管理目标
识别管理功能
定义数据类

uc矩阵
c产生 u使用 c在对角线上 可以划分子系统
当一个字母u落在任意方框外时,必定存在着子系统之间的数据流画出所有的数据流,删除所有的字母c和u,并给子系统加上名称,这样就形成了新系统的体系结构。

在U-C矩阵中每一个主题数据库中的数据,都必须至少由一个过程产生,如果某一数据库只被某些业务过程所使用而没有业务过程产生它,就说明可能有被遗漏的业务过程

如果某一数据库由多个过程产生,规划人员可以根据实际管理需求来考虑是否应将有关的主题数据库分成多个数据库

尽量使数据库由一个过程产生,被多个过程使用,从而可以保证数据库数据的完整性和一致性

计算机逻辑配置 cs bs

模型与方法

诺兰阶段模型:初装、蔓延、控制、集成、数据管理、成熟

能力成熟度模型CMM

Level 1—初始级Initial: 系统开发项目没有规定的过程可以遵循.
Level 2—可重复级Repeatable: 组织已经建立了项目管理过程和实践来跟踪项目费用、进度和功能,重点在项目管理.
Level 3—已定义级Defined: 组织已经购买或开发了一个标准的系统 开发过程(或称为方法学),所有项目都是用这个软件开发过程来开发 和维护信息系统和软件.
Level 4—已管理级Managed: 组织建立了可度量的质量和生产率目标.
Level 5—优化级Optimizing: 根据第4级建立的度量和数据分析,标准化的系统开发过程被连续地监督和改进.

基于实际实践
较好地反映了实践的情况
反映了软件过程改进和软件过程评估执行人员的需求
形成文档
文档可以公开使用

对软件公司
提高软件公司软件开发的管理能力,因为 CMM可提供软件公司自我评估的方法和自我 提高的手段。
提高软件生产率。
提高软件质量。
提高软件公司的国内和国际竞争力。
对软件项目发包单位和软件用户
提供了对软件开发商开发管理水平的评估手段,有助于软件开发项目的风险识别。

关键成功因素法
了解组织的目标
识别所有的成功因素
确定关键成功因素
明确各关键成功因素的性能指标和评价标准

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KDCNC7p7-1598255343040)(/Users/darnell/Library/Containers/com.tencent.qq/Data/Library/Application Support/QQ/Users/1587387187/QQ/Temp.db/96FB25C8-1E2F-4695-A6A9-9B1EF401B75A.png)]

头脑风暴
不许评价 要到评估阶段才可以
异想天开
越多越好
见解无专利

鱼骨图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X5WKmWNs-1598255343041)(/Users/darnell/Library/Containers/com.tencent.qq/Data/Library/Application Support/QQ/Users/1587387187/QQ/Temp.db/C8C35291-CF25-488F-9DD7-BDD4A01050DA.png)]

3. 需求分析

大小需求 强弱需求 高频低频需求

需求分析:深度理解用户需求,挖掘用户的深层次需求

需求获取:
用户研究–定性研究、定量研究(占比优先级) 用户访谈、可行性研究、调查问卷、数据分析
市场分析–SWOT分析 强 弱 机会 危险
价值曲线

竞品分析:直接竞争,间接竞争,行业领先者

产品定位分析:功能,内容,社交,情感

核心策略分析:如何获取数据、如何处理数据

数据分析

用户画像:针对目标群体真实特征进行的勾勒,是深刻理解真实数据的基础上得出的一个虚拟用户。
过程:定性研究,定量研究,聚类分析,角色描述

分析整合
MVP–最小可行方法

4. 项目管理

四大阶段:发起团队,可行性分析,执行基线计划,结束项目。

单纯型项目组织
职能型项目组织
矩阵型项目组织

##WBS (目标、阶段、活动、任务)

根据项目特点,选择合适的方式将项目总体工作范围逐步分 解为合适的粒度。分解成开发阶段、开发活动和开发任 务。
WBS的分解方式进行:
按照功能模块分解;
按照系统开发过程的不同阶段分解;
按照项目地域或部门分解;
按照项目目标或职能分解;
最后交付的是工作包(任何包完成时间不能超过80个小时)

##项目启动

  1. 发现问题
  2. 定义问题
  3. 制定问题

甘特图

(Gantt chart)是在20世纪初由亨利.甘特开发的,它基本上是 一种线条图。
横轴表示时间
纵轴表示要安排的活动
线条表示在整个期间上计划的和实际的活动完成情况

甘特图直观地表明:
任务计划在什么时候进行
以及实际进展与计划要求的对比

计划评审技术 PERT 网络图

PERT的作业时间(工期)上有三 个估计值(最乐观工期a,最可能工期m,最悲观工期b),而真正用来计算用的任务工期为(a+4m+b/6。

敏捷开发

敏捷团队包括3个核心角色: PO(Product Owner)、 Scrum Master(Scrum教练)和Team(开发产品)

用户故事:典型的描述句式为:作为一个XXX客户角色,我 需要XXX功能,带来XXX好处。

敏捷与精益的区别

基本观点与哲学上不同
敏捷:尽快交付可用的产品,并与客户密切协作、及时获得客户反馈
精益:开发最小的可用产品,并基于看板梳理价值流,消除价值流中的浪费

角度不同
敏捷的关注重点稍窄些 主要关心的是围绕软件开发的具体开发实践和项目管理 一般不太关心在其中进行软件开发的商业上下文环境
精益采用比较宽泛的视角,偏好一体看待软件开发和它的整个业务环境

5. 系统分析建模

业务流程图

数据流程图

用例图

6. 数据库设计

范式

7 系统总体设计

三层架构设计

表示层
业务逻辑层
数据访问层

MVC架构设计

模型
控制器
视图

##SOA架构设计

可从企业外部访问
松耦合、粗粒度
面向业务
内部实现可以基于对象,但是作为一个整体,它是面向业务的,而不是面向对象的。

微服务架构

MVC:视图、业务逻辑前后端分离
SOA:大型系统分层解耦,标准接口调用,分布式系统
微服务:云计算产物,关注敏捷交付和部署速度、频次

suite of small services:由一系列小服务组成
running in its own process: 每个服务运行于自己的独立进程
built around business capabilities:围绕着业务功能进行建模
independently deployable:每个服务可进行独立部署
bare minimum of centralized management:最低限度集中种管理

8. 系统持续设计

圈复杂度:边-节点+2

throw 和return算一个

你可能感兴趣的:(DLUT记录,操作系统)