东湖之滨 发表于 2024-6-11 09:55:30

[架构之路-263]:目标系统 - 计划方法 - 软件工程 - 软件计划 - 概要计划 -

目录
一、概要计划综述
1.1 什么是概要计划
1.2 概要计划的目标
1.3 软件概要计划与软件架构计划的比较
1.4 软件概要计划、软件架构、软件具体计划比较
二、怎样做好概要计划
2.1 概要计划的入手点
2.2 概要计划的步骤
2.3 进行概要计划的注意事项
三、软件概要计划的内容
3.1 概要计划的内容概述
3.2 概要计划实例
3.3 软件概要计划文档的格式
3.4 软件概要计划所必要图形
一、概要计划综述

1.1 什么是概要计划

概要计划(High-Level Design)是软件开发过程中的一个阶段,用于描述软件系统的整体布局和组件之间的关系。它是在需求分析阶段后,具体计划阶段之前进行的一个计划阶段。
概要计划重要关注系统的整体架构、模块划分和交互方式,旨在将需求分析阶段所得到的系统需求转化为更加具体和可实现的计划方案。
概要计划涵盖了系统的功能和模块划分、数据流和处理流程、系统的接口和交互方式等方面。
1.2 概要计划的目标

概要计划的目标是将系统需求转化为具体的计划方案,为具体计划和后续开发提供引导和根本。
以下是概要计划的重要目标:

[*] 确定系统的整体架构:概要计划通过界说系统的层次布局、模块划分和组件之间的关系,确保系统的整体架构公道且可扩展。
[*] 明确功能和模块划分:概要计划分析系统的功能和业务模块,并确定模块的职责和接口,使开发团队能够更好地明白和实现系统的功能。
[*] 界说数据流和处理流程:概要计划描述系统的数据活动方式、处理流程和转换规则,确保系统能够按照需求正确地处理和转换数据。
[*] 确保系统的稳定性和性能:概要计划考虑系统的稳定性和性能要求,选择合适的技能方案和架构来满足这些需求,以保障系统的可靠性和高性能。
[*] 为具体计划提供引导:概要计划为后续的具体计划提供了引导和根本,为开发团队提供了一个明确的计划方案,有助于镌汰后续开发过程中的返工和变更。
[*] 促进沟通和协作:概要计划提供了一个共同的明白框架,促进开发团队内部以及与业务干系方之间的沟通和协作,确保所有人对系统的计划和实现有相同的认知。
总体而言,概要计划的目标是在需求分析和具体计划之间创建一个桥梁,将系统需求转化为可实现的、具体的计划方案,为软件开发过程提供引导和根本。它资助开发团队在现实开发过程中更加高效地进行工作,确保软件系统能够按照需求正确地实现。
1.3 软件概要计划与软件架构计划的比较

软件概要计划和软件架构计划是软件开发过程中的两个不同但干系的概念。
它们之间存在着一些区别和接洽:

[*] 界说和范围:

[*]软件概要计划:软件概要计划是在需求分析之后、具体计划之前的一个阶段,重要关注系统的整体布局、模块划分和功能需求。它提供了一个高级别的计划方案,描述系统的总体架构和组件之间的关系。
[*]软件架构计划:软件架构计划更关注系统的布局和组织,它是概要计划的一部分,用于界说系统的布局、模块划分、组件和子系统之间的关系以及它们的职责和交互方式。

[*] 关注点:

[*]软件概要计划:软件概要计划关注系统的整体风格、层次布局、模块和组件的划分,以及它们之间的交互方式。它资助团队明白系统的大局,并为具体计划提供引导和根本。
[*]软件架构计划:软件架构计划更加关注系统的布局、组件和子系统之间的关系,强调系统的分层、解耦、扩展性、性能和安全等方面。它决定了软件系统的基本框架和技能栈,并提供了一个可行的计划方案。

[*] 内容和细节水平:

[*]软件概要计划:软件概要计划注重整体框架和模块划分,关注的是高层次的计划,具体细节大概不敷美满和具体。它是为了资助开发团队明白和协调解体计划而存在的。
[*]软件架构计划:软件架构计划更加具体和准确,对各个组件的职责和接口进行了界说,描述了组件之间的关系和交互方式,提供了一些具体的技能选择和约束条件。

        尽管软件概要计划和软件架构计划有一些区别,但它们在软件开发过程中是相互关联和相互支持的。软件概要计划提供了一个整体的计划框架,软件架构计划则在此根本上进一步具体界说和规划系统的布局和组织。
        在现实开发中,这两个计划阶段通常是精密衔接的,相互影响和相互推进。
