留求艺—您的留学规划师

简述系统总体设计的一般步骤

130次

问题描述:

简述系统总体设计的一般步骤,麻烦给回复

最佳答案

推荐答案

总体设计过程总体设计过程通常由两个主要阶段组成:系统设计阶段, 确定系统的具体实现方案;结构设计阶段, 确定软件结构。

典型的总体设计过程包括下述9个步骤。

1. 设想供选择的方案如何实现要求的系统呢?在总体设计阶段分析员应该考虑各种可能的实现方案,并且力求从中选出最佳方案。在总体设计阶段开始时只有系统的逻辑模型,分析员有充分的自由分析比较不同的物理实现方案,一旦选出了最佳的方案,将能大大提高系统的性能/价格比。需求分析阶段得出的数据流图是总体设计的极好的出发点。设想供选择的方案的一种常用的方法是,设想把数据流图中的处理分组的各种可能的方法,抛弃在技术上行不通的分组方法(例如,组内不同处理的执行时间不相容),余下的分组方法代表可能的实现策略,并且可以启示供选择的物理系统。

2. 选取合理的方案应该从前一步得到的一系列供选择的方案中选取若干个合理的方案,通常至少选取低成本、中成本和高成本的3种方案。在判断哪些方案合理时应该考虑在问题定义和可行性研究阶段确定的工程规模和目标,有时可能还需要进一步征求用户的意见。对每个合理的方案,分析员都应该准备下列4份资料:系统流程图组成系统的物理元素清单成本/效益分析实现这个系统的进度计划3. 推荐最佳方案分析员应该综合分析对比各种合理方案的利弊,推荐一个最佳的方案,并且为推荐的方案指定详细的实现计划。用户和有关的技术专家应该认真复查分析员所推荐的最佳系统,如果应系统确实符合用户的需要,并且是在现有条件下完全能够实现的,则应该提请使用部门负责人进一步审批。在使用部分的负责人也接受了分析员所推荐的方案之后,将进入总体设计过程的下一个重要阶段–结构设计。

4. 功能分解为了最终实现目标系统,必须设计出组成这个系统的所有程序和文件(或数据库)对程序(特别是复杂的大型程序)的设计,通常分为两个阶段完成:首先进行结构设计,然后进行过程设计。结构设计确定程序由哪些模块组成,以及这些模块之间的关系;过程设计确定每个模块的处理过程。结果设计是总体设计阶段的任务,过程设计是详细设计阶段的任务。为确定软件结构,首先需要从实现角度把复杂的功能进一步分解。分析员结合算法描述仔细分析数据流图中的每个处理,如果一个处理的功能过分复杂,必须把它的功能适当分解成一系列比较简单的功能。一般来说,经过分解之后应该使每个功能对大多数程序员而言都是明显易懂的。功能分解导致数据流图的进一步细化,同时还应该用IPO图或其他适当的工具简要苗虎细化后每个处理的算法。

5. 设计软件结构通常程序中的一个模块完成一个适当的子功能。应该把模块组织成良好的层次系统,顶层模块调用它的下层模块以实现程序的完整功能,每个下层模块再调用更下层的模块,从而完成程序的一个子功能,最下层的模块完成最具体的功能。软件结构(即由模块组成的层次系统)可以用层次图或结构图来描绘。如果数据流图已经细化到适当的层次,则可以直接从数据流图映射出软件结构。

6. 设计数据库对于需要使用数据库的那些应用系统,软件工程师应该在需求分析阶段所确定的系统数据需求的基础上,进一步设计数据库。

7. 制定测试计划在软件开发的早期阶段考虑测试问题,能促使软件设计人员在设计时注意提高软件的可测试性。

8. 书写文档应该用正式的文档记录总体设计的结果,在这个阶段应该完成的文档通常有下述几种。系统说明主要内容包括用系统流程图描绘得系统构成方案,组册很难过系统的物理元素清单,成本/效益分析;对最佳方案的概括描述,精化的数据流图,用层次图或结构图描绘得软件结构,用IPO图或其他工具(例如,PDL语言)简要描述的各个模块的算法,模块间的接口关系,以及需求、功能和模块三者之间的交叉参照关系等。用户手册根据总体设计阶段的结果,修改更正在需求分析阶段产生的初步的用户手册。测试计划包括测试策略,测试方案,预期的测试结果,测试进度计划等。详细的实现计划数据库设计结果9. 复查和复审最后应该对总体设计的结果进行严格的技术审查,在技术审查通过之后再由客户从管理角度进行复核。

简述系统总体设计的一般步骤

其他答案

根据系统设计的总体目标,在特定环境条件下,运用一定 的原理和方法,确定一个合乎需要的系统的技术过 程。系统设计应考虑系统功能、系统的输入、系统的 输出、系统结构、系统环境和系统条件等方面的问 题。

设计的一般步骤是:

①确定系统功能和总目标;

②收集原始资料、约束条件和技术、经济、社会、环境 等方面的可靠信息;

③提出供选择的可行方案;

④对 备选方案进行评价和选择,确定设计方案;

⑤按系统 的层次结构进行详细设计;

⑥优化设计系统;

⑦对新 系统进行模拟试验和调整;

⑧联接各子系统,构成完 整的系统;

⑨对新系统的性能、成果进行测定和评 价。

其他答案

Scenario 场景

这是每个系统设计的第一步,搞清楚我们的系统场景,为什么服务。我们的业务场景是什么样子的,都有哪些角色,怎么个流程?其实在这一阶段就是列出系统需要实现的功能有哪些。

接着我们把功能根据优先级和核心功能进行排序。比较互联网很快,我们先搞一个Version1.0上去,再来优化。

Needs 需求

很多人被这个中文翻译搞懵逼了,你不是在第一阶段就讲过需求吗?这里的needs是说咱们系统设计出来要满足什么样的用户量,需要咱们设计一个多么吊&牛X的系统。最好这个时候能拿出纸和笔来计算一下,咱们的DAU、并发量、QPS、TPS、峰值。Pls,remember:我们需要的是一个合适的系统,绝对不是一个可以满足100年都可用的巨牛逼的系统。

Application 应用

这一阶段,我们要做的是将我们的功能进行划分,分组成不同的模块。这样后边我们就可以团队分工开发,团队协作。

接着我们需要考虑的是关键的一些算法。比如缓存算法、分库算法等。

Service + Algorithm

Kilobyte 数据

关系型数据库SQL Database

小调查:Twitter的哪些信息适合放在关系型数据库中?

用户信息 User Table

非关系型数据库 NoSQL Database

小调查:Twitter的哪些信息适合放在非关系型数据库中?

推文 Tweets

社交图谱Social Graph(followers)

文件系统File System

小调查:Twitter的哪些信息适合放在文件系统中?

图片、视频Media Files

讲到这个地方其实我想总结一句:

程序 = 算法 + 数据结构

系统 = 服务 + 数据存储

Evolve 改进

这个阶段就是做优化和维护工作了,我们最好根据实际的需要去优化系统,满足系统不远将来的增长。选择一个最合适的方案而不是一个最好的方案。

为你推荐

网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  在线报名  |  网站地图