理顺软件开发各个环节-13(开发管理-概要设计和详细设计)

阿拉伯1999 阿拉伯1999     2022-12-25     324

关键词:

5.5软件概要设计

  概要设计,用于子系统或模块设计,也可用新增业务需求的跨子系统设计。概要设计在总体设计框架下,遵循总体设计思想,丰富子系统或模块设计,从而能够指导开发实现子系统或模块。

  由于软件总体设计从宏观上架构软件,距离开发实现,还有许多需要细化之处。如果系统由多个子系统组成,每个子系统可以视为一个独立的应用软件或服务,此时概要设计不可省略;如果系统不大,重点模块也应需要做概要设计来细化。可以理解为概要设计粒度介于总体设计和详细设计之间。

  另外,概要设计与代码实现的联系更紧密一些,如代码分层、核心的对象类及关系等。

  责任人:开发项目组长。
  执行人:高级程序员、子系统或模块开发人员。
  关键行为:分析和概要设计。  

  • 分析:根据子系统或模块的功能规划,结合对软件需求进行分析,完整把握需求;
  • 概要设计:在总体设计框架下,完成子系统或模块的概要设计。

  输入

  • 软件需求规格书(SRS);
  • 数据字典(DD);
  • 用户故事集合;
  • 其它需求资料;
  • 软件总体设计文档。

  输出

  • 软件概要设计文档;
    • 子系统结构设计;
    • 功能模块设计;
    • 接口设计;
    • 软件结构设计;
    • 数据库设计。

  职责要求

  • 概要设计;
  • 沟通、协调、明确对接的上下游子系统/模块的接口和边界;
  • 提请软件概要设计评审:
    • 概要设计人员:主讲人,负责讲解和答复各种质询和疑问;
    • 产品经理:评估产品需求在子系统或模块的部分是否被设计的系统所满足;包括后期的需求的满足性;非功能需求的支持情况;
    • 项目经理:组织、协调,关注子系统与其它相关子系统的衔接;
    • 开发项目经理及高级技术人员:关注技术方案的可行性、灵活性;非功能需求的支持情况;关注子系统与其关子系统的衔接;
    • 开发技术人员:了解软件的设计思路,便于开发实现;如前后端分离,前端开发人员需评审涉及前端接口的合理性;
    • 测试技术人员:了解软件的设计思路,以及其对测试的影响;

 

5.6软件详细设计

  详细设计,能够在开发人员编码实现前,评审其设计思路,肯定是有帮助的。但是,详细设计是需要时间开销的,做为设计的末端,其数量规模是很大的;如果需求不明确,则这些投入就可能白费。

  在敏捷开发模式,详细设计一般都不做。在实际操作中,发现有些核心功能还得需要做详细设计,有了总体设计文档,概要设计文档和软件需求规格书,并不能保证每个开发人员都能跟上设计人员的思路,结果实现的效果参差不齐,有的完全没有按照总体设计思路来。

  因此,我认为,重要或核心功能开发,还是需要做详细设计。具体需要开发项目组长来把握。

  责任人:开发项目组长。

  执行人:软件需求开发人员。

  关键行为:分析和详细设计。

  输入

  • 软件需求规格书(SRS);
  • 数据字典(DD);
  • 用户故事;
  • 其它需求资料;
  • 软件总体设计文档;
  • 软件概要设计文档。

  输出

  • 详细设计文档;
  • 接口设计:YApi或swagger;
  • 单元测试设计:checklist

  职责要求

  • 详细设计;
  • 理解需求;
  • 沟通、协调、明确对接的上下游模块的接口和边界;
  • 提请软件详细设计评审:
    • 开发人员:主讲人,负责讲解和答复各种质询和疑问;
    • 开发项目组长:关注技术方案的可行性;
    • 上下游相关开发人员:评审接口、业务流程及性能等技术可行性;
    • 高级技术人员:如果功能比较复杂,参与评审;
    • 其它人员,视情况需要

理顺软件开发各个环节-14(开发管理-编程实现)

5.7编程实现  软件开发,最后终归要编写程序代码来实现。 5.7.1关于程序语言  程序语言,即计算机语言,与自然语言的语种一样,也是五花八门,就我自己用过的语言就有:汇编、BASIC、FORTRAN、VB、C、C++、C#、PASCAL、PH... 查看详情

理顺软件开发各个环节-18(测试管理-测试团队需求分析及测试策略)

6测试管理  测试人员与开发人员的视角不同,测试团队(或测试人员)是软件研发质量保障体系不可或缺的组成部分。  测试管理包括:测试团队管理、需求分析、测试策略、测试环境搭建和测试工具选择、测试计划、测... 查看详情

