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

【软件工程】概要设计 软件工程实验——概要设计文档 阅读详情

作者:赵磊

博客:http://elf8848.iteye.com

 

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


一、软件设计一般流程:

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/
FPGA 学习笔记:解决FPGA程序固化重新上电程序不运行的问题 阅读详情

相关推荐

告别Python依赖!用C++编译PaddleOCR打造轻量级本地OCR工具(附模型选择与性能对比)

本文详细介绍了如何将PaddleOCR从Python迁移到C++平台,打造高性能、低资源占用的本地OCR工具。通过对比Python和C++实现的性能差异,展示了C++在冷启动时间、内存占用和部署便捷性上的显著优势。文章还提供了模型选择、编译配置和优化技巧等实用指南,帮助开发者轻松构建轻量级OCR解决方案。

weixin_28717467的博客 256

软件工程之软件概要设计

在完成对软件系统的需求分析之后,接下来需要进行的是软件系统的概要设计。一般说来, 对于较大规模的软件项目,软件设计往往被分成两个阶段进行。首先是前期概要设计,用于确 定软件系统的基本框架;然后是在概要设计基础上的后期详细设计,用于确定软件系统的内部 实现细节。 概要设计也称总体设计,其基本目标是能够针对软件需求分析中提出的一系列软件问题, 概要地回答问题...

weixin_33890526的博客 1544

SAE J1850协议:从波形解析到汽车诊断实战

本文深入解析SAE J1850协议在汽车诊断中的应用,重点对比其PWM和VPW两种实现方式的波形特征、帧结构及诊断要点。通过实测案例,详细介绍了如何通过波形分析精准定位通用和福特等美系车型的通信故障,提升汽车电子诊断实战能力。

hill8的博客 965

概要设计文档3.0

概要设计文档 1、引言部分 引言部分主要说明编写目的、系统的范围和参考资料等。 1.1目的 该文档的目的是描述旅游软件的概要设计,主要内容包括系统功能简介、系统结构设计、模块设计和界面设计等。 本文档的预期读者包括:设计人员,开发人员,项目管理人员,测试人员。 1.2 范围 1.2.1 系统目标 我们设计这款软件主要目的是给大学生提供一款主要针对他们的旅游方式推荐旅游攻略的软件,让...

居贝比的博客 2万+

基于FME—三调篇—尖锐角及小缝隙处理

1 问题分析: 该功能实现在FME较为简单,相对ARCGIS模型构建器以及ARCGIS ENGINE,FME更适合无代码基础的人群。在三调内业数据处理要求中,尖锐角是不允许存在的。本文基于FME实现了对尖锐角的自动查询与消除以及自动处理在消除尖锐角过程中产生的缝隙,并进行了拓扑检查,实现自动化批量处理尖锐角的功能,提高工作效率。 2 总体思路: 2.1 实现功能分析: 1.找出小于指定角度的尖锐角...

qq_33315579的博客 9178

从零到一:i.MX8M Plus开发板全流程开发指南(源码编译、烧录、镜像运行)

本文详细介绍了i.MX8M Plus开发板的全流程开发指南,包括源码编译、烧录和镜像运行等关键步骤。通过实战案例和配置技巧,帮助开发者快速掌握工业级应用开发,提升在边缘计算和AI推理等领域的开发效率。

weixin_30687051的博客 566

软件概要设计的过程和内容

在完成对软件系统的需求分析之后,接下来需要进行的是软件系统的概要设计。一般说来,对于较大规模的软件项目,软件设计往往被分成两个阶段进行。首先是前期概要设计,用于确定软件系统的基本框架;然后是在概要设计基础上的后期详细设计,用于确定软件系统的内部实现细节。 概要设计也称总体设计,其基本目标是能够针对软件需求分析中提出的一系列软件问题,概要地回答如何解决。例如,软件系统将采用什么样的体系构架、需要创建哪些功能模块、模块之间的关系如何、数据结构如何?软件系统需要什么样的网络环境提供支持、需要采用什么类型的后台数据

qq_43248127的博客 8745

Lumerical官方案例、FDTD时域有限差分法仿真学习(十四)——超透镜(Metalens)

这个例子的目的是设计一个由圆柱形纳米棒组成的衍射超透镜。 纳米棒的半径和排列经过调整以在超透镜表面上产生所需的相位分布。 该设计通过近场和远场分析在 Ansys FDTD、RCWA(严格耦合波分析)和 OpticStudio 中得到验证。...

weixin_45719141的博客 3万+

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

昨天写的博客中说了每天发博客来总结自己干了什么,今天总结一下怎么才能写出好的概要设计。 一、软件设计一般流程:  1、先前的软件需求分析阶段,已经搞清楚了 “要解决什么问题”,并输出了《软件需要说明书》。这时一切都是理想。 2、现在进入概要设计阶段,重点说清楚“总体实现方案”,确定软件系统的总体布局,各个子模块的功能和模块间的关系,与外部系统的关系。有一些研究与论证性的内容。并输出《软件概要设计...

hyf1998的博客 546

基于YOLOv8与UI界面的短视频内容审核系统实现与深度学习应用

YOLO(You Only Look Once)是一种用于实时物体检测的深度学习模型,它能在单次前向传播中同时完成物体检测和定位。YOLOv8是YOLO系列中的最新版本,相较于之前的版本,YOLOv8具有更高的检测精度和更快的推理速度,特别适合需要实时检测的应用场景。YOLOv8通过卷积神经网络(CNN)来提取图像中的特征,并通过多个卷积层来预测每个目标的位置和类别。该模型的优势在于其端到端的结构,使得在视频监控、自动驾驶、安防监控等实时应用中,能够实现快速且高效的目标检测。

YOLO 314

【好玩的游戏项目】使用Docker快速部署属于你的RPG网页小游戏

【好玩的游戏项目】使用Docker快速部署属于你的RPG网页小游戏

jks212454的博客 5572

软件需求,概要设计,详细设计(文档)怎么做,做什么?

写在前面 由于项目工作需要 ,需要提供《软件需求规格说明书》,《软件概要设计说明书》和《软件详细设计说明书》。所以这里整理学习一下相关文档需要的内容。文章并不设计对所有需求分析,概要设计和详细设计的详细描述。因为这其中的任何一点都可以单独提取出来成为软件工程学科中的一本书籍内容。 1 软件设计的整体流程: 软件需求分析阶段:输出了《软件需求规格说明书》,不涉及具体实现方法。用户能看得明白,开发人员也可据此进行下面的工作,搞清楚“要解决什么问题”。 概要设计阶段:确定软件系统的总体布局,各个子模块的功

好习惯成就伟大 4万+

华为OD机试2025C卷 - 字符串解密 (C++ & Python & JAVA & JS & GO)

华为OD机试 2025C卷 字符串解密,提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解

qq_45776114的博客 976
上一篇: BigInteger权限判断示例
下一篇: CXF生成客户端
javahepeng
博客等级 码龄15年 6粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值