热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

自顶向下,逐步求精

“自顶向下,逐步求精”(又称分治法)的程序设计方法是结构化程序设计,是面向数据流进行需求分析的方法。采用自顶向下、逐步求精,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模

“自顶向下, 逐步求精”(又称分治法)的程序设计方法是结构化程序设计,是面向数据流进行需求分析的方法。采用自顶向下、逐步求精,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。
这里写图片描述
具体而言“自顶向下” 是将复杂、大的任务按功能进行分解划分为小问题,找出问题的关键、重点所在,然后用精确的思维定性、定量地去描述问题。“逐步求精” 是将现实世界的问题经抽象转化为逻辑空间或求解空间的问题。复杂问题经抽象化处理变为相对比较简单的问题。经若干步抽象(精化)处理,最后到求解域中只是比较简单的编程问题,再细分就是用函数来解决问题。
这里写图片描述
实际上现实生活中我们也能见到分治法的运用。我们写一个策划,会将策划的不同环节交给不同的人做,最后总策划再将各个人做好的各个部分的策划修改并整合成最终的总策划。而每个写子策划的人又可能将任务继续下派分发给部门内部多个人员共同完成。可以说,计算机科学中的分治法源于生活。
举个生活中的例子,用分治法解决。洗衣机的程序是什么?

1、按洗衣服的一般步骤分浸泡、洗涤、漂洗、脱水。
2、根据洗的衣服种类不同,具体步骤程序也会有不同。
3、对每一步精化:(1)洗衣机的进水和排水分别由进水电磁阀和排水电磁阀来执行,高、低水位控制开关分别用来检测高、低水位;
(2)洗涤正转、反转由洗涤电动机驱动波盘的正、反转来实现,通过波轮对衣物的翻滚,为了保证洗涤效果,洗涤桶的内壁上必需设计成凸形来增大摩擦力,达到满意的洗涤效果,当衣物与洗涤桶接触时,桶壁就产生像搓板那样的洗涤作用,而且能增强涡旋作用,提高洗涤率。
(3)采用水位压力开关和进水阀,由程序控制器调节,结合衣服的件数设几档水位供选择。设有溢水口,其位置在盛水桶上口部。漂洗时,它能让洗涤液中的泡沫和污水溢出,有利于漂清。
(4)脱水时,洗衣机具有盖的带锁装置,防止旋转甩干时以防衣服被甩出确保操作的安全。控制系统将离合器合上,由洗涤电动机带动内桶正转进行甩干。套桶式洗衣机的脱水桶(甩干篮)既要保证能离心脱水,又要能容纳洗涤的衣物,全自动洗衣机的洗涤桶其上部略大,下部略小,呈圆锥形。脱水系统由脱水桶、脱水定时器、安全开关、电动机、制动机构等组成。
(5)启动按钮用来启动洗衣机工作,停止按钮用来实现手动停止进水、排水、脱水及报警。排水按钮用来实现手动排水。

