系分 - 结构化方法【概念】

在这里插入图片描述

个人总结,仅供参考,欢迎加好友一起讨论

文章目录

  • 系分 - (概念)结构化方法
    • 结构化分析(SA,Structured Analysis)
    • 结构化设计(SD,Structured Design)
    • 结构化程序设计(SP,Structured Programming)

系分 - (概念)结构化方法

结构化方法贯穿整个软件工程全部,可以单独细分出来作为某个软件工程环节的技术指引

结构化方法,由结构化分析(SA,Structured Analysis)结构化设计(SD, Structured Design)结构化程序设计(SP,Structured Programming)组成,它是一种面向数据流的开发方法。

结构化分析是根据分解与抽象的原则,按照系统中数据处理的流程,用数据流图来建立系统的功能模型,从而完成需求分析工作。

结构化设计是根据模块独立性准则、软件结构优化准则将数据流图转换为软件的体系结构,用软件结构图来建立系统的物理模型,实现系统的概要设计。

结构化程序设计使用3种基本控制结构构造程序,任何程序都可以由顺序、选择和重复3种基本控制结构构造。

结构化方法的核心思想是"自顶向下,逐步分解"。特别适合于数据处理领域的问题,但是不适合解决大规模的、特别复杂的项目,且难以适应需求的变化。

  1. 开发目标清晰化

    保持与用户沟通,让用户了解工作进展,校对工作方向。

  2. 开发工作阶段化

    每个阶段完成后,要进行评审,便于项目管理与控制。

  3. 开发文规范化

    每个阶段完成后,按照要求完成相应文档,保证系统维护工作的便利。

  4. 设计方法结构化

    自顶向下分解,进行分析与设计。根据设计要求先编写各个功能模块,自底向上实现。

结构化方法特点:

  • 程序运行效率高
  • 不适合需求经常变化的系统,适合需求稳定的系统设计,比如操作系统
  • 开发周期长、难以适应需求变化、很少考虑数据结构
  • 容易设计,便于理解

结构化分析(SA,Structured Analysis)

面向数据流进行需求分析,适合数据处理类型的软件。

  1. 自顶向下,逐层分解,把一个大问题分解成若干个小问题,每个小问题再分解成若干个更小的问题。
  2. 经过逐层分解,每个最低层的问题都是足够简单、容易解决的,于是复杂的问题也就迎刃而解了。

结构化分析一般包括以下工具:数据流图(Data Flow Diagram,DFD)、数据字典(Data Dictionary,DD)、结构化语言、判定表、判定树

结构化系统分析方法从总体上来看是一种强烈依赖数据流图自顶向下的建模方法。它不仅是需求分析技术,也是完成需求规格化的有效技术手段。

结构化方法的分析结果由以下几部分组成:一套分层的数据流图、一本数据词典、一组小说明(也称加工逻辑说明)、补充材料。

结构化分析应用范围:

  • 客户对他们需求十分明确
  • 业务过程定义的非常好,不会经常改动

结构化设计(SD,Structured Design)

结构化设计包括体系结构设计接口设计数据设计过程设计等任务。它是一种面向数据流的设计方法,是以结构化分析阶段所产生的成果为基础进一步自顶而下逐步求精模块化的过程。

在结构化方法中,模块化是一个很重要的概念,它将一个待开发的软件分解成为若干个小的简单部分–模块,每个模块可以独立地开发、测试。这是一种复杂问题的"分而治之"原则,其目的是使程序的结构清晰、易于测试与修改。

结构化设计根据SA方法中的数据流图建立一个良好的模块结构图(例如SC图或软件层次方框图);运用模块化的设计原理控制系统的复杂性,即设计出模块相对独立的,模块结构图深度、宽度都适当的,单入口单出口的,单一功能的模块结构的软件结构图或软件层次方框图。此方法提供了描述软件系统的工具,提出了评价模块结构图质量的标准,即模块之间的联系越松散越好,而模块内各成分之间的联系越紧凑越好。

结构化设计的目的是使程序的结构尽可能反映要解决的问题的结构。

结构化设计的任务是把需求分析得到的数据流图(DFD)变换系统结构图(SC)

结构化设计一般分为概要设计和详细设计两个阶段。概要设计也称为结构设计或总体设计,主要任务是把系统的功能需求分配给软件结构,形成软件的模块结构图。详细设计的是为软件结构图(SC)中的每 一个模块确定采用的算法,模块内数据结构,用某种选定的表达工具(如N-S图等)给出清晰的描述。