1.4 软件概要计划、软件架构、软件具体计划比较

软件概要计划、软件架构计划和软件具体计划是软件开发过程中的三个不同但干系的概念。
它们之间存在着一些区别和接洽。

[*] 界说和范围:

[*]软件概要计划:软件概要计划是在需求分析之后、具体计划之前的一个阶段,重要关注系统的整体布局、模块划分和功能需求。它提供了一个高级别的计划方案,描述系统的总体架构和组件之间的关系。
[*]软件架构计划:软件架构计划更关注系统的布局和组织,它是概要计划的一部分,用于界说系统的布局、模块划分、组件和子系统之间的关系以及它们的职责和交互方式。
[*]软件具体计划:软件具体计划是在概要计划和编码之间的一个阶段,重要关注系统的具体实现细节。它在概要计划和编码之间扮演了桥梁的脚色,将高层次的计划转化为低层次的代码实现。

[*] 关注点:

[*]软件概要计划:软件概要计划关注系统的整体风格、层次布局、模块和组件的划分,以及它们之间的交互方式。它资助团队明白系统的大局,并为具体计划提供引导和根本。
[*]软件架构计划:软件架构计划更加关注系统的布局、组件和子系统之间的关系,强调系统的分层、解耦、扩展性、性能和安全等方面。它决定了软件系统的基本框架和技能栈,并提供了一个可行的计划方案。
[*]软件具体计划:软件具体计划关注系统的具体实现,包括数据布局、算法、函数和类的实现,以及代码的组织和管理。它根据概要计划和架构计划提供的引导,进一步细化系统的实现和实现细节。

[*] 内容和细节水平:

[*]软件概要计划:软件概要计划注重整体框架和模块划分,关注的是高层次的计划,具体细节大概不敷美满和具体。它是为了资助开发团队明白和协调解体计划而存在的。
[*]软件架构计划:软件架构计划更加具体和准确,对各个组件的职责和接口进行了界说,描述了组件之间的关系和交互方式,提供了一些具体的技能选择和约束条件。
[*]软件具体计划:软件具体计划相对于前两者而言,更加注重代码的实现细节和具体代码的组织。它要求对软件工程的干系技能和框架有一定的把握,并能够根据开发团队的要求实现高效、稳定的代码。

以上三个计划阶段在软件开发过程中相互关联和相互支持,它们共同构成了从需求到实现的完备软件开发过程。在现实开发中,这三个阶段的计划不仅仅是线性的,也经常交错、并行和迭代。因为必要随现实环境对计划方案进行调解,以顺应需求的变革和项目的进展。
二、怎样做好概要计划

2.1 概要计划的入手点

概要计划的目标是将系统需求转化为具体的计划方案,为具体计划和后续开发提供引导和根本。
为了做好概要计划,可以从以下几个方面入手:

[*] 确定系统需求:概要计划是在需求分析之后进行的,因此必要细致评估和明白系统的需求,正确把握用户的需求和特点,从而能够为后续的计划和开发工作提供清晰的目标。
[*] 划分系统模块:在明白系统需求的根本上,必要对系统的整体布局进行划分和计划。可以从系统的功能角度出发,将系统分解成多个模块和子系统,创建模块之间的关系。
[*] 确定系统架构:确定系统的整体架构,包括选择适当的技能、决定系统的分层和接口计划等,以确保系统的扩展性、可维护性和性能满足需求。
[*] 确定模块接口:对于每个模块,必要界说它的接口,确保模块之间能够协同工作,共同构建系统的架构。必要考虑接口的输入参数和输出参数,以及错误处理等方面。
[*] 界说系统的数据流和处理流程:明确系统的输入、输出和处理流程,从而能够确保系统能够按照需求正确地处理和转换数据。必要考虑不同模块之间的数据互换和传输。
[*] 确保系统的稳定性和性能:在计划过程中,必要进行系统的稳定性和性能分析,确保系统能够在高负载和不同场景下稳定运行,同时也要考虑系统的安全和可靠性。
[*] 为具体计划提供引导:概要计划应该提供一个明确的计划方案,有助于镌汰后续开发过程中的返工和变更。必要为开发团队提供引导和支持,确保具体计划和开发的顺利进行。
总体来说,做好概要计划必要充分明白系统需求,计划公道的架构和模块划分,界说合适的模块接口,同时也要考虑系统的稳定性和性能。概要计划提供了可行的整体计划方案,为后续的具体计划和开发提供了引导和支持,能够有效镌汰开发风险和进步开发效率。
2.2 概要计划的步骤

