上一篇博客是对于软件工程中定义阶段的介绍,主要是可行性研究和需求分析两个方面。在进行完定义阶段以后,就该开始对软件进行设计了。定义阶段要解决的问题是“做什么”,系统“做什么”清楚了以后。就该解决“怎么做”了,这就是软件设计阶段所要解决的问题。这个阶段主要包括总体设计(概要设计)和详细设计。在进行完设计以后就进入更详细的程序编码阶段。

软件设计阶段:

       首先是对于软件设计阶段的整体思维导图:
       

一、总体设计:

       总体设计也称为概要设计,总体设计是从两个方面来设计的:系统设计阶段和结构设计阶段。我感觉它的核心在于从整体上对软件系统做一个概要,集中精力解决主要问题,逐步求精的过程。不是具体分析模块中的内容,而是重在分析模块的组成和模块之间的关系。
       系统设计:主要是为了确定系统的具体实现方案,以需求分析阶段得出的数据流图为基础,设想供选择的方案,然后从中选取合理的方案。
       结构设计:主要是为了确定软件的结构,也就是要确定系统中的每个程序是由哪些模块组成的,以及这些模块相互间的关系。

二、详细设计

       详细设计阶段的任务是确定怎样具体的实现所要求的系统,是总体设计的进一步细化,详细设计阶段的好坏对将来编写出程序的可读性、测试、修改和维护都有很大的影响。它主要包括三个部分:结构程序设计、人机界面设计和过程设计。
       结构程序设计:主要指顺序结构、循环结构和分支结构三大结构,这是详细设计的基础。
       人机界面设计:人机界面设计是接口设计的一个重要组成部分。人机界面的质量直接影响用户对软件产品的接受程度,和其他设计方法同等重要。
       过程设计:它的任务是设计解题的详细步骤(即算法),是详细设计阶段应完成的主要工作。过程设计的工具分为三类:图形(程序流程图、盒图、PAD图、判定树)、表(判定表)和语言(过程设计语言)。

三、编码

       程序编码阶段主要使用程序设计语言来实现,程序设计包括对程序设计语言的选择、应该遵循的原则、程序设计风格和程序复杂度的测量。
                

总结:

      软件设计和编码阶段是软件工程的核心部分,软件设计分为概要设计和详细设计,这就好像黑盒测试和白盒测试的原理一样。概要设计好像一个黑盒子,它是从一个整体来设计软件的体系结构和模块间的关系的;详细设计类似于白盒,从内部详细的设计每个模块,确定实现模块功能所需要的算法和数据结构。编码是在详细设计基础上的进一步细化。

