如何写软件概要设计?

转自:http://blog.csdn.net/nomasp/article/details/50177689

概要设计

概要设计是一个将用户目标与需求转换成具体界面设计方案的重要阶段,在这里我们需要由前一阶段的需求分析得到软件(包括移动应用和网站等)的设计和数据结构

其通常是将复杂的系统按照不同的功能进行模块化,理清模块之间的层次关系以及调用关系、确定模块间的接口以及用户界面。而数据结构部分则是要根据数据的特征来确定数据的结构并设计出相应的数据库

软件设计的流程

软件的设计一般有如下流程:

1,需求分析
    在这一阶段,我们需要理清楚到底要解决哪些问题
    并完成“软件需求说明书”
2,概要设计
    在这一阶段,根据上一阶段的需求来确定总体的实现方案
    确定整个软件的大体布局
    各模块的功能以及模块之间的衔接
    模块与外部系统的关系,
    并完成“软件概要设计说明书”
3,详细设计
    在这一阶段,我们应该开始探讨每个模块该如何具体实现
    每个实现中需要哪些算法、属性、参数、数据结构、接口
    并完成“软件详细设计说明书”
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

概要设计说明书如何去写

总体设计

需求
目标
运行环境
局限
结构
未解决的问题
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

使读者有个全局观,对后面的模块设计有准备。

接口设计

外部接口
内部接口
用户接口
 
 
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

这些接口不是编程中的interface,而是软件的可用资源。使读者可以了解到有哪些可供使用的资源。

运行设计

模块组合
运行时间与控制
 
 
  • 1
  • 2
  • 1
  • 2

模块设计

这是整个概要设计的核心,它需要指明:

每个模块做什么,实现了哪些功能
每个模块怎么做,包括输入、输出、逻辑、与其他模块的衔接、接口
每个模块所处的逻辑位置
每个模块所处的物理位置
每个模块的层次结构,可以用软件框图来展示
每个模块的关系,诸如依赖、通信等关系
每个模块的接口,模块之间如何传递信息以及信息本身的结构
每个模块的处理方式,其需要满足于哪些功能或性能上的要求
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

数据结构

逻辑结构
物理结构
 
 
  • 1
  • 2
  • 1
  • 2

容灾设计

出错信息
补救措施
系统维护设计
 
 
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

监控设计

各个模块的组合、控制以及模块运行的时间
 
 
  • 1
  • 1

界面设计

软件的主题界面设计


还有诸如“安全设计”等都可以考虑进来。

对于设计的准则、代码的规范、接口的约定、命名的规则等都需要团队共同协商。

概要设计的使用

概要设计是用来评价软件整体设计可行性的重要支撑,由于每个模块已经开始确定,可以很好的检查已有的模块是否已经足够完整,还可以用于评估工作量以及知道下一步的计划,但是概要设计不应该太重视具体的业务流程以及细节实现,它只是一个模块化的纲领。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值