2017.12.8 软件工程-----第五章 总体设计(复习)

软件工程-----第五章 总体设计(复习)

(1)概要

经过需求分析阶段的工作,系统必须“做什么”已经很清楚了,现在是决定“怎样做”的时候了。总体设计的基本目的是系统应该如何实现。他最重要的一项工作是设计软件结构。因此,总体设计又称为概要设计或初步设计。通过这个阶段的工作确定划分出组成系统的物理元素-----程序、文件、数据库、人工过程和文档。

(2)设计过程

总体设计过程通常是有两个主要阶段组成:系统设计阶段,确定系统的具体实现方案;结构设计阶段,确定软件结构。

需求分析阶段得出的数据流图是总体设计的极好出发点。

典型的总体设计包括一下九个过程:

1.设想供选择的方案
2.选取合理的方案
3.推荐最佳方案
4.功能分解
5.设计软件结构
6.设计数据库
7.制定测试计划
8.书写文档
9.审查和复审

(3)设计原理

模块化

模块化就是把程序划分为独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户需求.

模块是由边界元素限定的相邻程序元素的序列,而且总有一个总体标识符代表它。

模块化可以能够提高软件的可修改性;模块化有助于软件开发工程的组织管理。

抽象

在现实世界中一定事物、状态或过程之间总存在着某些相似的方面,把这些相似的方面集中和概括起来,暂时忽略它们之间的差异,这就是抽象。或者说抽象就是抽出事物的本质特征而暂时不考虑他们的细节。

处理复杂的系统系统唯一的有效的方法就是用层次的方式构造和分析它

逐步求精

为了能集中精力解决主要问题而尽量推迟对问题细节的考虑。逐步求精之所以如此重要,是因为人类的认知过程遵守Miller法则:一个人在任何时候都只能把注意力集中在7+-2 知识块上。

时间: 2024-10-13 10:01:50

2017.12.8 软件工程-----第五章 总体设计(复习)的相关文章

现代软件工程 第五章 练习与讨论

团队模式和团队的开发模式有什么关系? 如果你领头开展一个全新的项目,你要怎么选择“合适”的团队模式? 不同的团队模式如何影响团队绩效的评估? 团队精神和集体主义的区别?     大家回想在小学和中学的学习过程,大家在一个班集体,有多少工作是以“团队”(Teamwork)的形式来完成的,有多少工作是以“工作组”(Workgroup)形式完成的?或许大部分工作都是以“非团队”的形式完成的.“团队精神”和平常讲的“集体主义”有什么区别? 现代软件工程 第五章 练习与讨论

6.12白书第五章图论总结——司雨寒

之前我的图论一直都是DFS一下,BFS一下,求个欧拉回路,拓扑排个序这种渣渣水平. 终于鼓起勇气拾起白书第五章的东西. 学(bei)习(song)了一下求双连通分量,二分图的判定,强连通分量,2-SAT. DFS加上时间戳这个东西,很强大. 最后刷了白书上的例题: BCC: LA3523 可以参加会议的是双联通分量上的奇圈 1 #include <cstdio> 2 #include <cstring> 3 #include <algorithm> 4 #include

软件工程—第五章

第五章—软件工程中的形式化方法 软件的设计过程就是一个建立形式规约的过程. 当规格说明用非形式化方法说明时,可称之为“规格说明”,当用形式化方法说明时,可称之为“形式规约”.已建立的形式化方法可分为操作类和描述类.形式证明与验证技术主要包括模型检测和定理证明,模型检测主要适用于有穷状态系统,优点是完全自动化并且验证速度快,进行定理证明的过程就是应用这些公理或推理规则来证明系统具有某些性质.程序求精是将一个抽象程度低.过程性强的程序替代一个抽象程度高.过程性低的程序. 目前应用较为广泛的形式化方法

Gradle 1.12 翻译——第十五章. 任务详述

有关其他已翻译的章节请关注Github上的项目:https://github.com/msdx/gradledoc/tree/1.12,或访问:http://gradledoc.qiniudn.com/1.12/userguide/userguide.html 本文原创,转载请注明出处:http://blog.csdn.net/maosidiaoxian/article/details/41038305 关于我对Gradle的翻译,以Github上的项目及http://gradledoc.qin

2017上半年软考 第五章 重要知识点

第五章 项目立项管理 []项目建议 项目建议书里面说了什么?在项目建议阶段要做些什么?p244 [][]项目建议书 项目建议书是什么的依据? 项目建议书主要内容?p245 总体建设方案和本期项目建设方案有什么不同? [][]项目建议书的编写.申报.审批 建议书什么时候可以省略和什么合并?p246 完成项目建议书后要做些什么? []项目可行性分析 [][]项目可行性研究内容 项目可行性研究内容包括什么? 什么时候开始进行项目的可行性研究? 项目可行性研究编写可以参考什么?p248 [][]项目可行

JSP Web第五章整理复习 JSP访问数据库

P164  例5-1  常用SQL语句 P178  数据库连接池 (1)连接池的作用 存储多个数据库连接对象,当程序需要时,从池中获取1个连接,程序执行完成后再还给连接池.避免数据库连接建立.关闭的开销.提高数据库访问速度. (2)在Tomcat中使用连接池的步骤 1.Tomcat目录下config\context.xml,在标签<context>中加入以下内容: <Resource name = "jdbc/xxx" auth = "Container&q

现代软件工程讨论第五章-第八章

第五章 1.  团队模式和团队的开发模式有什么关系? 团队模式是指一个团队的成员在一起合作的方式,而团队的开发模式特制软件开发团队在软件开发过程中所使用的合作方式.也就是说团队的开发模式是一种特殊的应用在软件开发领域的团队模式. 2.如果你领头开展一个全新的项目,你要怎么选择“合适”的团队模式? 如果我带头做一个全新的项目,我会选择特点不同的人,各自发挥自己的特长,类似功能团队模式,大家各司其事,平等协作.如我擅长代码编写,数据库设计,成员中还有负责需求分析的,负责文档整理和总结的,负责测试等.

现代软件工程 第十五章 练习与讨论

15.3.0 案例分析 可以看看这两个学生项目的例子,推断出这些团队的血型: STG游戏的跳票(为了完美,推迟了7天,但是7天之后也没有发布……)[leal1] [i] 英语学习软件(说了“明早发布”,但是明早一直没到)[ii] 15.3.1  反动分子阿超 在最后的稳定阶段,阿超不断地把事情推到下一个版本,二柱和果冻都不耐烦了——为什么不拼一下,把所有事情在第一版搞定? 阿超: 有两种做法—— 1. 根据事情的轻重缓急,安排大部分事情在下一个版本做.正因为我们对项目.团队.商业模式有信心,才会

阅读《软件工程—理论方法与实践》第五章心得体会

阅读第五章所了解到的基本知识,形式化方法是指将离散数学的方法用于解决软件工程领域的问题,主要包括建立精确的数学模型以及对模型的分析活动.主要目的是保证软件的正确性.已建立的形式化方法可分为操作类和描述类.操作类方法基于状态和转移;描述类基于数学公理和概念.形式证明与验证技术主要包括模型检测(适用于有穷状态系统,完全自动化并且验证速度快)和定理证明(采用逻辑公式来表示系统规约及其性质,分为自动和交互式两种).一阶线性时态逻辑是一阶谓词逻辑的扩展.对汉诺塔操作规划问题有了更深一步的理解.计算树逻辑是