版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
高级语言程序设计揭安全jieanquan@163.com江西师范大学计算机信息工程学院高级语言程序设计——基于计算思维能力培养高级语言程序设计——基于计算思维能力培养第10章C综合性程序设计案例分析揭安全jieanquan@163.com江西师范大学计算机信息工程学院软件开发过程概述1主要内容图书管理系统案例分析2综合课程设计选题3软件开发过程
概述10.11、软件危机与软件工程随着软件规模的扩大,最终出现了一堆问题:程序质量低下,错误频出,进度延误,软件成本日益增长……更严重的是,许多程序因代码缺少相关文档,最终成为不可维护软件产品,这些问题最终导致“软件危机”。1968年北大西洋公约组织的计算机科学家在联邦德国召开国际会议,讨论“软件危机”问题,在这次会议上正式提出并使用了“软件工程”的概念,一门新的工程学科就此诞生。1、软件危机与软件工程软件工程是指导计算机软件开发和维护的一门工程学科。它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。1、软件危机与软件工程2、软件工程方法学目前,使用得最广泛的软件工程方法学,分别是传统方法学和面向对象方法学。传统方法学也称为生命周期方法学。它采用结构化技术(结构化分析、结构化设计和结构体实现)来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。3、软件生命周期软件规格描述的主要任务是解决“做什么”的问题。软件规格描述通常进一步划分成三个阶段:即问题定义、可行性研究和需求分析。软件开发的主要任务是解决“如何做”的问题,即设计和实现在前一个阶段定义的软件,它通常由下述三个阶段组成:总体设计、详细设计、编码实现。软件确认的主要任务是“确认实现的系统满足用户的要求”,即依据规格说明来测试所实现的软件。软件测试包括单元测试、集成测试、系统测试等。通常单元测试合并在编码实现阶段进行。3、软件生命周期软件维护的主要任务是使软件持久地满足用户的需要。具体地说,当软件在使用过程中发现错误时应该加以改正;当环境改变时应该修改软件以适应新的环境;当用户有新的要求时应该及时改进软件以满足用户的需求。3、软件生命周期(1)问题定义问题定义阶段必须明确的是解决的问题是什么。通过问题定义阶段的工作,提出关于问题性质、工程目标和规模的书面报告,最终的目标是得出一份开发设计人员与客户两方都满意的文档。(2)可行性研究这个阶段要明确在成本和时间的限制条件下,上一个阶段所确定的问题是否有行得通的解决办法。在客户的配合下,由分析员提出解决问题的侯选方案,然后对每个方案从技术、经济、法律和操作等方面进行可行性研究。其结果是客户做出是否继续进行这项工程的决定的重要依据。这个阶段的任务主要是明确为了解决这个问题,目标系统必须做什么。为此,分析员要通过各种途径与用户沟通,获取他们的真实需求,并通过建模技术来表达这些需求。(3)需求分析在需求分析阶段确定的系统逻辑模型是以后设计和实现目标系统的基础,必须准确完整地体现用户的要求。这个阶段的一项重要任务,是用正式文档准确地记录对目标系统的需求,这份文档通常称为规格说明书。(3)需求分析(4)总体设计总体设计又称为概要设计,这个阶段的主要任务是确定系统的架构,即给出软件的体系结构。(5)详细设计详细设计的任务是把解决问题的方法具体化,也就是具体回答:“应该怎样具体地实现这个系统?”这个阶段的任务还不是编写程序,而是设计出程序的详细规格说明。(6)编码和单元测试这个阶段的关键任务是写出正确的容易理解、容易维护的程序模块。测试是在认为程序能工作的情况下,为发现其问题而进行的一整套确定的系统化的实验,编码时应对所完成的功能模块进行单元测试,以保证模块能被正确地调用。(7)综合测试这个阶段的关键任务是通过种种类型的测试使软件达到预定的要求。最基本的是集成测试和验收测试。所谓集成测试是根据设计的软件结构,把经过单元测试检验的模块按某种策略装配起来,在装配的过程中对程序进行必要的测试。而验收测试则是按照规格说明书的要求,由用户对目标系统进行验收。(8)软件维护这个阶段的任务是通过各种必要的维护活动使系统持久地满足用户的要求。基于用户角色的图书管理系统
案例分析10.210.2.1问题描述与需求分析某学校拟建立一个小型的图书管理程序(学生人数不超过1000人,图书数目不超过5000册),实现对图书的入库、图书查询、旧书的删除;创建用户、查询用户、删除用户;借书、还书、续借;修改用户密码、系统备份等功能。要求以文件的方式保存用户、图书及借书信息。(1)要求系统提供系统管理员、图书管理员、学生和教师四种不同的角色的权限管理。不同角色用户登录系统后拥有不同的权限。(2)系统管理员拥有“浏览用户”、“添加用户”、“删除用户”、“浏览图书”、“添加图书”、“删除图书”、“修改密码”和“系统备份”等功能。功能需求:(3)图书管理员拥有“图书查询”、“用户借书信息查询”、“借书”、“还书”、“按当前借书量排序”和“修改登录密码”等功能。(4)学生拥有“图书查询”、“查询本人借书书目”、“续借”、“修改个人信息”和“修改登录密码”等功能。功能需求:(5)教师拥有“图书查询”、“查询本人借书书目”、“续借”、“查询学生借书书目”、“修改个人信息”和“修改登录密码”等功能。(6)为方便用户查询图书,应提供模糊查询的功能。(7)为提高系统安全性,应对用户密码信息进行加密保存。功能需求:在确定进行该项目设计时,首先应该根据问题的描述进一步进行需求分析,确定系统的目的。若对某些功能需求不清楚,可以通过调研、访谈与实地考查的方式进一步明确项目需求,并以文档的形式写出需求分析报告,有关需求分析报告的样例可参阅相关标准。需求分析要求全体组员共同参与。功能需求:10.2.2总体设计与详细设计10.2.2总体设计与详细设计10.2.2总体设计与详细设计10.2.2总体设计与详细设计10.2.2总体设计与详细设计在此基础上,可以完成以下工作:1、确定主要的数据及其数据结构(1)图书信息。属性名称类型长度可否为空图书编号长整型默认否图书名称字符串30否图书单价浮点型默认否图书状态整型默认否(2)用户信息。属性名称类型长度可否为空用户帐号字符串10否姓名字符串8否部门整型默认否角色整型默认否email字符串15可密码字符串6可当前借书量整型默认否总借书量整型默认否(3)图书借阅信息。属性名称类型长度可否为空用户帐号字符串10否图书编号长整型默认否借书日期自定义日期型12否应还日期自定义日期型12否实际归还日期自定义日期型12可状态整型默认否2、确定输入输出数据的内外部形式为简化设计,本例的用户信息通过键盘输入,图书信息通过文件导入。文件格式为文本文件,每行按以下格式存储一条图书记录,分别为书名和单价。C语言程序设计 28用户信息、图书信息和借书信息在内存以数组形式存储,在外存以文件形式存储。3、确定系统的界面的设计登录菜单登录界面3、确定系统的界面的设计系统管理员子系统界面图书管理员子系统界面学生用户子系统界面教师用户子系统界面4、确定主要的模块,并确定模块间接口(一)公共模块(二)系统管理员相关模块(三)图书管理员相关模块(四)学生用户角色相关模块(五)教师用户角色相关模块5、确定任务分工6、制定任务计划10.2.3编码在详细设计的基础上,可以分工完成系统编码与单元测试工作。编码时注意的问题主要有:(1)应该“有限制地使用全局变量”。使用全局变量过多,会降低程序的清晰性;降低函数的通用性;滥用全局变量会造成程序的混乱。(2)合理地对进行变量和函数命名,当程序规模变得较为复杂时,合适的变量与模块名称有利于理解函数功能,从而整体把握系统逻辑结构。(3)在编写大型程序时,要善于利用已有的函数,以减少重复编写程序段的工作量,因此函数的接口设计非常重要。(4)表达式和语句采用一致的缩进风格,尽量不用复杂的表达式,注意一些具有副作用的运算符。为增加程序的可读性,应该给函数和关键性变量和代码加注释。(5)编码阶段完成的功能模块要经过严格的单元测试,确保其正确性。10.2.3编码10.2.4测试与运行效果修改密码模块运行效果
图书查询运行界面
输入程序设计后查询结果续借模块运行效果还书模块运行效果课程设计的实施
建议与选题设计10.310.3课程设计的实施建议与选题设计课程设计是大型综合性程序设计实验,它不仅是对程序设计能力的综合锻炼,更是对团队合作、软件开发与项目管理过程的训练。要求以团队合作形式,根据选题难度,每组2-3人,确定小组长及每个人的分工,并制定项目开发进度表。要按照软件的开发过程进行。分以下几个阶段进行:需求分析、系统设计、系统编码实现、系统测试、系统评价与验收。递交的报告:“设计文档”及“总结报告”。前者的内容主要包括问题分析的陈述和系统初步设计的方案,以及可能的难点问题与关键技术等;后者是对整个开发进行全面的总结,内容包括系统功能说明、使用说明、程序结构说明、系统设计难点及解决方法、小组人员工作分工情况等。10.3课程设计的实施建议与选题设计建议组织学生进行项目汇报,展示设计的思想及成果。评价标准:从四个方面考核一组课程设计的成绩:文档及程序风格(20%)、界面设计及操作方便性(20%)、功能完成情况及编程工作量(40%)、编程难度和程序亮点(20%)。若选题新颖,可以适当加分。10.3课程设计的实施建议与选题设计10.3.2课程设计选题设计自选课程设计题,要求分以下几个阶段进行课程设计:需求分析、系统设计、系统编码实现、系统测试、系统评价与验收,并撰写课程设计报告。学习本章后应达到以下要求:(1)了解软件工程生命周期各阶段的主要任务
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年索县带编教师招聘考试参考题库及答案解析
- 2026年东海县带编教师招聘笔试模拟试题及答案解析
- 2026年宜良县带编教师招聘考试参考题库及答案解析
- 衡阳市2027年中考数学模拟试题(含答案解析)
- 2026年秦安县带编教师招聘考试备考试题及答案解析
- 西南财经大学2020-2021学年第2学期金融学《管理学概论》考试试卷(A卷)及参考答案
- 2026年政和县带编教师招聘笔试参考题库及答案解析
- 2026年镇沅彝族哈尼族拉祜族自治县带编教师招聘考试备考试题及答案解析
- 2026年全南县带编教师招聘笔试参考题库及答案解析
- 2026年建昌县带编教师招聘考试模拟试题及答案解析
- 2024版INS指南解读-PICC导管的维护
- 智慧医疗分级评价方法及标准(2025版)(征求意见稿)
- 麻醉病人的并发症处理与护理
- 曼巴精神:科比自传的核心启示
- 肩颈专业知识话术
- (新教材)2026年人教版二年级上册数学 第2课时 分类与整 理(2) 课件
- 诗经中的陇东古方国课件
- 2025安徽国控集团所属企业招聘1人参考笔试题库及答案解析
- 2025四川绵阳市绵投置地有限公司招聘成本管理岗位拟录用人员笔试历年典型考点题库附带答案详解2套试卷
- 楼长寝室长培训
- 精神科用药错误应急措施
评论
0/150
提交评论