下面是进行概要计划的一般步骤:

[*] 系统需求分析:细致评估和分析系统需求,明白用户的功能需求、性能要求、可靠性要求等方面。与系统长处干系者互换,澄清需求并记载下来。
[*] 确定系统范围和目标:明确系统的边界和功能范围,界说系统的目标和关键乐成因素。确保概要计划过程中团队对系统的整体目标是一致的。
[*] 划分系统模块:根据系统需求和功能,将系统划分成多少模块或子系统。每个模块应具备干系的功能和边界,且易于管理和维护。模块的划分可以参考功能分解、责任分配等方法。
[*] 界说模块之间的关系:明确和界说各个模块之间的关系和依赖。确定模块之间的通信方式和数据互换方式,确保模块之间的协同工作。
[*] 计划系统布局和架构:在模块划分的根本上,计划系统的总体布局和架构,包括选择适当的技能栈、组织模块的层次布局、确定模块间的接口等。
[*] 确定数据流和处理流程:界说系统的数据流和处理流程,明确系统的输入、输出和数据处理过程。确定数据的格式和验证方式,以及各个模块之间的数据传输方式。
[*] 考虑系统的可靠性和性能:评估系统的可靠性和性能要求,计划公道的架构和算法,确保系统能够满足要求并应对各种异常和负载环境。
[*] 验证和评估计划方案:对概要计划方案进行评估和验证,与团队成员和系统长处干系者进行互换和讨论,以确保计划方案公道、可行和可接受。
[*] 产出概要计划文档:撰写概要计划文档,记载概要计划的结果、决策、方案和干系的计划思绪和依据。确保文档清晰、完备,并与团队成员共享和讨论。
[*] 连续优化和迭代:概要计划是一个迭代的过程,随着系统的不断演化和需求的变革,大概必要对概要计划进行调解和优化。连续关注计划的有效性温顺应性,随时做出调解。
概要计划是软件开发过程中的关键一步,它提供了系统的整体框架和方向,为后续的具体计划和开发提供了引导和根本。因此,进行概要计划时必要充分明白需求,进行公道的模块划分和架构计划,并与团队和干系长处干系者进行互助和互换。
2.3 进行概要计划的注意事项

进行概要计划时必要注意以下几个事项:

[*] 明白需求:概要计划的根本是对需求的明白。必要充分明白系统的功能需求、性能要求、可靠性要求等方面,并尽大概地与长处干系者进行充分互换,以确保需求的正确性和完备性。
[*] 划分模块:对系统进行适当的分解和划分,划分出公道的模块和子系统。必要考虑模块之间的边界和接口,确保各个模块之间的职责和关系清晰明确。
[*] 考虑系统架构:进行系统的总体架构计划时必要充分考虑系统的可扩展性、可移植性和可维护性等因素。必要评估和选择合适的技能栈,确定系统的分层布局和接口界说。
[*] 确保系统的安全性和稳定性:安全和稳定性是现代化装备最重要的因素之一。计划时必要接纳适当的安全步伐,例如身份验证、数据加密、错误处理机制等,以确保系统功能的安全和稳定性。
[*] 着重考虑性能:系统的性能是用户使用体验的关键部分。必要对系统的平均负载和峰值负载进行评估和分析,计划公道的算法、数据布局和网络通信方式等,确保系统在各种负载环境下都能够稳定运行。
[*] 着重考虑可维护性:可维护性是系统的恒久运维的重点。必要计划易于维护的模块和接口,采用规范的编码风格和解释,创建精良的文档和记载。
[*] 连续改进和迭代:概要计划是一项初始的工作,必要根据后续的具体计划和实现履历不断地进行迭代和优化。计划文档必要连续更新和美满,以反映系统不断演化和修正的过程。
总之,进行概要计划必要全面考虑用户需求、系统的可扩展性、可移植性、可维护性、安全性、稳定性和性能等方面。必要与开发团队和系统长处干系者密切协作,形成共识,确保所计划的系统可以顺利实现并得到用户的全面认可和接受。
三、软件概要计划的内容

3.1 概要计划的内容概述

软件概要计划是软件开发过程中的一个重要环节,旨在将系统需求转化为具体的计划方案,为后续的具体计划和开发提供引导和根本。
软件概要计划通常包括以下内容:

