软件工程 之软件设计

2024-08-25 15:08
文章标签 软件工程 软件设计

本文主要是介绍软件工程 之软件设计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

当可行性分析和需求分析经过审核之后,软件的设计人员就要根据第二阶段产生的《需求规格说明书》开始进行软件的设计,设计分为两大部分:概要设计和详细设计。就像名字一样概要设计根据需求对对软件进行总体的设计,而详细设计是针对概要设计的具体实现的设计。先来看一张图对他们有总体的认识。


概要设计

软件设计

首先是用合适的方法(如:按职能、逻辑、业务等)将系统划分为不同的子系统,然后对针对每个子系统的功能进行模块划分,同时要考虑各个模块之间的联系和相互之间的调用。所以各个模块式是一个独立的个体能完成一定的功能但又是相互联系的。那么模块的独立和联系就需要用内聚和耦合来衡量。

内聚:模块内部各个部分的联系程度;耦合:模块间的联系程度;我们在设计模块式要做到高内聚,低耦合。这样在修给某一个模块时不用对其他模块进行修给同时也不会对其他模块的功能有什么影响。

数据设计

概要设计的中要确定数据类型、取值范围、精度等数据特征以及各数据之间的联系同时要对数据库初步设计。


概要设计可以用面向数据流方法或面向数据结构的方法,分别的可以使用DFD图和Jackson图表示分析结果。



详细设计

对模块

概要设计得到的模块在详细设计阶段需要进一步的细化,要确定每个模块使用的算法。确定模块的接口和调用类型。

在设计模块调用时要注意模块的扇入和扇出。

扇入:本模块需要调用的模块。扇出:本模块被几个模块调用。扇出要控制在7个内尽量控制高扇入,保证模块的独立性。

在模块进行进一步细化时可以使用程序流程图等显示分析结果。






这篇关于软件工程 之软件设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1105892

相关文章

读软件设计的要素04概念的关系

1. 概念的关系 1.1. 概念是独立的,彼此间无须相互依赖 1.1.1. 一个概念是应该独立地被理解、设计和实现的 1.1.2. 独立性是概念的简单性和可重用性的关键 1.2. 软件存在依赖性 1.2.1. 不是说一个概念需要依赖另一个概念才能正确运行 1.2.2. 只有当一个概念存在时,包含另一个概念才有意义 1.3. 概念依赖关系图简要概括了软件的概念和概念存在的理

【软件工程】软件开发模型

三、瀑布模型  四、几种软件开发模型的主要特点 题目 判断题 选择题 小结

读软件设计的要素03概念的组合

1. 概念的组合 1.1. 概念不像程序那样,可以用较大的包含较小的 1.1.1. 每个概念对用户来说都是平等的,软件或系统就是一组串联运行的概念组合 1.2. 概念是通过操作来同步组合的 1.2.1. 同步并不增加新的概念操作,但会限制已有的操作,从而消除一些独立概念可能会出现的操作序列 1.3. 在自由组合中,概念彼此独立,仅受一些记录的约束,这些约束是为了确保概念对事物观点的一

《论软件设计模式及其应用》通关范文,软考高级系统架构设计师

论文真题 设计模式(Design Pattern)是一套被反复使用的代码设计经验总结,代表了软件开发人员在软件开发过程中面临的一般问题的解决方案和最佳实践。使用设计模式的目的是提高代码的可重用性,让代码更容易被他人理解,并保证代码可靠性。现有的设计模式已经在前人的系统中得以证实并广泛使用,它使代码编写真正实现工程化,将已证实的技术表述成设计模式,也会使新系统开发者更加容易理解其设计思路。根据

软件设计之JDBC(3)

软件设计之JDBC(3) 此篇应在MySQL之后进行学习: 路线图推荐: 【Java学习路线-极速版】【Java架构师技术图谱】 尚硅谷2024最新JDBC教程 | jdbc基础到高级一套通关! 资料可以去尚硅谷官网免费领取 学习内容: JDBC优化及工具类的封装ThreadLocal概述DAO概念及搭建事务的概述 1、JDBC优化及工具类的封装 JDBC过程中,部分代码存在冗余问题

读软件设计的要素02概念的目的

1. 要素 1.1. 概念的定义包括名称、目的、状态、操作和操作原则 1.2. 操作原则(operational principle) 1.2.1. 操作原则用于展示如何通过操作实现目的,这是理解概念的关键 1.2.2. 展示如何通过操作的组合实现概念的目的,包含一个或多个典型的使用场景 1.2.3. 操作原则并没有增加任何信息,因为你完全可以从操作规范中推理出任何使用场景 1

第一章 软件工程的概述简记

第一章  软件工程的概述         *软件的概念:软件(Software)是一系列按照特定顺序组织的计算机数据和指令的集合。         软件的分类:(5大类)                   *1.基于软件功能划分                                  1)系统软件

软件工程技术专业软件开发综合实训室解决方案

一、行业背景与前景分析 1.1 软件工程技术专业就业前景 近年来,中国的软件行业取得了显著的成就,即便在全球经济受到新冠疫情冲击的情况下,仍保持了强劲的增长势头。据工业和信息化部发布的数据,2021年我国软件和信息技术服务业的业务收入达到85371亿元人民币,同比增长18.3%,远超同期国内生产总值的增长率。这一成就不仅体现了中国软件行业的韧性和发展潜力,也为未来的持续增长奠定了坚实的基

【软件设计】常用设计模式--工厂模式

软件设计模式(二) 一、工厂模式(Factory Pattern)1. 概念2. 工厂模式的类型3. 实现方式(1)简单工厂模式C# 实现Java 实现 (2)工厂方法模式C# 实现Java 实现 (3)抽象工厂模式C# 实现Java 实现 4. 优点5. 缺点6. 适用场景小结 二、工厂模式变体1. 简单工厂模式的变体变体1: 参数化工厂C# 示例 变体2: 反射工厂C# 示例 2.

【软件设计】常用设计模式--单例模式

设计模式(一) 单例模式(Singleton Pattern)1. 概念2. 单例模式的特点3. 实现方式C#实现Java实现 4. 线程安全的单例模式C# 中的线程安全单例Java 中的线程安全单例 5. 优点6. 缺点 7. 适用场景小结 单例模式(Singleton Pattern) 1. 概念 单例模式的核心目标是确保一个类只有一个实例,并提供一个全局访问点。这意味