软件概要设计做什么,怎么做

软件概要设计做什么,怎么做

一、软件设计一般流程:

1、先前的软件需求分析阶段,已经搞清楚了 “要解决什么问题”,并输出了《软件需要说明书》。这时一切都是理想。

2、现在进入概要设计阶段,重点说清楚“总体实现方案”,确定软件系统的总体布局,各个子模块的功能和模块间的关系,与外部系统的关系。有一些研究与论证性的内容。并输出《软件概要设计说明书》。这时一切都是概念。

3、最后进入详细设计阶段,重点说清楚“每个模块怎么做”,是“程序”的蓝图,确定每个模块采用的算法、数据结构、接口的实现、属性、参数。并输出《软件详细设计说明书》。这时一切都是实现。

二、《概要设计说明书》的一般结构:

1、总述:需求或目标(讲一下事情的起源)、环境、局限;

----主要交代背景与大环境。(非重点)

2、总体设计:从全局的角度说一下 总体结构、功能、处理流程、有哪些模块、模块间的关系;

----使读者有“全局”观,为下一步深入各个模块做好准备。

3、外部接口:总体说明外部用户、软、硬件接口(可用资源);(这个接口不是java的interface) 。

----使读者了解可以利用的外部资源。

4、模块设计:每个模块“做什么”、简要说明“怎么做”(输入、输出、处理逻辑、与其它模块或系统的接口),处在什么逻辑位置、物理位置; (重点)

5、数据结构:逻辑结构、物理结构(存储在数据表中,还是缓存中);

6、容灾设计:出错信息、出错处理; (可选)

7、监控设计:运行模块组合、控制、时间;(可选)

8、用户界面设计:(可选)

9、安全设计:(可选)

10、其它设计:(可选)

11、制定规范(附录): 设计原则,代码规范、接口规约、命名规则。--是小组协同开发的基础

三、模块设计是重点,多说几句:

可以写以下内容:

1、模块描述:说明哪些模块实现了哪些功能;

2、模块层次结构:可以使用某个视角的软件框架图来表达;

3、模块间的关系:模块间依赖关系的描述,通信机制描述;

4、模块的核心接口:说明模块传递的信息、信息的结构;

5、处理方式设计:说一些满足功能和性能的算法;

四、怎么使用概要设计:

1、用来评价总体设计的可行性。

2、用来检查设计的模块是否完整,保证每一个功能都有对应的模块来实现。

3、用来评估开发工作量、指导开发计划(在不写详细设计的情况下)。

五、最后提醒:

1、概要设计阶段过于重视业务流程是个误区.

2、概要设计阶段过于重视细节实现是个误区.

转载自:http://elf8848.iteye.com/

原文地址:https://www.cnblogs.com/hozon/p/10254641.html

时间: 2024-10-20 19:53:57

软件概要设计做什么,怎么做的相关文章

软件概要设计做什么

软件概要设计做什么,怎么做 一.软件设计一般流程: 1.先前的软件需求分析阶段,已经搞清楚了 "要解决什么问题",并输出了<软件需要说明书>.这时一切都是理想.2.现在进入概要设计阶段,重点说清楚"总体实现方案",确定软件系统的总体布局,各个子模块的功能和模块间的关系,与外部系统的关系.有一些研究与论证性的内容.并输出<软件概要设计说明书>.这时一切都是概念.3.最后进入详细设计阶段,重点说清楚"每个模块怎么做",是&qu

为什么国外客户愿意把软件交给印度人来做?

因为在硅谷的投资经历,我直接会见过大量在硅印度人的创业公司.在班加罗尔的很多印度软件代工企业,印度的软件外包做得不错,但为什么能做好,媒体上人们分析的原因基本都是不靠谱的. 通过了解印度人的教育结构.以及我直接管理过的印度人做事方式,我充分理解了印度人软件外包做得这么好真正原因所在——是他们远远强于中国人的沟通方式,而不是他们的语言能力. 当年任中兴印度公司CEO不久,我与两个印度员工一起去见客户.他们去之前就列出24个要讨论的问题,用了一上午时间把这24个问题一个一个讨论完了.中午我们到客户办

在ERP软件行业项目应该怎么做?

本人进入软件行业已经有5个年头了,主导实施和参与过的大大小小的项目有20余个.其中有些项目做的非常好,提升了客户企业的管理水平,也规范了企业的业务操作水平,优化了企业的流程,客户非常认同我们实施的价值:也有的项目实施效果一般,客户在应用软件前后没有明显的效果,唯一的成果就是计算机代替了人来汇总一些报表数据:还有的项目实施到一半便被叫停了.被叫停后往往会走向两个极端,一个是更换实施策略和方法重新实施,重新实施后最终效果有可能好也有可能坏.另一个极端便造就了所谓的烂尾工程,造成项目无法交付. 为什么