[*] 系统布局和架构:明确系统的整体布局和架构,包括系统的层次布局、模块划分、组件和服务的界说等。可以使用各种布局图(如层次图、组件图、流程图等)表达系统的布局和架构。
[*] 功能模块和子系统:根据系统需求和功能,将系统划分成多少模块或子系统。每个功能模块应具备明确的功能和边界,易于管理和维护。可以对每个模块进行具体描述,包括功能描述、接口界说、输入输出等。
[*] 模块之间的关系和通信:明确和界说各个模块之间的关系和依赖关系,确定模块之间的通信方式和数据互换方式。可以使用时序图、数据流图等展示模块之间的交互流程。
[*] 数据流和处理流程:界说系统的数据流和处理流程,包括系统的输入、输出和数据处理过程。必要明确各个模块之间的数据传输和数据转换规则,确保系统能够正确地处理和转换数据。
[*] 接口界说:对每个模块或子系统,明确界说其接口,包括输入参数、输出参数、接口协议和错误处理等。确保模块之间能够协同工作,实现数据的正确传递和处理。
[*] 外部接口和依赖:确定系统与外部系统或组件之间的接口和依赖关系,包括数据库、第三方服务、硬件等。明确系统与外部系统之间的数据互换方式和接口规范。
[*] 性能和可靠性要求:评估系统的性能和可靠性要求,确定系统的性能指标和可靠性指标。可以界说相应时间、吞吐量、资源利用率等方面的要求,确保系统能够满足用户的性能和可靠性需求。
[*] 安全步伐和隐私保护:考虑系统的安全性和隐私保护,提供相应的安全步伐和隐私保护策略。包括身份认证、访问控制、数据加密、防护步伐等方面的计划。
[*] 系统测试策略和筹划:界说系统的测试策略和筹划,包括单元测试、集成测试、系统测试等。明确测试的目标、方法和资源需求,确保在后续的开发和测试过程中质量可控。
软件概要计划文档应当清晰、易于明白,并与团队成员共享和讨论。它提供了软件系统的整体框架和方向,为后续的具体计划和开发提供了引导和根本。
3.2 概要计划实例

下面是软件系统概要计划的一个例子,假设我们必要计划一个在线商城系统:

[*]系统布局和架构:
该系统采用的是三层架构:表现层、业务逻辑层和数据存储层。表现层负责对用户的哀求进行处理和相应,业务逻辑层处理系统的业务逻辑,数据存储层则负责数据的存储和管理。

[*]功能模块和子系统:
该系统重要分为以下模块:


[*] 用户管理模块:负责用户管理和认证,包括用户注册、登录、个人信息维护等。
[*] 商品模块:负责商品的管理和展示,包括商品的添加、编辑和删除,商品分类、商品搜刮等。
[*] 购物车模块:负责购物车的管理,包括添加商品、删除商品等利用。
[*] 订单模块:负责订单的管理,包括订单的创建、查询、付出、退换货等。

[*]模块之间的关系和通信:
用户管理模块和商品模块之间是相互独立的,但是它们必要通过业务逻辑层和数据存储层进行数据交互。
购物车模块和订单模块之间有依赖关系,在用户提交订单时,必要从购物车模块获取商品信息和代价等。

[*]数据流和处理流程:
用户在浏览器中发起哀求,哀求先到达表现层,表现层通过业务逻辑层处理用户哀求,然后再通过数据存储层获取所需数据返回给用户。同时,各个模块之间必要进行数据的传输和处理,如用户通过商品模块搜刮商品信息,商品模块必要通过数据库查询并返回搜刮结果。

[*]接口界说:
每个模块都必要明确界说其接口,例如用户管理模块的登录接口必要传递用户名和密码,返回认证结果和用户信息等。

[*]外部接口和依赖:
该系统依赖于多个外部服务和组件,如付出系统、物流系统、短信服务等。必要确定与这些外部系统或组件之间的接口和依赖关系。

[*]性能和可靠性要求:
该系统必要能够支持高并发哀求,并且保证系统的可靠性和稳定性。必要对系统的性能和可靠性进行评估和分析,确保系统能够满足用户的需求和要求。

[*]安全步伐和隐私保护:
该系统必要接纳一系列安全步伐,包括用户身份认证、数据加密、防止SQL注入等。同时,也必要保护用户的隐私,确保用户的个人信息和订单信息等不会泄露。