理顺软件开发各个环节-18(测试管理-测试团队需求分析及测试策略)

6测试管理  测试人员与开发人员的视角不同,测试团队(或测试人员)是软件研发质量保障体系不可或缺的组成部分。  测试管理包括:测试团队管理、需求分析、测试策略、测试环境搭建和测试工具选择、测试计划、测... 查看详情

理顺软件开发各个环节-4

...4.4软件需求分析  软件需求分析,对开发团队而言,是软件开发工作的起点。  软件需求分析,是非常重要的节点,但实际情况是,在敏捷开发时代,很多研发团队错把产品需求作为软件需求。软件需求分析自然不可能跳过... 查看详情

理顺软件开发各个环节-6

4.4.3功能需求项的编写示例  上节软件需求规格书模板中,章节3是大头,其中涉及功能需求项的编写。使用UseCase方式进行描述。本节给出一个需求项编写示例,详细说明一下编写方法。  使用UseCase方式描述需求,除了正常... 查看详情

软件研发部管理制度

...加强对公司软件研发部门工作管理,缩短开发周期,提高软件开发质量,降低开发成本,提高开发效率,特制定软件研发部管理制度。第一章、总则为保证日常工作正常有序的进行,让开发中各个环节更紧凑,更可控,需要尽可... 查看详情

85关于软件开发的环节

 针对软件开发,无论是瀑布模型还是敏捷模型,还是任何开发模式,永远都是软件工程所说的步骤,即在开发计划的指引下,按照需求、设计、开发、测试四个环节,完成应用系统的交付。只是各个环节所用的技术不同、框... 查看详情

crm客户关系管理系统-需求概设和详设

...画个思维导图  首先我们是为培训学校这么一个场景来开发的,所以有:学生,讲师,销售,老板这么四个角色,那接下来,我们就要对这几个角色需要实现哪些功能逐一分析了  第一个,学生,1.交作业2.查成绩3.请假4.合... 查看详情

软件开发的常见文档

软件开发的常见文档01立项调查报告02立项建议书03立项评审报告04项目设计开发任务书05项目计划06质量保证计划07配置管理计划08需求分析说明书09概要设计说明书10详细设计说明书11数据库设计说明书12数据库表详细设计13单元测... 查看详情

django项目开发流程&项目架构(代码片段)

项目开发流程&项目架构1.软件开发的一般流程1.需求分析及确认:由需求分析工程师与客户确认甚至挖掘需求。输出需求说明文档。?2.概要设计及详细设计:开发对需求进行概要设计,包括系统的基本处理流程,组织结构、模... 查看详情

用户模块开发概要与接口设计

   查看详情

概要设计文档3.0

...设计和界面设计等。本文档的预期读者包括:设计人员,开发人员,项目管理人员,测试人员。1.2范围1.2.1系统目标我们设计这款软件主要目的是给大学生提供一款主要针对他们的旅游方式推荐旅游攻略的软件,让他们在想出游... 查看详情

第五次作业——软件设计

...—软件设计在开始软件设计之前,首先确定软件设计中的各个模块需要考虑的任务,绘制概要图如下: 下面根据上述各个模块,逐层进行软件设计: 一、概要设计   首先,概要设计的目的是确定软件的结构以及各... 查看详情

软件生命周期模型

...周期中要做的各项工作的规范和顺序。瀑布模型 重点环节:1、需求分析:需求规格文档 2、总体设计:概要设计文档 3、详细设计:详细设计文档 4、编码:写代码 5、测试:在编码完成后进行优点:顺序清晰... 查看详情

基于微信小程序的竞赛管理系统

...信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。本文以实际运用为开发背景,运用软件工程原理和开发方法,它主要是采用java语言技术和mysql数据库来完成对系统的设计。整个开发过程首先对竞... 查看详情

设计概要设计-详细设计-到底需要输出什么???

...、详细设计(二) 设计的内容_可爱桑树_新浪博客项目管理_可爱桑树_新浪博客软件系统概要设计的三大要素软件概要设计-天神一-博客园概要设计与详细设计分别要做什么--Numeric--博客园软件概要设计与详细设计的区别-CSDN博客... 查看详情

十面向对象分析和设计全流程概述

...进行开发的流程。我们称之为技术流程。技术流程有四个环节,概括如下:需求模型-》领域模型-》设计模型-》实现模型1.需求模型 &nbs 查看详情

页面管理

进行页面管理开发;在设计界面的基础上,进行页面大小和方向的设计。11/12:查阅QT开发设计资料,关于界面功能控制,11/13:关于纸张的大小逻辑设计,参考纸张大小规格11/14:纸张大小开发:A4,11/15:纸张大小开发:A5,B511/16-... 查看详情