目录
一、开发方法
结构化开发方法、面向对象方法、Jackson方法(历年没考过)
结构化开发方法(结构化分析SA需求分析输出逻辑模型、结构化设计SD识别模块、结构化编程SP实现、结构化测试):用系统的思想,自顶向下,是面向数据流的方法;
面向对象方法(面向对象分析OOA、面向对象设计OOD、面向对象编程OOP、面向对象测试OOT):分析、设计、实现三个阶段,界限不明显;适合大型的项目,基于对象的项目。
Jackson方法:面向数据结构的方法。
1.结构化开发方法特点
- 模块化、规范化、文档化:结构化开发方法强调系统的模块化设计,每个模块具有明确的功能和接口,整个开发过程遵循规范化的流程,并产生详细的文档。
- 用户至上:按照用户至上的原则,自上向下的对系统进行分析与设计,强调从整体上协调和规划。
- 分阶段实施:开发过程分为系统规划、系统分析、系统设计、系统实施、系统运行与维护等阶段,每个阶段都有明确的任务和工作步骤。
- 可修正性:一旦某个阶段出现问题,可以立即转到上一阶段进行修正,避免更大的损失。
2.面向对象方法特点
- 基于封装、继承、多态和抽象:面向对象方法将数据和方法封装成独立的对象,通过继承实现代码重用,多态性提高了代码的灵活性和可扩展性,抽象则提高了代码的通用性和可读性。
- 优点:包括可维护性、可重用性、可扩展性、安全性和灵活性。
- 缺点:包括复杂性(大型项目可能变得难以管理)、性能(对象创建和销毁可能比过程式方法更昂贵)以及耦合度(对象之间的依赖关系可能导致维护困难)。
3.Jackson方法特点
- 面向数据结构:Jackson方法是一种面向数据结构的开发方法,它从目标系统的输入、输出数据结构入手,到数据框架结构,再补充其他细节,得到完整的程序结构图。
- 基本结构形式:包括顺序、选择和重复三种基本的结构形式,可以组合形成复杂的结构体系。
- 处理中小型系统:对输入、输出数据结构明确的中小型系统特别有效,如商业应用中的文件表格处理。
- 可与其他方法结合:该方法也可以与其他方法结合,用于模块的详细设计。
总结来说,结构化开发方法注重整体规划和模块化设计,面向对象方法强调代码的重用和灵活性,而Jackson方法则专注于从数据结构出发构建程序结构。
二、需求分析
1.软件需求
软件需求:是指用户对系统在功能、性为、性能、设计约束等方面的期望。
它是指用户解决问题或达到目标所需要的条件或能力,是系统要满足合同、标准、规范或其它正式规定文档所需具有的条件或者能力,以及反映这些条件或能力的文档说明。
软件需求分类:业务需求(整体全局,来源于高层领导)、用户需求(用户视角)、系统需求(计算机化)。
2.系统需求
系统需求包括:功能需求(行为需求,是对系统特性的一些描述)、非功能需求(性能需求,描述的是性能,可用性、可靠性、安全性)、设计规约(补充规约,对系统的补充说明,如必须使用国有的MIS数据库)。
业务需求:反映企业或者客户对系统高层次的要求,eg,用户能有效地纠正文档中的拼写错误。
用户需求:描述用户能够使用系统做什么,用户要求系统实现什么,eg,找出文档拼写错误并提供一个替换项来供选择替换拼错的词。
功能需求:从系统的角度来说明软件的需求,eg,显示提供替换词的对话框以及实现整个文档范围的替换。(通过对话框来实现这个功能)。
三、结构化分析
数据流图和数据字典选择和下午常考。
1.数据流图
数据流图:是一种最常用的结构化分析工具,从数据传递和加工的角度,以图形的方式刻画系统内数据的运行情况。
2.数据字典
数据字典:加工处理逻辑描述,是对功能模型和行为模型、数据模型的描述,对数据项进行说明。
- 结构化语言
- 判断表
- 判定树
结构化分析建模有三种模型:功能模型、行为模型、数据模型
功能模型:通过数据流图DFD实现
行为模型:通过行为状态图STD实现
数据模型:通过ER图实现
数据流图和数据字典详细介绍放在下一个贴子啦,祝大家考试都过!!!