结构化程序设计(SP,Structured Programming)

结构化程序设计是进行以模块功能处理过程设计为主的详细设计的基本原则。结构化程序设计是“面向过程”方法的改进, 结构上将软件系统划分为若干功能模块, 各模块按要求单独编程, 再由各模块连接, 组合构成相应的软件系统。 该方法强调程序的结构性, 所以容易做到易读, 易懂。 该方法思路清晰, 做法规范, 深受设计者青睐。

结构化程序设计采用自顶向下、逐步求精的设计方法,各个模块通过“顺序、选择、循环”的控制结构进行连接,并且只有一个入口、一个出口。

结构化程序设计的原则可表示为:程序 = (算法) + (数据结构)。算法是一个独立的整体,数据结构(包含数据类型与数据)也是一个独立的整体。两者分开设计,以算法(函数或过程)为主。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/57017.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件工程——结构化分析

目录 一、结构化分析方法 二、功能建模 三、数据建模 四、行为建模 五、数据字典 六、加工规格说明 一、结构化分析方法 传统的分析建模方法称为结构化分析(structured analysis,SA)方法。 最有代表性的是一种面向数据流进行需求分析的方…

GPT-4“王炸”发布!1秒生成网站!

果然,能打败昨天的OpenAI的,只有今天的OpenAI。 刚刚,OpenAI震撼发布了大型多模态模型GPT-4,支持图像和文本的输入,并生成文本结果。 OpenAI老板Sam Altman直接开门见山地介绍说: 这是我们迄今为止功能最强…

StackLLaMA: 用 RLHF 训练 LLaMA 的手把手教程

来自:Hugging Face 进NLP群—>加入NLP交流群 如 ChatGPT,GPT-4,Claude 这样的语言模型之所以强大,是因为它们采用了 基于人类反馈的强化学习 (Reinforcement Learning from Human Feedback, RLHF) 来使之更符合我们的使用场景。…

ChatGPT 已能操控机器人,工程师连代码都不用写,网友:微软在搞天网?

Alex 发自 凹非寺 本文源自:量子位 | 公众号 QbitAI 当我还在跟ChatGPT吹牛尬聊时,有人已经在拿它操控机器人了。 不是别人,正是OpenAI的金主爸爸、不久前刚拿ChatGPT“重新发明搜索引擎”的微软。 到目前为止,开发者调教机器人…

自从使用了Cursor工作效率飞起

什么是Cursor 官网:https://www.cursor.so/ 看官网接受大家应该就知道是什么东西了,他是一个开源的AI编程编辑器。开源地址https://github.com/getcursor/cursor 目前在国内是可以不需要其他东西,可以之间访问的。而且目前免费使用。支持多…

大模型惨遭人类大范围攻击!国内各领域专家组团投毒,GPT-4 也 Hold 不住

这是「进击的Coder」的第 852 篇技术分享 作者:关注前沿科技 来源:量子位 “ 阅读本文大概需要 9 分钟。 ” 包括 GPT-4 在内等多个大模型惨遭人类攻击!还是大范围、多边形那种。 而且这个军团被爆个个来头不小。 包括社会学家李银河、心理学…

宵夜杂谈 | Uni3D是自动驾驶脱不去的长衫?

作者 | matrix明仔 编辑 | 汽车人 原文链接:https://zhuanlan.zhihu.com/p/616531799 点击下方卡片,关注“自动驾驶之心”公众号 ADAS巨卷干货,即可获取 点击进入→自动驾驶之心【全栈算法】技术交流群 1说在前面的话 我一个朋友昨天喝了两大…

CUDA实战 | CUDA卷积算子手写详细实现流程!

作者 | Pegessi 编辑 | 极市平台 原文链接:https://zhuanlan.zhihu.com/p/613538649 点击下方卡片,关注“自动驾驶之心”公众号 ADAS巨卷干货,即可获取 点击进入→自动驾驶之心【模型部署】技术交流群 后台回复【CUDA】获取CUDA实战书籍&…

万字长文 | 详解CUDA卷积算子手写实现

作者 | Pegessi 编辑 | 极市平台 原文链接:https://zhuanlan.zhihu.com/p/613538649 点击下方卡片,关注“自动驾驶之心”公众号 ADAS巨卷干货,即可获取 点击进入→自动驾驶之心【模型部署】技术交流群 导读 本篇文章主要介绍如何利用CUDA实现…

