- 1、本文档共28页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C++面向对象程序设计 2.面向对象程序分析和设计的基本方法 Agenda 1. 回忆“成绩管理”的设计过程 2. 介绍OOP的分析思路 类组合的概念(类图) UML的更多表示方法(协作图) 3. 实现OOP的成绩管理 多文档项目 小型程序的开发步骤 这是“软件工程”的内容 完整的软件开发过程分为很多步骤,如可行性分析、需求分析、概要设计、详细设计,然后才是编程调试,最终是测试和部署。 需要有较多的实践经验后才能完全理解其中的理论和方法。 为什么要介绍 很多同学写软件时感到无从着手,就是缺乏一套基本的步骤。所以我们要介绍最基本的分析和设计步骤。 提醒:仍然需要多实践,才能掌握。 介绍什么 很小型的软件开发时的一般步骤 分为两个大类介绍。前者是为了与后者进行对比。 面向过程的结构化程序设计 面向对象的分析和设计 说明 我们介绍的不是非常正规的软件工程的步骤,仅为大家提供参考。 面向过程的结构化程序设计 可以分为五个步骤 功能分析:需要实现哪些功能。 数据分析:需要哪些数据类型,如何存储。 用户界面设计:使用什么样的界面。 程序模块划分:需要写哪些源代码文件,其中具体包含哪些功能。 编写、调试代码。 面向过程的结构化程序设计 (1)功能分析(需求分析): 使用框图。 面向过程的结构化程序设计 (1.1)各功能的描述 简单功能:文字描述即可。 复杂功能:画出流程图。 面向过程的结构化程序设计 2. 学生成绩录入 功能描述: (1)选择科目 (2)输入学生学号和科目成绩 3. 学生成绩查询 功能描述: (1)输入学生学号 (2)根据学号在班级中查找学生 (3)显示该学生的学号、姓名、各科成绩 4. 保存学生成绩 功能描述: 将班级学生成绩保存在数据库或数据文件中 5. 加载学生成绩 功能描述 从数据库或数据文件中加载班级学生成绩 面向过程的结构化程序设计 5. 学生成绩统计分析 5.1 统计平均成绩 功能描述:输入科目,循环求和后平均,显示。 5.2 统计及格率 功能描述:输入科目,循环,累计及格人数,计算及格率,显示。 5.3 统计优良率 功能描述:输入科目,循环,累计80分以上人数,计算优良率,显示。 5.4 学生成绩排名 功能描述:输入科目,按科目成绩排序,显示排名、姓名、学号和科目成绩。 面向过程的结构化程序设计 (2)程序中的数据分析 程序中涉及到学生、学生的成绩、学号、姓名等,还有班级。 考虑数据在程序中如何表示: 每个学生的相关信息使用结构体表示。 班级也使用结构体表示,班级内学生使用数组或链表表示。 面向过程的结构化程序设计 (3)用户界面设计 文本界面,使用菜单选择需要的功能,并根据选择分别调用不同的函数。 数据在界面的输入、输出: 使用printf,scanf等实现。 面向过程的结构化程序设计 (4)程序模块划分 一般按照功能分类,将相似的功能划分在一个程序模块(c文件和头文件)中实现。 注意:程序模块中的功能实现为函数。 这个过程还可能发现一些共用的功能。例如图中红色的函数。 面向过程的结构化程序设计 (5)编写代码并调试 根据上述分析,创建工程、创建C文件和头文件(程序模块)、编写和调试代码 演示: 实现“班级学生成绩管理”中的“班级学生录入”和“学生成绩录入” 实现“班级学生成绩统计分析”中的“统计平均成绩”。 面向对象的软件分析 1. 用例分析 对应于面向过程的功能分析 2. 对象模型分析 包含面向过程的数据分析,自然形成程序模块划分。 3. 用户界面设计 面向过程时:分析使用什么样的函数。 面向对象时:分析应该使用什么对象(类)。 4. 编写、调试代码。 面向对象的软件分析 (1)用例分析(需求分析) 本质上还是软件功能分析。但使用“UML用例图”。 对每个用例进行文字描述。复杂的使用”UML活动图“描述。 面向对象的软件分析 (1)用例分析(续) C1:班级学生录入 输入并保存班级中各个学生的姓名、学号、性别等。 C2:学生成绩录入 选择科目,输入学生学号和科目成绩。 C3:学生成绩查询 输入学生学号,查询并显示该学生的学号、姓名、各科成绩。 C4:保存学生成绩 将班级学生成绩保存在数据库或数据文件中 C5:加载学生成绩 从数据库或数据文件中加载班级学生成绩 面向对象的软件分析 (1)用例分析(续2) C6:学生成绩统计分析 C6.1统计平均成绩 输入科目,循环求和后平均,显示 C6.2统计及格率 输入科目,循环,累计及格人数,计算及格率,显示。 C6.1统计平均成绩 输入科目,循环,累计80分以上人数,计算优良率,显示。 C6.1统计平均成绩 输入科目,按科目成绩排序,显示排名、姓名、学号和科目成绩。 面向对象的软件分析 (2)对象模型分析 基本方法: 从用例描述中发现较为复杂的数据作为“
您可能关注的文档
最近下载
- 年会语言类节目搞笑朗诵《我爱上班》表演.pptx
- 《马克思主义基本原理概论》教案12 资本主义的本质及规律.doc VIP
- 55种语言汉译译音表-世界人名翻译大辞典.pdf
- 我们的母亲叫中国:.pptx VIP
- 1.6+隋唐时期的中外文化交流++课件++2024-2025学年统编版七年级历史下册+.pptx VIP
- 水稻绿色高产高效创建服务 投标方案(技术方案).docx
- 医用氧自检检查记录表.pdf
- 2024辽宁沈阳市文体旅产业发展集团有限公司中层岗位招聘5人笔试备考试题及答案解析.docx
- 《国际经济法学》(第二版)课后思考题答案.pdf
- 55个单病种(术种)管理指标质量控制标准(第二部分).xlsx
文档评论(0)