推荐阅读
  • 在探讨Hibernate框架的高级特性时,缓存机制和懒加载策略是提升数据操作效率的关键要素。缓存策略能够显著减少数据库访问次数,从而提高应用性能,特别是在处理频繁访问的数据时。Hibernate提供了多层次的缓存支持,包括一级缓存和二级缓存,以满足不同场景下的需求。懒加载策略则通过按需加载关联对象,进一步优化了资源利用和响应时间。本文将深入分析这些机制的实现原理及其最佳实践。 ... [详细]
  • 神经元研究动态:城市大脑标准化体系及评估指标综合框架分析
    神经元研究动态:城市大脑标准化体系及评估指标综合框架分析 ... [详细]
  • Java学习第10天:深入理解Map接口及其应用 ... [详细]
  • 小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限
    小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限 ... [详细]
  • 第六章:枚举类型与switch结构的应用分析
    第六章深入探讨了枚举类型与 `switch` 结构在编程中的应用。枚举类型(`enum`)是一种将一组相关常量组织在一起的数据类型,广泛存在于多种编程语言中。例如,在 Cocoa 框架中,处理文本对齐时常用 `NSTextAlignment` 枚举来表示不同的对齐方式。通过结合 `switch` 结构,可以更清晰、高效地实现基于枚举值的逻辑分支,提高代码的可读性和维护性。 ... [详细]
  • 本文详细探讨了在ASP.NET环境中通过加密数据库连接字符串来提升数据安全性的方法。加密技术不仅能够有效防止敏感信息泄露,还能增强应用程序的整体安全性。文中介绍了多种加密手段及其实施步骤,帮助开发者在日常开发过程中更好地保护数据库连接信息,确保数据传输的安全可靠。 ... [详细]
  • 在Java中,抽象类无法直接实例化的原因在于其设计初衷是为了提供一种模板方法模式,其中包含未实现的方法。这些方法需要由子类来具体实现。因此,直接实例化抽象类没有实际意义,也无法满足编译器的要求。理解这一点有助于更好地利用抽象类进行面向对象编程。 ... [详细]
  • CTF竞赛中文件上传技巧与安全绕过方法深入解析
    CTF竞赛中文件上传技巧与安全绕过方法深入解析 ... [详细]
  • 如何使用Python去除字符串中的非中文字符[Python编程技巧]
    在 Python 中,可以通过正则表达式来实现去除字符串中的非中文字符。具体方法是使用 `re` 模块中的 `re.sub()` 函数,配合正则表达式 `[^u4e00-u9fa5]` 来匹配并替换掉所有非中文字符,从而保留字符串中的中文部分。这种方法简洁高效,适用于多种文本处理场景。 ... [详细]
  • 初探性能优化:入门指南与实践技巧
    在编程领域,常有“尚未精通编码便急于优化”的声音。为了从性能优化的角度提升代码质量,本文将带领读者初步探索性能优化的基本概念与实践技巧。即使程序看似运行良好,数据处理效率仍有待提高,通过系统学习性能优化,能够帮助开发者编写更加高效、稳定的代码。文章不仅介绍了性能优化的基础知识,还提供了实用的调优方法和工具,帮助读者在实际项目中应用这些技术。 ... [详细]
  • 将密码链接至密码输入框中以增强安全性
    在通常情况下,当TextBox的TextMode设置为Password时,直接在后台(.cs文件)绑定值到该文本框是不可行的。然而,在某些场景下,为了增强安全性,需要将密码值安全地传递到密码输入框中。本文介绍了一种方法,通过使用特定的技术手段,实现后台与前端密码输入框的安全绑定,从而提高系统的整体安全性。 ... [详细]
  • 中国古代十大著名吝啬人物,你了解几位?
    在中国古代历史上,不乏一些富有却极其吝啬的人物,其中许多甚至身居高位。例如三国时期的曹洪,他是曹操的堂弟,多次在关键时刻救助曹操,并随其南征北战,立下赫赫战功,最终被封为都护。然而,即便如此显赫,曹洪在日常生活中却以吝啬著称。 ... [详细]
  • 作为软件工程专业的学生,我深知课堂上教师讲解速度之快,很多时候需要课后自行消化和巩固。因此,撰写这篇Java Web开发入门教程,旨在帮助初学者更好地理解和掌握基础知识。通过详细记录学习过程,希望能为更多像我一样在基础方面还有待提升的学员提供有益的参考。 ... [详细]
  • REST与RPC:选择哪种API架构风格?
    在探讨REST与RPC这两种API架构风格的选择时,本文首先介绍了RPC(远程过程调用)的概念。RPC允许客户端通过网络调用远程服务器上的函数或方法,从而实现分布式系统的功能调用。相比之下,REST(Representational State Transfer)则基于资源的交互模型,通过HTTP协议进行数据传输和操作。本文将详细分析两种架构风格的特点、适用场景及其优缺点,帮助开发者根据具体需求做出合适的选择。 ... [详细]
  • 近期,针对Axis2默认凭据漏洞的攻击案例在安全社区引起了广泛关注。这些攻击通常利用Axis2的默认用户名和密码进行渗透测试,技术手段相对固定。本文在综合分析多个案例的基础上,详细探讨了该漏洞的安全风险,并提出了有效的防范措施,以帮助企业和开发者加强Web服务的安全防护。 ... [详细]
author-avatar
CSN
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有