第一次玩剧本杀,基本说明与模型抽取

本文分两部分,第一部分是基本说明,第二部分是模型抽取。 一、基本说明 根据不同剧本,参与人数7/-2人,跟Scrum的黄金人数一致。游戏时长3~5小时,跟两周迭代的计划会时长一致。 每个角色都有自己的剧本,剧本中…

巴比特 | 元宇宙每日必读:虚拟数字人是否享有著作权或邻接权?杭州互联网法院判决首例涉“虚拟数字人”侵权案...

摘要:据杭州互联网法院报道,近日,杭州互联网法院就首例涉“虚拟数字人”侵权案作出了一审判决。本案判决结合人工智能技术应用及虚拟数字人发展现状,从权利主体、客体、权利归属等多层面分析虚拟数字人在现有《著作权法》框架下不…

京东撸货前期准备流程急设备要求

1硬件设备:电脑一台货苹果手机一部,手机推荐苹果6S以上,系统版本14以下的好操作,如果现有的设备是14的也可以。 电脑的话推荐配置E5系列,可以多开模拟器窗口。64位系统你开启VT功能,其他的无所谓,如果配置不够差一点也能行, 2软件方面,推荐用佐罗,爱丽丝或者爱新机…

生活需要套路

文章来自公众号:胖琪的升级之路 一般说到套路,总感觉是一个贬义词,但今天所说的套路是为了给自己减负,或者是帮助提高的一种想法。 生活为什么需要套路 学习,生活,办事等等,很多时候在这些事情里…

微软官方的《Power BI权威指南》译版发售

你是否也和职场中的大多数人一样,曾经很多次挣扎在Excel 报表的“压榨”之下,一边赞叹Excel 软件的威力,一边期待着一些改变?文末参与互动,赢取来自微软官方的《Power BI权威指南》。激活你的数据禀赋,让你…

《口袋妖怪》大战:通过数据分析,一次性揭示最强王者,谁能成为最后的胜者?

最新游戏《Pokemon LEGENDS Arceus》发售啦!在这款游戏中,两种全新的口袋妖怪佐鲁亚和佐罗亚克受到了大家的关注。值得注意的是,这两种妖怪都是来自未曾出现过的普通幽灵类型。对于《口袋妖怪》的粉丝来说,这是一个非常令人期待的消息。 普通类型在游戏中一直以来是一个较…

前端-angular佐罗表格的使用和效果展示

前言   小编最近在做项目的时候用的佐罗的控件来进行数据显示,佐罗的 Ant Design 的 Angular 实现地址在这里:https://ng.ant.design/docs/introduce/zh 很多样式和模板可以供我们参考和应用。下面是小编进行的一个table表格的使用,仅供参考…

Angular6-Zorro(佐罗)组件使用-持续更新++

前言 ZORRO&#xff1a;https://ng.ant.design/components/layout/zh 博主当前库&#xff1a;7.0.0 beat3 loading组件 业务场景&#xff0c;预加载给予用户思想缓冲时间 通过ngIf判断是否显示loading组件 html代码如下 <nz-spin [nzSize]"small" class"…

L1-6 佐罗与魔法石板 (15 分)

佐罗&#xff08;Zorro&#xff09;是一个传奇人物&#xff0c;出现在很多电影&#xff08;小说、动画、电视剧&#xff09;中&#xff0c;他经常用利剑划下Z字标记&#xff0c;让我们印象深刻。&#xff08;出题者是不是暴露年龄了 -_-#&#xff09; 佐罗发现了一块古老的石板…

佐罗官网zorro软件安装教程及一键新机屏蔽越狱使用方法详细简介

cydia添加佐罗源&#xff1a;https://apt.zorroxj.com 佐罗zorro是一款全新技术架构的隐私保护工具&#xff0c;可以在 iOS 8.0 ~ iOS 14.8 越狱后的苹果iPhone手机上使用&#xff0c;专业防止您的隐私信息被第三方不当获取&#xff0c;拒绝隐私泄露&#xff0c;伪装手机环境参…

佐罗BI真经连续剧

学习必读代码 public void string main(String agrs[]){//获取课程vx 80407290 } 一、表格 表是保存信息的容器&#xff0c;分为行和列。每行包含关于单个实体的信息&#xff0c;而每行中的每个单元格包含数据库中表示的最小的信息片段。例如&#xff0c;客户表包含所有客户的…