架构师学习笔记8--系统分析与设计方法

系统设计是架构师的看家本领,但设计基于系统分析。系统架构师在项目管理师的协调下,与系统分析师协同工作。

一、定义问题与归结模型
软件系统的目的是解决问题,所以软件开发第一步是定义和分析问题,在此基础上归结模型。

定义问题的过程包括,理解真实世界中的问题和用户需要,并提出解决方案。

(一)问题分析
1、对问题的定义达成共识

2、理解问题的本质
常用因果鱼骨图和帕累托图。
这里写图片描述
因果鱼骨图

这里写图片描述
这里写图片描述
帕累托图
帕累托原则又称为二八原理。

3、确定项目干系人和用户

4、定义系统的边界
系统和与系统交互的事物。
描述系统边界有两种方法:
1)上下文范围图
这里写图片描述
2)用例图

5、确定系统实现的约束

(二)问题定义
1、目标
2、功能需求
3、非功能需求

二、需求分析与软件设计
软件生存周期中最重要的两个步骤。需求分析解决做什么,软件设计解决怎么做。

(一)需求分析的任务与过程
项目失败率超过76%;其中60%源于需求问题。
需求分析的主要任务是与用户广泛交流,不断澄清一些模糊概念,最终形成一个完整、清晰、一致的需求说明。细分为4方面:
1、问题识别
2、分析与综合
3、编制文档
4、评审

需求分类有功能需求,非功能需求,设计约束,还有业务需求,用户需求,系统需求。这些都是从不同的人员,不同的立场出发。
这里写图片描述

(二)如何进行系统设计
1、系统设计工具和方法不是最重要的,关键是设计者实力,在实践中不断学习和总结
2、设计是一个妥协,找到平衡点的过程
3、借鉴
4、不断学习,与时俱进

(三)软件设计的任务与活动
软件设计将软件需求–>软件表示。先总体框架,再填细节。
1、软件设计的两个阶段
1)概要设计
2)详细设计

2、主要设计方法比较
1)结构化分析与设计
2)面向对象的分析与设计

三、结构化分析与设计
数据流图

四、面向对象的分析与设计
UM九图

五、用户界面设计
原则:
1、用户体验
2、减少用户的记忆负担
3、保持界面的一致性
还有
说那么多都是扯,好看才是正道。

六、工作流设计

七、简单分布式计算机应用系统的设计
分布式系统有两种完全不同的方式来进行协同和合作:
1、基于实例的协作
远程调用
2、基于服务的协作
接口

八、系统运行环境的集成与设计

九、系统过渡计划
新开发的系统如何取代旧系统?不外乎:
1、直接过渡
2、并行过渡
3、阶段过渡

猜你喜欢

转载自blog.csdn.net/leftfist/article/details/79782243