结构化方法和面向对象方法

news/2024/6/29 19:08:49

结构化方法

1.结构化方法:面向过程的方法

结构化分析(SA,  Structured Analysis)

结构化设计(SD,  Structured Design)

结构化编程(SP,  Structured Programming)

2.模块的独立性:模块是高内聚,低耦合的

        高内聚指的是一个函数最好实现一个功能

        低耦合指的是模块间的接口的参数不能太多

3.使用goto语句不是结构化的程序

4.把大象放进冰箱

用结构化方法解决

分三步:

第一步:打开冰箱

第二步:放进大象

第三步:关闭冰箱

每一步就是一个功能模块,用函数实现

使用时,依次调用这三个模块就可以解决这个问题

 

5.结构化方法特点:

1)程序运行效率高

2)不适合需求经常变化的系统,适合需求稳定的系统设计,比如操作系统

3)容易设计,便于理解

面向对象方法

1.面向对象方法术语

面向对象的分析(OOA , Object Oriented Analysis)

面向对象的设计(OOD , Object Oriented Design)

 面向对象编程(OOP , Object Oriented Progrmming)

面向对象的测试(OOT ,Object Oriented Test)

面向对象的软件维护(OOSM ,Object Oriented Software Maintance)

2.同学对象公共特征形成同学类:

        静态特征(属性):学号,姓名,性别等

        动态特征(行为,操作):学习,跑,跳,玩游戏等

        具体同学对象称为同学类的实例

        张三同学对象:

        19111,张三,男

        学习,跑,跳,玩游戏

3.抽象

        提取公共特征,忽略非本质的,无关的细节

4.类之间的层次关系,子类继承父类的特征

5.类的封装性

同学类:

属性:学号,姓名,性别等 一般设为私有private

操作:学习,跑,跳,玩游戏,set/get方法等一般设为共有可见public

6.把大象放进冰箱:用面向对象方法设计

1)考虑这个问题中的事物有哪些:冰箱,大象

冰箱类的行为: 门打开,门关闭

大象的行为: 走进冰箱

2)使用这些类对象解决问题:向这些类对象发送消息
向冰箱发送消息:打开门,冰箱对象收到消息后调用自己方法“门打开”

向大象发送消息:进冰箱,大象对象收到消息后调用自己方法“走进冰箱”

向冰箱发送消息:关闭门,冰箱对象收到消息后调用自己方法“门关闭”

7.面向对象方法特点:

1)程序运行效率低

2)易于维护,易于拓展

3)若设计大型系统时,若前期分析,设计不好,可能造成类非常多,关系也复杂,不便理解

8.OOA分析得到的模型:

对象模型: 对象及其联系构成的模型,一般类图(对象图)描述,描述系统的静态结构

动态模型: 描述对象间如何交互信息的,反应的是系统的动态行为,一般用顺序图描述

功能模型: 反应的是系统应该具备的功能,用用例图描述




http://www.niftyadmin.cn/n/3659435.html

相关文章

CSocket超时(Time-Out)功能的设置及其局限性

CSocket 是一个同步的socket类,如“接收”(Receive)、“发送”(Send) 和“连接”(Connect) 均是阻塞操作,即要等到操作成功执行完毕或套接字上出现错误后,对这些函数的调用才有返回结果。如果连接不上,只有超时以后才能返回。 在某…

前后端分离开发概念

前端后端需要会写html,css,js,jqcontroller,service,mapper主要作用数据显示返回数据或者操作数据接口ajax操作 开发接口,不是interface 而是开发controller,service,mapper过程 开发文档

SOCkET编程 难点及要点

刚从一个网络项目上脱出身来, 感叹Widnows软件开发,有两个难点,一个是窗口系统界面设计,一个就是Socket编程。此次作的是一个多源多线程下载项目 - 糖果专业下载组件,是一个ActiveX控件。这个项目的起因源于 糖果音乐播…

SOCKET代理实现方法

代理服务器的工作机制很象我们生活中常常提及的代理商,假设你的机器为A机,你想获得的数据由B机提供,代理服务器为C机,那么具体的连接过程是这样的。 首先,A机需要B机的数据,它与C机建立连接,C机…

软件工程、项目管理类 重点图书——Be Flying工作室翻译作品展示

为了方便各位对Be Flying工作室翻译的软件工程、项目管理类图书有一个全面的了解和方便查找,将这类图书在此集中展示,欢迎关注:1. Antipatterns: Refactoring Software, Architectures, and Projects in Crisis 中文名:反模式&a…

全部翻译作品 (及时更新)

为了方便各位对Be Flying工作室翻译的科技图书有一个总体的了解和方便查找,这里划分为三类分别予以展示(点击相应类别即可进入相应类别图书的详细展示区)注:本文正处于建设当中,暂未完工。A. 程序设计、软件工程、项目…

CLR一书译者(PART III和Part V)对Renart勘误的回应

下面是针对China-pub上Renart之前的“《CLR via C#》中文版民间勘误”做出的回应。首先非常感谢Renart花精力给出那个勘误,相信对原来的译本是一个很好的补充。下面是我这边请张杰良就第三部分(13-17)和第五部分(30-78&#xff09…

技术译者必读——技术图书翻译方法指南

技术图书翻译方法指南——磨刀不误砍柴工开始翻译之前:需要对所译内容所有章都大体看一下,对于有些以前从未涉及过或者比较生疏的内容稍微深入了解一下,这个过程需要用一天左右的时间,这个非常重要,相当于获得了大致的…