温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
软件设计
编程
基础
语言版
全国高等职业教育计算机类规划教材工作过程系统化教程系列 软件设计与编程基础(C 语言版)吴艳平 岳淑玲 主 编 刘铁英 于艳华 副主编 李明革 丛得成 主 审 Publishing House of Electronics Industry 北京BEIJING 内 容 简 介 本书是一本软件设计与编程的基础入门用书。全书以C语言为媒介,详细地介绍了结构化程序的开发的完整流程,主要内容包括项目背景、需求分析(项目计划书、需求规格说明书)、系统设计(概要设计说明书、详细设计说明书)、编码实现、系统测试与优化。本书精心选择了“小学生数学选题系统”、“超市管理系统”两个项目,这些教学项目均由企业专家亲自指导,依据从简单到复杂的规律,逐步构建使用者的软件开发与设计理念,与以往的教材相比,更注重学习者能力的培养,具有一定的普遍性、实用性和可操作性。本书充分体现行为导向教学方法,在实施项目时,将面向过程的软件开发方法、算法及 C 语言相关知识均贯穿在项目这条主线上,让学生学会在工作中处理各类问题的方法,实现理论与实践一体化教学,把培养学生的能力放在首位。本教材同时提供了教材中所用项目的完整代码及配套电子课件。本书可作为高职高专计算机专业及相关非计算机专业的教材使用,也可作为培训教材,也可供对程序设计感兴趣的初学者入门使用。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。版权所有,侵权必究。图书在版编目(CIP)数据 软件设计与编程基础:C 语言版吴艳平,岳淑玲主编北京:电子工业出版社,2009.7 全国高等职业教育计算机类规划教材工作过程系统化教程系列 ISBN 978-7-121-08963-3 .软 .吴岳 .C 语言程序设计高等学校:技术学校教材 .TP312 中国版本图书馆 CIP 数据核字(2009)第 086184 号 策划编辑:程超群 责任编辑:张燕虹 印 刷:装 订:出版发行:电子工业出版社 北京市海淀区万寿路 173 信箱 邮编 100036 开 本:7871 092 1/16 印张:18.75 字数:480 千字 印 次:2009 年 7 月第 1 次印刷 印 数:4 000 册 定价:29.00 元 凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888。质量投诉请发邮件至 ,盗版侵权举报请发邮件至 。服务热线:(010)88258888。前 言 随着企业对软件人才需求量的激增,高职院校人才培养的质量与规格也在不断提升,需要我们培养出具有较高的专业能力、方法能力和社会能力等综合能力的高素质的人才。这就要求我们开设的课程要以工作过程为导向,采用行动导向教学理念,全面培养学生的职业能力和提高学生可持续发展能力,以使他们将来能尽快适应岗位变化。但是,目前国内软件专业中还没有一门比较成熟、可行性强、适合职业人才培养的此类课程,因而也没有与此类课程相配套的教材。本教材是在分析企业工作任务、提取典型工作任务之后,由多年从事软件开发、设计的企业人员和一线教学人员根据软件企业工作过程系统化的原理编写而成的,它的前身是C 语言程序设计,曾连续几年作为长春职业技术学院软件专业教材使用。近年来,根据工作过程系统化的指导思想,在企业专家的参与下,将软件开发方法、算法等多学科知识融入教材中,通过两个项目的完整设计过程对教材内容重新进行了组织、整理,根据企业需求及学生的认知规律,将项目划分成多个学习性工作任务,并针对不同的工作任务,提供相应的引导文,引领学生在任务的完成过程中逐步掌握相应的知识与技能。本教材有以下主要特色。(1)适应工作过程系统化的教学模式。教学项目均由企业专家亲自指导,具有普遍性、实用性、可操作性。(2)以典型工作过程项目为主线,贯穿全书始终。本教材精心选择了“小学生数学选题系统”、“超市管理系统”两个项目,又将项目分解为多个既独立又有一定联系的小任务,使学生在完成任务的过程中,掌握软件设计的基本理念和编程的基本方法。(3)案例依据从简单到复杂的规律,逐步构建使用者的软件开发与设计理念,与以往的教材相比,更注重学习者能力的培养。本教材充分体现行为导向教学方法,在实施项目时,将面向过程的软件开发方法、算法及 C 语言相关知识均贯穿在项目这条主线上,让学生学会在工作中处理各类问题的方法,实现理论与实践一体化教学,也真正把培养学生的方法能力放在首位,使学生具有可持续发展的能力。(4)充分体现工学结合,从教材的策划到实施,都有企业专家把关,符合企业需求。本教材共分为 4 章,章节划分如下。第 1 章 软件开发与程序设计,包括结构化软件开发的一般方法及开发流程。第 2 章 小学生数学选题系统,包括了该系统的整个开发流程,即项目背景、需求分析、系统设计、编码实现、系统测试与优化。第 3 章 超市管理系统,包括了该系统的整个开发流程(同“小学生数学选题系统”)。第 4 章 项目赏析学生成绩管理系统,展示了用 C 语言开发一个系统的基本方法和步骤。本书由长春职业技术学院的吴艳平、岳淑玲任主编,刘铁英、于艳华任副主编;王军、董晶、李权威(上海朋道信息有限公司长春分公司)也参与了本书的编写工作。李明革教授、丛得成工程师(启明信息技术股份有限公司)担任本教材主审工作。电子工业出版社的编辑对本书的编写提出了许多宝贵的意见,长春职业技术学院软件专业教研室主任、教务科长陈显刚同志给予了大力支持与帮助,在此表示感谢。本教材适合作为高职高专计算机类专业软件设计与编程基础类教材,同时也可以作为培训教材,也可供对程序设计感兴趣的初学者入门使用。由于时间仓促以及编者水平有限,书中难免存在错误和疏漏之处,欢迎广大读者和同仁提出宝贵意见和建议。E-mail:。编 者 2009 年 4 月 目 录 第 1 章 软件开发与程序设计(1)1.1 任务一:软件的开发(1)1.2 任务二:结构化程序设计(6)第 2 章 小学生数学选题系统(13)2.1 任务一:“小学生数学选题系统”的项目背景(13)2.2 任务二:“小学生数学选题系统”的需求分析(14)2.2.1 子任务一:编写项目计划书(14)2.2.2 子任务二:编写需求规格说明书(20)2.3 任务三:“小学生数学选题系统”的设计(24)2.3.1 子任务一:编写概要设计说明书(24)2.3.2 子任务二:编写详细设计说明书(27)2.4 任务四:“小学生数学选题系统”的编码实现(35)2.4.1 子任务一:界面设计(35)2.4.2 子任务二:登录模块的功能实现(48)2.4.3 子任务三:题量设置模块的功能实现(59)2.4.4 子任务四:四则题库模块的功能实现(68)2.4.5 子任务五:评分系统模块的功能实现(91)2.5 任务五:“小学生数学选题系统”的测试与优化(100)第 3 章 超市管理系统(105)3.1 任务一:“超市管理系统”的项目背景(105)3.2 任务二:“超市管理系统”的需求分析(106)3.2.1 子任务一:编写项目计划书(106)3.2.2 子任务二:编写需求规格说明书(108)3.3 任务三:“超市管理系统”的设计(111)3.3.1 子任务一:编写概要设计说明书(111)3.3.2 子任务二:编写详细设计说明书(114)3.4 任务四:“超市管理系统”的编码实现(121)3.4.1 子任务一:界面设计(121)3.4.2 子任务二:登录模块的功能实现(137)3.4.3 子任务三:数据结构设计(148)3.4.4 子任务四:商品维护模块的功能实现(157)3.4.5 子任务五:会员管理会员添加模块的功能实现(166)3.4.6 子任务六:会员管理会员查询模块的功能实现(176)3.4.7 子任务七:会员管理会员统计模块的功能实现(189)3.4.8 子任务八:会员管理会员删除模块的功能实现(201)3.4.9 子任务九:商品销售购物车清单的功能实现(210)3.4.10 子任务十:商品销售动态处理商品数量的功能实现(217)3.4.11 子任务十一:商品销售商品结算的功能实现(222)3.4.12 子任务十二:库存预警模块的功能实现(227)3.5 任务五:“超市管理系统”的测试与优化(232)第 4 章 项目赏析学生成绩管理系统(242)4.1 概述(242)4.1.1 学生成绩管理系统的背景(242)4.1.2 系统流程概要(243)4.2 明确问题(244)4.3 分析(245)4.4 设计算法(245)4.4.1 概要设计(245)4.4.2 详细设计(247)4.5 实现(248)4.6 测试(274)4.7 设计说明(274)4.7.1 设计内容的综合性(274)4.7.2 分析方法(274)4.7.3 测试(274)4.7.4 待完善的问题(275)附录 A 常用字符与 ASCII 码对照表(276)附录 B C 语言运算符的优先级与结合方向(277)附录 C C 语言常用库函数(278)附录 D VC+6.0 常用菜单功能说明(285)附录 E scanf、printf 函数格式字符表(290)参考文献 (291)1 第 1 章 软件开发与程序设计 1.1 任务一:软件的开发 软件被应用于世界的各个领域,对人们的生活和工作产生了深远的影响。近年来,软件开发作为现代科学研究和解决工程问题的基础,成为当今世界不可缺少的一部分。在不久的将来,软件将成为驱动社会发展的新动力。任务描述 软件开发的目标:以客户与市场为导向、理解软件真正的需求,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并满足用户需要的软件产品,获取最大的商业利益。任务分析与设计 如果硬件是人的身体,那么软件就是人的思维。在开发软件过程中,开发的步骤、方法甚至技巧和习惯都会直接影响软件成品的质量。软件开发项目的成功有以下几个主要的目标作为验证标准:(1)付出较低的开发成本。(2)达到要求的软件功能。(3)取得较好的软件性能。(4)开发的软件易于移植。(5)需要较低的维护费用。(6)能按时完成开发工作,即时交付使用。任务实现 1初识“软件”软件(software)是一系列按照特定顺序组织的计算机数据和指令的集合。凡是能看见、能摸到的都是硬件,如键盘、显示器、鼠标、主机等。运行于硬件上的、我们常用的瑞星、Office、操作系统等都是软件!没有软件的计算机是“裸机”,相当于废铁一堆。软件和计算机密不可分,计算机软件是为了解除人们繁重、重复的工作而产生的。软件是为了告诉计算机要做什么、如何做而编写的,是计算机能够理解的一串指令、代码、程序。2软件的分类 1)按功能划分(1)贴近计算机硬件的小软件。通常“固化”在只读存储器芯片中,因此称为固件。2(2)系统软件。包括操作系统和编译器等软件,如 Windows、Linux、UNIX、Mac OS。系统软件与硬件共同搭建起一个操作“平台”,可以管理和优化计算机硬件资源的使用。(3)支撑软件。是支撑各种软件的开发与维护的软件,又称为软件开发环境,如 Microsoft Visual C、Microsoft Visual Studio、Maromedia Dreamweaver 等。(4)应用软件。它的种类最多,如办公软件、电子商务软件、通信软件、行业软件,游戏软件等。根据用户和所服务的领域提供不同的功能,是为了某种特定的用途而开发的软件。本书开发实例的方向就是应用软件。2)按软件规模划分 根据开发软件所需的人员数量、时间期限以及完成的源程序(有效)行数,划分出 6 种不同规模的软件,如表 1.1 所示。表 1.1 软件规模的分类 类 别 参加人员数 研制期限 产品规模(源程序行数)微型 1 14 周 0.5k 小型 1 16 月 12k 中型 25 12 年 550k 大型 520 23 年 50100k 甚大型 1001000 45 年 1M(=1000k)极大型 20005000 510 年 110M 3软件生命