软件工程阶段性总结(三)——软件设计和编码相关推荐

  1. 用python和flask框架写MongoDB数据库网页(通院大三软件设计)运营商信息管理系统(1)环境配置

    两周的软件设计结束,也该做个总结了,可谓是折磨,所幸结果是极好的.老师会建议用java,但是事实是班里最后用java做出web的全是买的代做,价格500-1000不等.我应该会多分几篇文章把它写完.会 ...

  2. 软件开发模型_20202021企业软件开发流程(5)软件开发过程模型瀑布模型(2)软件设计、编码...

    知识点 1.软件架构(软件体系结构) 软件架构将系统描述为计算构件的描述.计算构件的交互以及构件交互的约束. 2.逻辑架构与物理架构 软件架构设计 逻辑架构:规定了软件系统由哪些逻辑元素组成以及这些逻 ...

  3. 软件工程:结构化软件设计方法 VS 面向对象软件设计方法

    一.基本概念 1.结构化方法 结构化方法是一种传统的软件开发方法,它是由结构化分析.结构化设计和结构化程序设计三部分有机组合而成的. 基本思想:把一个复杂问题的求解过程分阶段进行,而且这种分解是自顶向 ...

  4. Visio——软件工程实验贰——面向对象软件设计方法

    所使用的工具软件及环境: 硬件环境:微机1台. 软件环境:操作系统:Windows:建模工具:Visio或 Rose:数据库:MySQL(可选):开发工具包:JDK(可选):开发环境:MyEclips ...

  5. 《软件工程》实验报告——软件设计

    一.实验目的 掌握Axure RP软件基本用法: 掌握软件体系结构设计: 了解常用软件设计模式: 将实验过程中形成的图形.文字内容插入本文档. 二.实验内容 1.当前Web前端最经典的软件体系结构模式 ...

  6. 软件工程(三):软件设计

    三.软件设计 目录 三.软件设计 一.软件工程开发方法与软件设计 (一)功能分解法--传统开发方法,面向过程 (二)结构化方法--传统开发方法,面向过程 (三)面向对象方法 (四)面向对象的几个基本概 ...

  7. 软件工程--实践者的研究方法[设计的概念]

    设计的概念 11.1 软件工程中的设计 11.2 设计过程 11.2.1 软件质量 11.2.2 软件设计的历史发展 11.3 设计概念 11.4 设计模型 11.4.1 数据设计元素 11.4.2 ...

  8. visual studio 设计器不显示_面向国际市场的装置开发运维软件设计与实现

    南京南瑞继保电气有限公司的研究人员陈宏君.张磊.徐睿.曾凯.刘坤,在2019年第3期<电气技术>上撰文,分析了面向国际市场的用户软件现状与问题,介绍了新一代控制保护平台PCS-S系列装置配 ...

  9. 软件工程复习07:软件需求

    作者:非妃是公主 专栏:<程序人生> 个性签:顺境不惰,逆境不馁,以心制境,万事可成.--曾国藩 专栏地址 软件工程专栏地址 专栏系列文章 软件工程复习01:软件工程概述 软件工程复习02 ...

  10. 软件工程(二)软件生存周期与软件过程

    软件生存周期 一个软件从开始立项起,到废弃不用为止,统称软件的生存周期.典型的软件生存周期的主要活动包括: 需求分析 明确用户需要解决的问题,分析员根据对问题的理解提出关于系统目标与范围的说明,从用户 ...

最新文章

  1. swoole TCP UDP server
  2. bigemap中下载边界_高清卫星地图:是可以看到人的地图,附下载方法
  3. Jquery简单的右侧浮动菜单
  4. hdu 2037 今年暑假不AC (java)
  5. 5999元!OPPO Find X5 Pro 8+256GB版今日首销
  6. mysql限制登录次数_mysql会话控制限制登录次数(connection_control插件)
  7. 哪些SQL语句会引起全表扫描
  8. matlab 求二值图像图形的面积和重心
  9. 81岁自学编程,苹果最高龄iOS开发者:阻碍你实现梦想的,从来就不是年龄
  10. 深度学习-模型预测(论文笔记)
  11. 基于C++的菜鸟驿站
  12. intel服务器最新主板芯片组,intel主板芯片组的介绍大全
  13. 运放输入偏置电流方向_运算放大器的输入偏置电流
  14. 『纪念册 · 转专业任务』
  15. 网络工程师秋招面试总结
  16. 密码1-分类,常用类型,密码分析
  17. 电子邮箱是什么?注册邮箱163、tom、qq等品牌有什么好处?
  18. GRUB4DOS加载ISO启动光盘完美解决方案
  19. Fruit 有上下限的母函数
  20. 计算机网络授课办法设计,计算机网络基础教学过程如何优化设计

热门文章

  1. 电脑如何设置颜色保护眼睛
  2. linux teamviewer,Linux 系统下安装 teamviewer
  3. Windows易升升级指南(解决大版本间更新95%的问题)
  4. 开关电源电路图讲解。多图!!!
  5. 离散数学学习笔记----命题逻辑的推理理论
  6. element-ui的基本使用(一)
  7. 公开密匙(public key)和专用密匙(private key)
  8. 分布式存储Ceph之PG状态详解
  9. html5在线播放flac,分享5个无损音乐网站
  10. Ubuntu16 Nvidia驱动安装(.run文件安装)