程序设计方法与风格

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

✓程序设计方法与风格

✓经历两个阶段:

✓结构化程序设计

✓面向对象的程序设计

✓良好设计风格:

“清晰第一,效率第二”

例如:加注释、提示输入、加输入结束标志、标识符命名有实际意义等。

•原则

✓自顶向下

✓逐步求精

✓模块化

✓限制使用goto语句

基本结构

✓顺序结构

✓选择结构

✓循环结构

优点

✓程序易于理解、使用、维护

✓提高编程效率,降低开发成本

设计原则和方法的应用

✓三种结构表示程序的控制逻辑;

✓每种结构只有一个入口和一个出口;

✓语言中没有的控制结构,应该用前后一致的方法模拟;

✓严格控制使用goto语句

本质:以对象为核心。

✓对象是数据和操作的封装体,与客观实体有直接的对应关系,对象之间通过传递消息互相联系。

面向对象程序设计方法的优点

✓(1)与人类的思维方法一致,符合人们对客观世界的认识规律。

✓(2)稳定性好;

✓(3)可重用性好;

✓(4)易于开发大型软件产品;

面向对象的基本概念

✓对象:在现实世界中,每个实体都是对象,如,大学生、汽车、电视机、空调等都是现实世界中的对象。

✓(1)属性:对象所包含的信息,它在设计对象时确定,一般只能通过执行对象的操作来改变。

✓(2)操作:描述了对象执行的功能。其过程对外是封闭的,即用户只能看到这一操作实施后的结果(封装性)。

类:类是一组具有相同属性和相同操作的对象的集合。是对象的抽象,描述了属于该对象类型的所有对象的性质,而一个对象则是其对应类的一个实例。

注意:“实例”这个术语指一个具体的对象;“对象”术语既可以指一个具体的对象,也可以泛指一般对象。

消息:一个实例与另一个实例之间传递的信息,包括3部分:接收消息的对象名称;消息

名;零个或多个参数。

例:MyCircle.Show(GREEN);

面向对象的基本概念

• 继承:使用已有的类定义作为基础建立新类的定义技术。已有的类可当做基类引用,

则新类相应地可当做派生类来引用。

(基类:用来生成新类的类。 派生类:由已存在的类派生出来的新类,也叫子类。)继承

具有传递性。

• 多态性:对象根据所接受的消息而做出动作,同样的消息被不同的对象接受时可导

致完全不同的行为,该现象称为多态性。

图2-1 一般与特殊的关系

图2-2 多重继承

3.1.1软件定义与软件特点

1.软件定义:软件是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及其相关

文档组成的完整集合。

软件=程序+数据+文档

程序:程序是按事先设计好的功能和性能要求执行的指令序列。

数据:数据是指程序能正常处理信息的数据和数据结构。

文档:文档是与程序运行和维护有关的图文资料。

2.软件的特点:

(1) 软件具有抽象特征。

(2) 软件具有无明显制造过程特征。

(3) 软件无设备的特征。

(4) 手工制作特征。

(5) 成本昂贵特征。

1. 软件危机:泛指在软件的开发和维护过程中所遇到的一系列严重问题。

总之,可以将软件危机归结为成本、质量、生产率等问题。

软件工程:应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准

和工序。

主要思想:强调在软件开发过程中需要应用工程化原则。

软件工程三要素:方法、工具、过程。

方法:完成软件工程项目的技术手段;

工具:支持软件的开发、管理、文档生成;

过程:支持软件开发的各个环节的控制、管理。

• 软件工程过程:把输入转化为输出的一组彼此相关的资源和活动。(通常把用户的

要求转变为软件产品的过程也叫做软件开发过程).

•软件生命周期:将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。

•软件生命周期的三个阶段:

定义阶段(可行性研究、需求分析)

开发阶段(概要设计、详细设计、编码、测试)

运行维护阶段(使用、维护、退役)

•软件工程的目标:在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。

•软件工程的原则:

抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性、可验证

•软件开发工具:为软件工程方法提供了自动的或半自动的软件支撑环境。

•软件开发环境:是全面支持软件开发全过程的软件工具集合。这些软件工具按照一定的方法或模式组合起来,支持软件生命周期内的各个阶段和各项任务的完成。

•计算机辅助软件工程(CASE Computer Aided Software Engineering)是当前软件开发环境中富有特色的研究工作和发展方向。

软件需求:指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。

需求分析任务:发现需求、求精、建模和定义需求的过程。

需求分析阶段的工作:

需求获取

需求分析

编写需求规格说明书

需求评审

需求分析方法分为:结构化分析方法与面向对象的分析方法:

•结构化分析方法

❆面向数据流的结构化分析方法(SA)

❆面向数据结构的Jackson方法(JSD)

❆面向数据结构的结构化数据系统开发方法(DSSD)

•面向对象的分析方法(OOA),从需求分析建立的模型的特性来分:

❆静态分析方法

❆动态分析方法

•含义:是结构化程序设计理论在软件需求分析阶段的运用。

•目的:帮助弄清用户对软件的需求。

•实质:着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,,以数据流图和数据字典为主要工具,建立系统的逻辑模型。

●数据流图(Data Flow Diagram)DFD

数据流图是描述数据处理过程的工具,从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。

加工数据流存储文件源(潭)

●数据字典(Data Dictionary,DD)是结构化分析方

法的另一种有力工具,在数据字典中建立的一组严密一

致的定义有助于消除分析员和用户之间的沟通障碍,因

此将消除许多可能的误解。

相关文档
最新文档