[*]系统测试策略和筹划:
该系统必要按照各个模块进行单元测试、集成测试和系统测试等。测试的目标重要是确保系统的功能、性能、安全和可靠性等方面都符实用户的需求和要求。测试筹划必要考虑测试的方法、覆盖范围、测试用例和测试环境等因素。
        概要计划文档应当清晰、易于明白,并与团队成员共享和讨论。它提供了软件系统的整体框架和方向,为后续的具体计划和开发提供了引导和根本。
3.3 软件概要计划文档的格式

软件概要计划文档的格式可以根据现实环境进行调解,但通常包括以下几个重要部分:

[*] 弁言:

[*]项目简介:对软件系统进行扼要先容,包括系统的目标、配景和重要性。
[*]文档目的:分析概要计划文档的编写目的和预期读者。
[*]参考资料:列出概要计划编写过程中所使用的参考资料。

[*] 系统布局和架构:

[*]系统层次布局:展示系统整体布局的层次图或树状图,标明各个层次和模块之间的关系。
[*]组件和服务界说:对每个组件或服务进行描述,明确其职责和功能。

[*] 功能模块和子系统:

[*]模块划分:对系统进行模块划分,明确每个模块的功能范围和边界。
[*]模块描述:对每个模块进行具体描述,包括模块的功能、输入输出、接口及其依赖关系等。

[*] 数据流和处理流程:

[*]数据流图:展示系统中数据的活动和处理过程,可以使用数据流图、流程图等形式。
[*]数据转换规则:描述数据在各个模块之间的转换规则和处理逻辑。

[*] 接口界说:

[*]模块接口界说:界说各个模块的接口,包括输入参数、输出参数、接口协议和错误处理等。

[*] 外部接口和依赖:

[*]外部系统接口:描述与外部系统或组件之间的接口和依赖关系,包括数据互换方式和接口规范。

[*] 性能和可靠性要求:

[*]性能指标:界说系统的性能要求,如相应时间、吞吐量等。
[*]可靠性指标:界说系统的可靠性要求,仍旧障处理、容错本领等。

[*] 安全步伐和隐私保护:

[*]安全步伐:描述系统的安全步伐,如身份认证、权限控制、数据加密等。
[*]隐私保护:分析系统对用户隐私的保护步伐和策略。

[*] 系统测试策略和筹划:

[*]测试目标:界说系统测试的目标,如功能测试、性能测试、安全测试等。
[*]测试策略和筹划:描述测试的方法、范围、测试用例、测试环境等干系信息。

[*] 附录:

[*]词汇表:列出文档中所使用的专业词汇及其表明。
[*]缩略语表:列出文档中所使用的缩略语及其表明。

以上是一个常见的软件概要计划文档的格式,你可以根据现实项目需求进行适当的调解和扩展。别的,为了进步文档的可读性和可明白性,可以使用图表、表格、表示图等辅助分析。
3.4 软件概要计划所必要图形

在软件概要计划中,可以使用以下几种图形来描述系统的布局、流程和关系:

[*] 系统布局图:

[*]层次图:用于表现系统的层次布局关系,通常是采用树状布局的图形,从顶层到底层逐级展开。
[*]构件图:用于表现系统中的各个组件或模块之间的关系和依赖,可以用块状图或箭头毗连表现。

[*] 数据流图:

[*]上下文图:用于表现系统与外部实体之间的数据活动,包括输入和输出数据流以及处理过程。
[*]0级数据流图:表现系统的核心功能和数据活动,用于表现一种高层次的概要视图。
[*]1级数据流图:进一步细化0级数据流图,表现更具体的数据流和处理过程。

[*] 流程图:

[*]业务流程图:用于描述系统中典型(不是所有)的业务流程,包括输入、输出、各个环节和决策点等。
[*]程序流程图:用于描述代码层面的处理流程,用于表现算法、逻辑和条件判断等。

[*] 状态图:

[*]用于描述系统中实体(如对象、业务流程等)的各种状态及其转换过程。

[*] 时序图和活动图:

[*]用于描述系统中的交互过程和活动流程,特殊实用于描述系统中的事件驱动和并发处理等环境。

除了上述图形外,还可以根据必要使用其他类型的图形,如类图、部署图、用例图等,来进一步分析系统的布局和功能。
不同的图形有不同的表达本领和实用场景,选择合适的图形可以更直观地描述系统的概要计划,资助读者明白系统的布局和流程。



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: [架构之路-263]:目标系统 - 计划方法 - 软件工程 - 软件计划 - 概要计划 -