如何写软件概要设计?

概要设计 概要设计是一个将用户目标与需求转换成具体界面设计方案的重要阶段,在这里我们需要由前一阶段的需求分析得到软件(包括移动应用和网站等)的设计和数据结构. 其通常是将复杂的系统按照不同的功能进行模块化,理清模块之间的层次关系以及调用关系.确定模块间的接口以及用户界面.而数据结构部分则是要根据数据的特征来确定数据的结构并设计出相应的数据库. 软件设计的流程 软件的设计一般有如下流程: 1,需求分析 在这一阶段,我们需要理清楚到底要解决哪些问题 并完成"软件需求说明书" 2,概要设计

软件概要设计(转)

一般说来,需求分析属于软件定义方面 而概要设计.详细设计属于软件开发的阶段 按照传统软件工程的软件过程,区别如下: 1.需求分析--产生   软件功能规格说明书,需要确定用户对软件的需求,要作到明确.无歧义.不涉及具体实现方法.用户能看得明白,开发人员也可据此进行下面的工作(概要设计) 2.概要设计--产生   软件概要设计说明书,说明系统模块划分.选择的技术路线等,整体说明软件的实现思路.并且需要指出关键技术难点等. 3.详细设计--产生   软件详细设计说明书,对概要设计的进一步细化,一般由

无锡美新赵阳:创业18年,一辈子做好一家企业(创业是一种生活方式;为了赚钱而创业,那是扯淡”。最重要的是做自己喜欢做的事情)

会议室的门开了,赵阳大步迈了进来,带着一身的仆仆风尘——助理说,他才和客户谈好业务便匆匆往回赶——这场景,仿佛和七年前重叠起来. 那年,无锡日报记者采访了创新创业人物.身为美新半导体董事长兼CEO的赵阳;如今,还是在高新区新辉环路2号,还是那个头衔,我们的话题却有了更多的延展性. 一晃,当年北大物理系高才生.后赴美国普林斯顿大学攻读物理和电子工程并师从诺奖得主DanielTsui教授获电子工程博士学位的赵阳,在无锡创业已有18年;他带领的美新,也由零起步成长为全球仅有的同时具备 MEMS传感器和

技术人员的未来:做技术还是做管理?

一.如何确定自己做技术还是管理 从标题来看是个很简单很朴实的问题,大部分技术人员在工作3年.5年以后都会面临这个问题,如果没有面临,说明你平常思考的太少,或者你危机要降临了.本文讨论的是通常意义的计算机相关技术人员的个人职业发展规划,如果是个人创业或者其他目标追求不在此列,我只是描述大部分普普通通的计算机工程师的问题. 中国是个官本位思想很重的国家,所有主流意识认为能够当官或者做管理的人才是有出头的,才是有出息的,才是王道,才会被亲朋好友同事同学瞧得起,其实,不尽然. 我说点大块的,比如说,如果

做自己想做的工作,你也可以

注:这篇文章根据我2015年12月12日在中国黑客联盟和12月17日在CSDN的公开课"做自己想做的工作"整理而来,整理时做了不少调整,与讲课内容大有出入,甚至可以当做一篇新文章来看. 我们大多数人都面临一个严肃的事实:在离开学校后,我们必须在长达40到50年的时间里努力地工作.假如在这么漫长的岁月里,在我们最有精力最有活力的这段人生里,一直做着自己不喜欢的工作(这并不罕见),那就是浪费时间.浪费生命.所以,找到一份适合自己的工作非常重要,只有在做自己想做的工作时,才能获得职业满足,才

程序员,做艺术家不做码农

前几天和一个朋友聊天时说:我有强迫症,每次看到不符合自己审美的代码时,总想重构一下.朋友的观点与大多数人相仿,程序只要满足要求,运行正确就可以. 在现实的工作中一样,每当看到一段优美且高效的代码,我总是喜欢多看几遍,满心的享受.但是我们产品中的太多代码让我这个代码洁癖"患者"看了非常的烦躁: 1. 随便一个源文件都是上百行的函数,有些甚至超过500行(含空行和注释). 2. 大量没有必要的临时变量定义. 3. 习惯性的把所有变量声明定义放到函数前面,一些大函数甚至超过20行都是函数局部