C语言程序设计案例教程(程立倩 主编)课本练习答案 模块二

C语言程序设计案例教程(程立倩 主编)课本练习答案 模块二

《C语言程序设计案例教程》

课后部分习题答案

模块2 C程序数据描述与计算

一、选择题

1.B

2.A

3.D

4.C

5.D

6.A

7.B

8.A

9.C 10.D

二、填空题

1.0 2. 3.6 3. 关键字用户标识符4. 2.5 5. 4 6.地址7. 7.5

8. 0 9. 32767 -32768 10.将10赋给变量x,同时表达式的值也是10。

三、改错题

略。

四、编程题

1.设长方形的高为

2.5,宽为1.6,编程求该长方形的周长和面积。

#include

main()

{

float x=2.5,y=1.6,p,s;

p=2*x+2*y;

s=x*y;

printf(“长为%f, 宽为%f 的长方形,周长为%f,面积为%f\n”,x,y,p,s);

}

2.编写程序,求下面表达式的值。

(float)(a+b)/2+sqrt(a)-(int)(y-x),设a=2 ,b=3,x=3.5,y=2.6

#include

#include

main()

{

float x=3.5,y=2.6,a=2,b=3,s;

s=(float)(a+b)/2+sqrt(a)-(int)(y-x);

printf(“s=%f\n”,s);

}

3.编写一个程序,将小写字母a转换为大写字母A。

#include

main()

{

char ch1=’a’,ch2;

ch2=ch1-32;

printf(“ch1=%c,ch2=%c\n”,ch1,ch2);

}

c语言课程设计成绩记录簿

合肥学院 计算机科学与技术系 课程设计报告 2012~2013学年第二学期 课程面向过程综合设计 课程设计名称C语言成绩簿 学生姓名 学号 专业班级 指导教师 2013年6月

第一章需求分析 1.1 任务要求: 编制一个C语言成绩记录簿,每个学生信息包括:学号、姓名、C语言成绩。具体功能:(1)创建信息链表并以磁盘文件保存; (2)读取磁盘文件并显示输出所有学生的成绩; (3)按学号或姓名查询成绩; (4)添加成绩记录; (5)修改指定姓名或学号的学生的成绩并可存盘; (6)显示输出60分以下、60~79、80~89、90分以上各分数段的学生信息(可选项)。 1.2任务问题: 如何运用我们已学的c语言知识完成要求?如何制作相应界面?switch的应用该如何实现?如何完成相应的数组或链表的实现与应用?怎样进行相应的文件的读写? 1.3任务的解决步骤: 步骤: 1.建立一个主界面。 2.用switch语句进行分类讨论。 3.分别进入录入,查询,修改,学生分数段统计等子函数。 4.将子函数与主函数相连即可。

第二章算法设计 1、设计思想 2.1 程序结构(流程图)

2.2 重要的数据结构

2.3主要算法思想(文字描述) 本程序是非数值计算型算法设计,我设计出了通讯录管理系统的基本功能,并设计了简单的界面。本程序主要考察对自定义函数的熟悉程度,本程序主要使用的是链表的相关操作,包括结构体链表的创建、输入、输出、查找、修改等。我设计的这个通讯录系统也初步实现了人员信息的显示、修改、查找、等必要的功能,并通过子函数与主函数相连来完成相应的功能。 2.设计表示 int Student_Insert( ); (添加学生成绩) void edit( ); (修改) void Student_Search( );(查找) void WriteFile( ); (写入文件) void ReadFile( ); (读取文件) void Student_Select( );(分数段选择) void PrintMark( );(打印学生分数) void NameChange( );(按姓名修改) void NumberChange( );(按学号修改) 3.实现注释 除了没有用链表进行实验的缺点外,基本可以实现任务要求,界面简洁,程序简单,易操作。 4.算法设计中一些新的想法: 本程序主要包含了结构体与动态变量的相关知识; 其中也多次用到了循环和判断结构; 本程序还可以通过子函数实现删除,排序等操作。用链表,指针也可以实现相应的任务要求。

软件工程课程设计报告——人事管理系统

软件工程课程设计 题目人事管理系统 系计算机系 专业班级软件工程(动画方向)(2)班 学生姓名贾秋洪 学号20082358069 指导教师姜青山 2010 年6 月18 日 1.课程题目 人事管理系统设计 2.概述 2.1本课题的来源 A公司是一家以寿险营销为目的的寿险公司,公司员工众多业务流量大,为了方便管理,我制作了一个人事管理系统。主要

通过员工基本信息录入、修改、查询、删除以及员工考勤等方面来对员工综合考评。以便对员工发放工资进行合理分配。这样能提高领导的人事管理水平还能提高员工的积极性。通过现代计算机技术与企业管理相结合,实现人事管理系统的科学化、信息化、现代化,并且适合一般人群使用。 企业人事管理是相对企业内部员工的管理。集人员、考勤、工资、员工培训、系统功能等于一体的大型管理系统,为公司在人事管理等方面提供极大的方便。本软件是以中小型企业为背景而设计开发的,界面美观、使用方便。本系统主要以人员管理、考勤管理、统计分析管理、工资核算等,是企业人事管理必不可缺的好帮手。 2.2本课题目的、实现功能与预期成果 2.2.1目的 目前市面上流行的人事管理系统不少。但是,对于A公司来说,不需要大型的数据库系统。只需要一个操作方便,功能实用,能满足本中心对数据的管理及需求的系统。我们的目标就是在于开发一个功能实用、操作方便,简单明了的人事管理系统。 2.2.2实现功能 能够录入人事的基本资料,在操作上能够完成诸如添加、修改、删除、按各种条件进行查询、新用户的设置及密码修改等方

面的工作,基本满足人事日常业务的需要。 2.2.3预期成果 所做出的人事管理系统能让A公司管理层在操作简单的前提下并有效的提高对该公司的人事管理,并通过该系统提高员工的能力。尽量使本系统做到是一个科学化、信息化、简单使用的人事管理系统。 3.系统分析 3.1系统调研 正式开发管理信息系统之前进行调研是非常必要的,必要对现行系统进行详细的调查,明确用户需求,保证开发的新系统的功能与用户的要求相吻合,避免耗费大量的人力、物力、财力,新系统的开发却失败的悲剧发生。 3.2可行性分析概述 可行性分析是在A公司的要求和系统调研的基础上进行的,对新系统的开发从社会、技术、经济、管理等方面进行分析,并得出新系统的开发工作可行、不可行、需要修改、追加投资、暂缓开发、分步实施等方案和结论,最后完成可行性分析。 可行性分析一般可定义为:可行性分析是在建设的前期对工程项目的一种考察和鉴定,对拟议中的项目进行全面与综合的技术、经济能力的调查,判断它是否可行。 可行性分析阶段的主要工作包括以下几个方面:

软件工程案例教程李军国主编复习题答案

第1章习题答案 一、判断题 二、填空题 三、简答题 1.软件的特点: ①软件具有抽象性。 ②软件与硬件的生产方式不同。 ③软件与硬件的维护方式不同。 ④软件具有复杂的逻辑性。 ⑤软件的成本较高。 ⑥软件的使用和社会因素有关。 2.软件危机产生的原因: ①用户需求不明确。 ②缺乏正确的理论指导。 ③软件开发规模越来越大。 ④软件开发复杂度越来越高。

3.软件危机的主要表现: ①软件开发进度难以预测。 ②软件开发成本难以控制。 ③用户对产品功能难以满足。 ④软件产品质量无法保证。 ⑤软件产品难以维护。 ⑥软件缺少适当的文档资料。 4.软件工程学的基本原则有哪些: ①抽象。 ②信息隐蔽。 ③模块化。 ④局部化。 ⑤确定性。 ⑥一致性。 ⑦完备性。 ⑧可验证性。 5 什么是软件的生命周期? 答案:软件与任何一个事物一样,有它的孕育、诞生、成长、成熟、衰亡的生存过程。 这就是软件的生存周期。 6 软件工程过程有哪几个基本过程活动?试说明之。 答案:软件工程过程的基本过程活动有4步: ①软件规格说明(需求定义)。规定软件的功能及其运行的限制; ②软件设计与开发(设计开发)。产生满足规格说明的软件; ③软件确认(测试)。确认软件能够完成客户提出的要求; ④软件演进(维护)。为满足客户的变更要求,软件必须在使用的过程中演进。 四、综合题 1.详细说明软件生命周期分哪几个阶段? 答案:软件生命周期主要分为6个阶段:软件项目计划、软件需求分析和定义、软 件设计、程序编码、软件测试,以及运行维护。 (1)软件项目计划:在这一步要确定软件工作围,进行软件风险分析,预计软件

开发所需要的资源,建立成本与进度的估算。根据有关成本与进度的限制分 析项目的可行性。 (2)软件需求分析和定义:在这一步详细定义分配给软件的系统元素。可以用以 下两种方式中的一种对需求进行分析和定义。一种是正式的信息域分析,可 用于建立信息流和信息结构的模型,然后逐渐扩充这些模型成为软件的规格 说明。另一种是软件原型化方法,即建立软件原型,并由用户进行评价,从 而确定软件需求。 (3)软件设计:软件的设计过程分两步走。第一步进行概要设计,以结构设计和 数据设计开始,建立程序的模块结构,定义接口并建立数据结构。此外,要 使用一些设计准则来判断软件的质量。第二步做详细设计,考虑设计每一个 模块部件的过程描述。经过评审后,把每一个加细的过程性描述加到设计规 格说明中去。 (4)程序编码:在设计完成之后,用一种适当的程序设计语言或CASE工具生成源 程序。应当就风格及清晰性对代码进行评审,而且反过来应能直接追溯到详 细设计描述。 (5)软件测试:单元测试检查每一单独的模块部件的功能和性能。组装测试提供 了构造软件模块结构的手段,同时测试其功能和接口。确认测试检查所有的 需否都得到满足。在每一个测试步骤之后,要进行调试,以诊断和纠正软件 的故障。 (6)软件维护:为改正错误,适应环境变化及功能增强而进行的一系列修改活动。 与软件维护相关联的那些任务依赖于所要实施的维护的类型。 2.试论述瀑布模型软件开发方法的基本过程。 答案:瀑布模型规定了各项软件工程活动,包括:制定软件项目计划,进行需求分 析和定义,软件设计,程序编码,测试及运行维护。并且规定了它们自上而下,相 互衔接的固定次序,如同瀑布流水,逐级下落。然而软件开发的实践表明,上述各 项活动之间并非完全是自上而下,呈线性图式。实际情况是,每项开发活动均应具 有以下特征: (1)从上一项活动接受本项活动的工作对象,做为输入; (2)利用这一输入实施本项活动应完成的容; (3)给出本项活动的工作成果,做为输出传给下一项活动; (4)对本项活动实施的工作进行评审。若其工作得到确认,则继续进行下一项 活动,否则返回前项,甚至更前项的活动进行返工。

C语言课程设计报告范例

学院C语言课程设计报告 课程名称: C语言课程设计课程编号: 报告题目 学生姓名学号 专业任课教师 成绩评阅日期

C语言课程设计报告 一、 C语言课程设计的目的 C语言的教学是学生根据课堂讲授内容,学生做相应的自主练习,消化课堂所讲解的内容;通过调试典型例题或习题积累调试C程序的经验;通过完成辅导教材中的编程题,逐渐培养学生的编程能力、用计算机解决实际问题的能力。具体来说: 1.进一步掌握和利用C语言进行程设计的能力; 2、进一步理解和运用结构化程设计的思想和方法; 3、初步掌握开发一个小型实用系统的基本方法; 4、学会调试一个较长程序的基本方法; 5、学会利用流程图或N-S图表示算法; 6、掌握书写程设计开发文档的能力(书写课程设计报告); 二、课程设计报告正文 (1)课程设计题目的原文; 假定民航机场共有n个航班:航班号、起始站、终点站、飞机号、飞机时间、乘员定额、余票量。试设计一民航订票系统,使之能提供下列服务: 航班信息录入功能(文件保存) 完成航班信息浏览功能; 查询航线(至少一种查询方式)。 (2)题目的分析(需求分析); 任务:通过此系统可以实现如下功能: 录入:可以录入航班情况(数据可以存储在一个数据文件中) 浏览:航班信息浏览功能需要提供显示操作; 查询:可提供按照航班号、起点站、终点站、飞行时间、查询,可以查询某个航线的情况(如,输入航班号,起飞抵达城市,确定航班是否满仓);另外 要提供键盘式选择菜单以实现功能选择。 要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能。

可以建立航班结构体,结构体成员包括航班号、起点站、终点站、飞行时间、 预售票总数、已售票数。 (3)整体设计与模块划分; 根据需求分析,该程序可分为以下四大模块: (4)代码设计; 包括——各功能模块的流程图;重要模块中关键部分的代码分析;关键函数的算法设计和分析;等等; A.主函数 (1)分析:主函数的功能比较简单,形式比较简洁,主要功能为:在系统中没有程序所要的文件时,为程序建立一个所许的文件;调用菜单函数。程序中的各模块都要用到同一个文件,如果该文件不存在,则该程序就无法正常运行,增加第一个功能就是保证文件的可用切可打开!本来只要在主函数里调用各功能模块就行了,但是为了让程序能够方便的回到主函数里,所以就建立了一个菜单函数。 菜单函数的功能是替主函数调用个功能模块函数,因而设计的基本思路很简单,即:用一个输入来接受用户的选择,加以个循环来让输入错误的用户继续输入,直到输入正确为止;用一个switch语句来选择用户所要用到的函数。 (2)程序: void menu() { int n,w; do {

软件工程课程设计报告案例

网上招聘系统分析设计

目录 第一章网上招聘系统需求规格说明书.................... - 3 - 第二章软件项目的概要设计说明书. (16) 第三章网上招聘系统详细设计 (54) 第四章软件项目的编码案例说明 (67) 第五章网上招聘系统客户端系统测试计划 (74) 第六章网上招聘系统客户端系统测试设计 (78) 第八章网上招聘系统客户端系统测试报告 (95)

第一章网上招聘系统需求规格说明书 1.导言 1.1 目的 该文档是关于用户对于网上招聘系统的功能和性能的要求,重点描述了网上招聘系统的功能需求,是概要设计阶段的重要输入。 本文档的预期读者是: ·设计人员; ·开发人员; ·项目管理人员; ·测试人员; ·用户。 1.2 围 该文档是借助于当前系统的逻辑模型导出目标系统的逻辑模型的,解决整个项目系统的“做什么”的问题。在这里,没有涉及开发技术,而主要是通过建立模型的方式来描述用户的需求,为客户、用户、开发方等不同参与方提供一个交流的平台。 1.3 编写说明 HR,Human Resource(人力资源管理)的缩写。 JSP,Java Server Page(Java服务器页面)的缩写,一个脚本化的语言。 UML,Unified Modeling Language(统模语言)的缩写,是一个标准的建模语言。 1.4 术语定义 无 1.5 引用标准 [1]《企业文档格式标准》,****************软件工程过程化组织 [2]《需求规格报告格式标准》,************软件工程过程化组织 1.6 参考资料 [1]《UML说明》,***********************软件 [2]《需求规格报告格式标准》,************公司软件工程过程化组织 1.7 版本更新信息 本文档的更新记录如表A-1所示。 表A-1 版本更新记录 修改编号修改日期修改后版本修改位置修改容概述 001 002 003 004 005 2008.9.5 2006.9.10 2006.9.15 2006.9.16 2006.10.18 0.1 0.2 0.3 0.4 1.0 全部 第3.1节 第4.1节 第5.1节 第7章 初始发布版本 增加 修改 修改 增加 2.系统定义 我们分别阐述一下项目的来源、背景,项目的用户特点和项目的目标。 2.1 项目来源及背景 本项目是为某公司开发的一个网上招聘系统,由于这个公司的规模比较大,需要招聘 的员工也很多,每次招聘总能收到成千上万的简历,如何挑选合适的应聘者常常是公司比较

软件工程案例教程答案

1.下列所述不是软件特点的是(A) A.软件是有形的 B.软件不存在磨损和消耗问题 C.软件开发成本高 D.软件没有明显的制作过程 2.软件工程的出现主要是由于(C) A.程序设计方法学的影响 B.其他工程学科的影响 C.软件危机的出现 D.计算机的发展 3.以下(C)不是软件危机的表现形式 A.开发的软件不满足用户的需要 B.开发的软件可维护性差 C.开发的软件价格便宜 D.开发的软件可靠性差 4.软件工程的目的是(C) A.建造大型的软件系统 B.开发的软件可维护性差 C.软泥吉安质量的保证 D.研究软件开发的远离 5.下列所述不是软件组成的是(D) A.程序 B.数据 C.界面 D.文档 6.下列对“计算机软件”描述正确的是(A) A.是计算机系统的组成部分 B.不能作为商品参加交易 C.是在计算机硬件设备生产过程中生产出来的 D.之存在语计算机系统工作时 7.软件工程的方法的产生源于软件危机,下列(D)是产生软件危机的内在原因 A.软件的复杂性 B.软件维护困难C软件成本太高. D.软件质量难保证 8.软件工程方法的提出源于软件危机,其目的应该是最终解决软件的(D)问题 A.软件危机 B.质量保证 C.开发效率 D.生产工程化 9.软件工程学中除重视软件开发的研究外,另以重要组成内容是软件的(A)和过程改进 A.项目管理 B.成本核算 C.人员培训 D.工具开发 10.软件工程设计软件开发技术和项目管理等方面内容,下述内容中(D)不属于开发技术的范畴 A.软件开发方法 B.软件开发工具 C.软件工程环境 D.软件工程经济 二、填空题 1.软件工程的目的是成功的建造大型的软件系统,主要内容是开打软件开发技术、软件项目管理和软件质量管理。 2.螺旋式开发模型主要是针对风险比较大的项目而设计的 3.由于软件产生的复杂性和高成本,使大型软件产生出了很多问题,即出现软件危机,软件工程正是为了克服它而提出的一种概念及相关方法和技术。 4.增量模型假设需求可以分段,成为一系列增量产品,每一增量可以分别开发。 5.喷泉模型比较适合用于面向对象的开发方法。 三、判断题 1.软件开发方法的主要目的是克服软件手工生产带来的问题,使软件开发能进入工程化和规范化的环境(Y) 2.软件工程的提出起源于软件危机,其目的书最终解决软件的生产工程化(Y) 3.软件工程改进也是软件工程的范畴(Y)

C语言课程设计报告电子生词库软件

程序设计基础实训任务书 题目:电子生词库软件 学生姓名:学号:班级: 题目类型:软件工程(R)指导教师: 一、设计目的 1.进一步掌握和利用C语言进行程序设计的能力; 2.进一步理解和运用结构化程序设计的思想和方法; 3.初步掌握开发一个小型实用系统的基本方法; 4.学会调试一个较长程序的基本方法; 5.学会利用流程图或N-S图表示算法; 6.掌握书写实训开发文档的能力(书写实训报告); 二、设计任务及内容 根据需要,建立属于自己的生词库,这样使用起来很方便。生词选自本人经常需要的单词,对于英文单词,给出中文含义,对于中文单词给出英文含义。功能要求: (1)创建生词库。用文件建立一个单词库,中英文单词均有,对于英文单词,给出中文含义,对于中文单词给出英文含义。 (2)显示词库。显示所有单词和单词数、所有中文单词和单词数、所有英文单词和单词数,显示英文单词时按字母从小到大顺序排列。

(3)编辑词库。首先确认密码后允许添加新词、删除旧词和修改旧词。 (4)查找生词。显示所要查找的单词其及含义 主菜单和子菜单能够循环出现,每一项菜单执行之后,询问用户是否继续进行。从子菜单可以返回主菜单。 三、设计要求 1.用C语言实现系统; 2.系统具有统计、查询、排序等基本功能; 3.系统的各个功能模块要求用函数的形式实现; 4.文档:实训说明书每个学生一份,并装在统一的资料盒中; 5.光盘:每个学生文档和程序资料分别建在一个以自己学号和姓名命名的文件夹下,并要求每班负责人汇总每个学生的文件放在以班级姓名命名的文件夹下,刻录成一张光盘,放在一个专门的资料袋中。 四、提交的成果 1. 设计任务书一份(学校统一格式) 2. 设计说明书一份,内容包括: 1) 中文摘要100字,关键词3-5个。 2) 实训题目、内容、要求。 3)总体设计(包含几大功能模块)。 4)详细设计(各功能模块的具体实现算法——流程图) 5)数据结构设计描述,各模块(函数)的功能介绍,参数说明等。

软件工程课程设计方案报告范例

西安科技大学 软件工程课程设计报告 题目:图书馆管理系统 班级:软件工程** 学号: ********** 姓名: ******* 2013年1月

目录 1绪论 (1) 2 可行性研究报告 (1) 3 需求规格说明书 (4) 4 总体设计说明书 (7) 5 数据库设计说明书 (8) 6 详细设计说明书 (9) 7 系统实现 (11) 8测试分析报告 (23) 参考文献

1.绪论 1.1 选题目的及意义 随着计算机技术的快速发展,人们对用计算机代替手工管理信息的需求越来越强烈,越来越多的计算机软件如雨后春笋般的应用于人们生产生活的各个领域,为人们提供各种各样的便利。本图书馆管理系统应用软件可以有效地解决高等院校、中小学图书馆由于藏书量增大而带来的管理问题,图书馆管理员可以更好地管理学校图书馆藏书信息,学生可以更方便地享受借书还书的服务,为更有效地学习知识提供有利的保证。 对于我来说,选择这个题目作为课程设计的题目有以下两个原因:一是因为自从上大学以来,每当在图书馆借书的时候,我都会留心观察一下图书馆管理员的那台计算机上显示的内容,久而久之,就对本系统的基本流程越来越了解,做好一个软件的前提是必须对这个软件的功能和原理非常熟悉,相比别的题目,我对这个题目更加了解;二是本学期通过学习Java程序设计和Oracle数据库课程,我觉得这个题目虽然没有那么难(涉及算法的内容很少),但也不是轻而易举就能完成的,所以我想挑战一下自己,看看自己的实现能力到底怎么样,因此决定用面向对象方法学的思想,前台用Java程序设计语言编写界面,访问Oracle数据库中的数据,完成本系统。 1.2 系统概述 本系统通过JDBC-ODBC桥实现前后台数据的联系,基本上实现了一个图书馆管理系统所具备的基本功能,本系统把使用者分为三类:超级管理员、普通管理员、读者,对三种用户分别设计了各自的主界面,以便更好的实现信息的隐藏性,超级管理员可以进行这个系统所有操作;管理员只能执行超级管理员的基本功能,查看自己的信息;读者只能查看自己的信息,对自己当前借书进行挂失和续借两种操作,查询图书馆的藏书。 2.可行性研究报告 2.1 编写目的 本报告编写目的在于研究图书馆管理系统应用软件是否可行,指出本软件开发所使用的方法和手段,并对该软件前景进行分析。 本报告的预期读者是:高等院校、中小学图书馆管理人员、程序设计人员、以及对图书馆管理系统感兴趣的爱好者。 2.2 相关背景 工程名称:图书馆管理应用软件 工程产品名称:高校图书馆管理系统应用软件 工程的组织者:西安科技大学计算机学院软件工程系 产品用户:高校图书馆、中小学图书馆; 产品的生产者:西安科技大学计算机学院软件工程062班袁震; 产品设计者:西安科技大学计算机学院软件工程062班袁震; 2.3 可行性研究的前提 本图书管理系统在功能上要求完成以下基本功能: a).读者、管理员登陆;

c语言课程设计_菜单设计

C语言课程设计_菜单设计 调试环境为TC2.0或者3.0。运行这个程序需要tc提供的几个头文件。建议修改options菜单中的include 目录项到tc的include的目录下(具体方法可以参见本书第一章的讲解);或者把源程序拷贝到tc目录下运行。 #include #include #include #include #include /*定义一些常数*/ #define NO 0 #define YES 1 #define NONE -1 #define MAX_MENU 7/*根据情况改变可以在菜单显示的最大项*/ /*全局参数*/ int X,Y; int Selection; int button,x,y; void *p; size_t area; /*菜单结构*/ struct MENU { /*左上角*/ int x; int y; /*右下角*/ int x1; int y1; unsigned char Active[MAX_MENU];/* 菜单项是否激活的标志*/ char *head;/* 菜单的名字(可选项)*/ }; int MouseOn(struct MENU *t); void Process(); void Xorbar(int sx,int sy,int ex,int ey,int c); void Show(); void Hide(); void Status(); /* 通过下面的参数用户可以改变按钮的位置。*/ struct MENU File={200,110,250,130}; struct MENU Edit={295,110,345,130}; struct MENU Help={390,110,440,130}; struct MENU Close={600,10,620,30}; struct MENU Neeraj={380,300,460,315}; void main() { int gd = DETECT,gm;

软件工程课程设计必备指导书

《软件工程》课程设计指导书 福建农林大学 计算机与信息学院 2010年12月

软件工程课程设计指导书 一、软件工程课程设计指导书适用范围 (3) 二、课程设计基本目的 (4) 三、课程设计选题方案及备选题目 (5) 四、可采用技术简介 (5) 五、课程设计过程与具体要求 (5) 六、角色分工 (8) 七、课程设计交付说明 (10) 八、主要参考文献与网址 (10) 附录A:软件工程课程设计报告格式 (13)

一、软件工程课程设计指导书适用范围 所属课程:软件工程 所属专业:计算机科学与技术、软件工程等 领域方向:软件工程与软件开发实践、网页设计与Web应用、数据库应用与电子商务、Java/.net语言及其应用等等 参考学时:2周或以上 适用学生:学习《软件工程》课程的计算机科学与技术、软件工程等专业的本科生 先修课要求:程序设计、操作系统、数据库等

二、课程设计基本目的 1.通过本课程设计的实践及其前后的准备与总结,复习、领会、巩固和运用软件工程课堂上所学的软件开发方法和知识,比如,软件项目的完整设计与开发过程、结构化技术、快速原型法和面向对象方法等。特别是结构化分析、结构化设计、快速原型开发、面向对象分析与面向对象设计。 2.为学生适应毕业后团队合作开发规模稍大项目和综合应用本专业所学习的多门课程知识(例如,软件工程、程序设计语言、操作系统、数据库、网络编程等)创造实践机会。为学生提供主动学习(比如,对Web网页设计、ASP或ASP交互网页技术、Java 开发环境、商用数据库应用、电子商务、客户机/服务器技术、Visio与Rose软件工具等内容的学习)、积极探索与大胆创新的机会。 3.使学生通过参加小组团队的开发实践,了解项目管理、团队合作、文档编写、口头与书面表达的重要性。 4.使每个学生了解软件工具与环境对于项目开发的重要性,并且重点深入掌握好一、两种较新或较流行的软件工具或计算机应用技术、技能(比如,网页设计技术与常见工具;基于Java(ASP、PHP等)技术的Web编程;软件开发文档编制工具Office、Visio、Rose等;商用数据库Access(或SQL Server、Oracle、MySql等)设计与实现;客户机/服务器结构)。 5.通过“稍大的”富有挑战性的软件实验项目开发实践,为学生提供主动学习(比如,对Web网页设计、ASP或ASP交互网页技术、Java开发环境、商用数据库应用、电子商务、客户机/服务器技术、Visio与Rose软件工具等内容的学习)、深入实践的机会,并且通过课程设计实践中,提高学生的自学能力、书面与口头表达能力、创造能力和与团队其他成员交往和协作开发软件的能力,提高学生今后参与开发稍大规模实际软件项目和探索未知领域的能力和自信心。

软件工程案例教程

第一章 1.下列所述不是软件特点的是(A) A.软件是有形的 B.软件不存在磨损和消耗问题 C.软件开发成本高 D.软件没有明显的制作过程 2.软件工程的出现主要是由于(C) A.程序设计方法学的影响 B.其他工程学科的影响 C.软件危机的出现 D.计算机的发展 3.以下(C)不是软件危机的表现形式 A.开发的软件不满足用户的需要 B.开发的软件可维护性差 C.开发的软件价格便宜 D.开发的软件可靠性差 4.软件工程的目的是(C) A.建造大型的软件系统 B.开发的软件可维护性差 C.软泥吉安质量的保证 D.研究软件开发的远离 5.下列所述不是软件组成的是(D) A.程序 B.数据 C.界面 D.文档 6.下列对“计算机软件”描述正确的是(A) A.是计算机系统的组成部分 B.不能作为商品参加交易 C.是在计算机硬件设备生产过程中生产出来的 D.之存在语计算机系统工作时 7.软件工程的方法的产生源于软件危机,下列(D)是产生软件危机的内在原因 A.软件的复杂性 B.软件维护困难C软件成本太高. D.软件质量难保证 8.软件工程方法的提出源于软件危机,其目的应该是最终解决软件的(D)问题 A.软件危机 B.质量保证 C.开发效率 D.生产工程化 9.软件工程学中除重视软件开发的研究外,另以重要组成内容是软件的(A)和过程改进 A.项目管理 B.成本核算 C.人员培训 D.工具开发 10.软件工程设计软件开发技术和项目管理等方面内容,下述内容中(D)不属于开发技术的范畴 A.软件开发方法 B.软件开发工具 C.软件工程环境 D.软件工程经济

二、填空题 1.软件工程的目的是成功的建造大型的软件系统,主要内容是开打软件开发技术、软件项目管理和软件质量管理。 2.螺旋式开发模型主要是针对风险比较大的项目而设计的 3.由于软件产生的复杂性和高成本,使大型软件产生出了很多问题,即出现软件危机,软件工程正是为了克服它而提出的一种概念及相关方法和技术。 4.增量模型假设需求可以分段,成为一系列增量产品,每一增量可以分别开发。 5.喷泉模型比较适合用于面向对象的开发方法。 三、判断题 1.软件开发方法的主要目的是克服软件手工生产带来的问题,使软件开发能进入工程化和规范化的环境(Y) 2.软件工程的提出起源于软件危机,其目的书最终解决软件的生产工程化(Y) 3.软件工程改进也是软件工程的范畴(Y) 第二章 一、选择题 1.结构化分析方法是面向(B)的自顶向下逐步求精的分析方法。 A.目标 B.数据流C功能. D.对象 2.在进行软件设计时应该遵循的最主要的原理是(C) A.抽象B模块化. C.模块独立D信息屏蔽. 3.在结构化分析方法中,常用的描述软件功能需求的工具是(C) A.业务流程图、处理说明B软件流程图、模块说明. C.数据流程图、数据字典 D.系统流程图、程序编码

C语言课程设计图书管理系统课程设计报告

C语言课程设计 图书管理系统 Books Management System 学生姓名张朝柱 学院名称徐州工程学院学号140 班级13计转本 专业名称计算机科学与技术 指导教师李子龙 2016年5月10日

一、需求分析 为了满足图书管理的要求,通过计算机技术给图书管理人员和读者借、还书带来便利。使用c语言编写了图书管理系统。本系统主要实现图书信息管理的功能,通过此系统可对图书馆库存图书信息进行管理和维护操作。实现了图书馆内管理的一般功能,包括查询、借书、还书、添加、删除、修改图书信息等。所设计的系统以菜单方式工作,为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并且在此过程中能够尽可能的兼容用户使用过程中可能出现的异常情况。图书信息包括编号、书名、作者、数量、在库状态等。图书信息的录入和显示要求有一定的规范格式,录入的图书信息用文件形式保存,并可以对其进行浏览、查询、借阅、还书等基本操作。整个程序实现顺序表操作,对图书信息的操作逐个地进行,一个图书信息的更改不应影响其他的图书记录。 二、算法设计: 1.设计思想: 整个系统制造的而过程中,涉及了较多C语言知识点,对于不同的数据类型、程序控制结构、数据结构作以分析和总结,并结合这个课题进行综合的应用,在一定程度上做到了对所学知识融会贯通。进一步加深、巩固了所学的专业的基本理论知识,培养了综合分析问题、解决问题的能力。在设计程序时,实现了程序的模块化、结构化。在主函数中调用各种子函数,操作界面简单,易操作。 2,设计表示: (1)、整个系统除了主函数外,另外还有各种功能子函数,利用无限次循环语句while()和选择语句swithch()实现各个子函数的调用,系统根据输入的数字选项来调用相应的函数,以实现相应的功能。主要实现了图书的录入、存储、查询、借书、还书、显示库存等功能。 (2)、void Book_Entering(struct SqList &SL);这是一个录入图书信息的函数,它主要实现了顺序表的创建,并且在创建过程中从文件读取信息到顺序表中,以用于后面其他函数的操作。它引用了一个顺序表SL。其他函数调用时只需传入顺序表头即可。 (3)、int main(void);这五个函数时整个图书管理系统的全部菜单函数,Book_Entering();为系统主界面,进入时可选择进入程序和退出程序。menu1();为进入程序时显示的功能菜单,在此菜单可以选择录入、保存图书信息,也可选择进入其他子系统。Book_Inquire();此菜单为进入图书管理系统的菜单,在此可以选择添加、删除、修改图书等操作。cxmenu();为查询系统的菜单,在此可以选择按书名、编号、作者等方式进行查询图书。jhmenu();为借书还书的子菜单,在此可以选择借书还书操作。操作完成后按提示信息进行文件的保存操作。 (4)、void Book_Inquire(struct SqList &SL);这个函数为顺序表的输出函数,把顺序表的头传给函数后,可输出整个顺序表的所有信息。、

软件项目管理案例教程(第三版)课后习题答案

项目管理案例教程(第三版)习题及答案 第一章软件项目管理概述 一、填空题 1、实现项目目标的制约因素有(项目范围)、(成本)、(进度计划)、(客户满意度)等。 2、项目管理包括(启动过程组)、(计划过程组)、(执行过程组)、(控制过程组)、(收尾过程组)5个过程组。 二、判断题 1、搬家属于项目。(对) 2、项目是为了创造一个唯一的产品或提供一个唯一的服务而进行的永久性的努力。(错) 3、过程管理就是对过程进行管理,目的是要让过程能够被共享、复用,并得到持续的改进。(对) 4、项目具有临时性的特征。(对) 5、日常运作存在大量的变更管理,而项目基本保持连贯性的。(错) 6、项目开发过程中可以无限制地使用资源。(错) 三、选择题 1、下列选项中不是项目与日常运作的区别的是(C) A. 项目是以目标为导向的,日常运作是通过效率和有效性体现的。 B. 项目是通过项目经理及其团队工作完成的,而日常运作是职能式的线性管理。 C.项目需要有专业知识的人来完成,而日常运作的完成无需特定专业知识。 D.项目是一次性的,日常运作是重复性的。 2、下列选项中最能体现项目的特征(C) A.运用进度计划技巧 B.整合范围与成本 C.确定期限 D.利用网络进行跟踪 3、以下都是日常运作和项目的共同之处,除了(D) A.由人来做 B.受限于有限的资源 C.需要规划、执行和控制 D.都是重复性工作 4、项目经理的职责不包括(D) A.开发计划 B.组织实施 C.项目控制 D.提供资金 5、下列选项中属于项目的是(C) A.上课 B.社区保安 C.野餐活动 D.每天的卫生保洁 6、下列选项中正确的是(C) A.一个项目具有明确的目标而且周期不限 B.一个项目一旦确定就不会发生变更 C.每个项目都有自己的独特性 D.项目都是一次性的并由项目经理独自完成 7、(B)是为了创造一个唯一的产品或提供一个唯一的服务而进行的临时性的努力。 A.过程 B.项目 C.项目群 D.组合 8、(B)是一系列伴随着项目的进行而进行,目的是确保项目能够达到期望结果的一系列管理行为。

软件工程管理分析案例教程(第三版)课后习题-答案

第一章 二、判断题 1、搬家属于项目。(√) 2、项目是为了创造一个唯一的产品或提供一个唯一的服务而进行的永久性的努力。(×) 3、过程管理就是对过程进行管理,目的是要让过程能够被共享、复用,并得到持续的改进。(√) 4、项目具有临时性的特征。(√) 5、日常运作存在大量的变更管理,而项目基本保持连贯性的。(×) 6、项目开发过程中可以无限制地使用资源。(×) 三、选择题 1、下列选项中不是项目与日常运作的区别的是(C) A. 项目是以目标为导向的,日常运作是通过效率和有效性体现的。 B. 项目是通过项目经理及其团队工作完成的,而日常运作是职能式的线性管理。 C.项目需要有专业知识的人来完成,而日常运作的完成无需特定专业知识。 D.项目是一次性的,日常运作是重复性的。 2、下列选项中最能体现项目的特征(C) A.运用进度计划技巧 B.整合范围与成本 C.确定期限 D.利用网络进行跟踪 3、以下都是日常运作和项目的共同之处,除了(D) A.由人来做 B.受限于有限的资源 C.需要规划、执行和控制 D.都是重复性工作 4、项目经理的职责不包括(D) A.开发计划 B.组织实施 C.项目控制 D.提供资金 5、下列选项中属于项目的是(C) A.上课 B.社区保安 C.野餐活动 D.每天的卫生保洁 6、下列选项中正确的是(C) A.一个项目具有明确的目标而且周期不限 B.一个项目一旦确定就不会发生变更 C.每个项目都有自己的独特性 D.项目都是一次性的并由项目经理独自完成 7、(B)是为了创造一个唯一的产品或提供一个唯一的服务而进行的临时性的努力。 A.过程 B.项目 C.项目群 D.组合 8、(B)是一系列伴随着项目的进行而进行,目的是确保项目能够达到期望结果的一系列管理行为。 A.人力资源管理 B.项目管理 C.软件项目管理 D.需求管理 9、下列活动中不是项目的是(C) A.野餐活动 B.集体婚礼 C.上课 D.开发操作系统 10、下列选项中不是项目的特征的是(C) A.项目具有明确的目标 B.项目具有限定的周期 C.项目可以重复进行 D.项目对资源成本具有约束性 第二章 二、判断题 1、项目初始阶段甲方为软件开发方,乙方为顾客。(×) 2、项目招标对于一个项目的开发是必需的,即便项目是内部项目。(×) 3、make or buy决策中的make指的只是自主开发。(√)

C语言课程设计

课程设计任务书 课程设计题目:学生成绩管理 课程设计时间:2012年03月19日起——至 2012年03月30日止教研室主任年月日批准

一、课程设计的性质和任务 《程序设计基础课程设计》是软件工程专业的实践性教学环节之一,是《程序设计基础》课程的辅助教学过程,是软件工程专业的一门必修课。 本课程设计通过利用C语言实现一个小型的应用系统,使学生加深理解《程序设计基础》课程中的各种基本概念、理论和原理,掌握C语言的语法、语句和程序设计的思想,巩固课堂教学内容,锻炼学生编写程序和调试程序的能力,提高应用软件设计的能力,提高分析问题和解决问题的能力,培养创新和团队的意识,从而为后续课程学习、毕业设计以及将来更好地走向工作岗位打好坚实的基础。 二、课程设计的原始资料 随着计算机技术的飞速发展,计算机早已经从单纯的数值计算功能中解脱出来,利用计算机完成的功能越来越多,如信息的存储、多媒体应用、信息管理等。在现代的管理技术中,利用计算机来完成过去只能通过纸质手工管理的智能管理模式已经变得越来越广泛。 本题目就是利用计算机来完成学生成绩管理程序。 学生可查阅有关程序设计的案例资料,进一步理解结构化程序设计的模块化程序设计思想,并利用此思想,根据对程序设计课程的学习,编写一个比较完整的简单软件系统。通过本设计,可以加深理解利用传统程序设计思想开发一个软件系统的整个流程,提高分析问题、解决问题和软件设计、编程的实际动手能力。 三、课程设计的主要内容及要求; 1.认真阅读材料,掌握程序设计模块化的思想。 2.要求在设计的过程中,建立清晰的层次结构。 3、画出主要的功能结构图和主要模块的流程图。 4.完成一简单学生成绩管理程序。 5.实现学生管理。 6.实现成绩管理。

C语言课程设计及解决方案

C语言 课程设计 及解决方案 程序编写:贾朋远 学院:地学院 班级序号: 01105408

一题目要求 某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。每个销售员都将当天出售的每种产品各写一张便条交上来。每张便条包含内容: 1)销售员的代号 2)产品的代号 3)这种产品的当天的销售额 每位销售员每天可能上缴0-5张便条。假设,收集到了上个月的所有便条,编写一个处理系统,读取上个月的销售情况(自己设定),进行如下处理。 1)计算上个月每个人每种产品的销售额。 2)按销售额对销售员进行排序,输出排序结果(销售员代号) 3)统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额) 4)输出统计报表 二需求分析 可以采用结构体数组和文件系统实现。结构体成员包括销售员代号,产品代号,销售额。排序算法可以采用冒泡法或选择排序法。输出报表可在屏幕相应位置输出即可。 三总体设计 销售管理系统 1输入销售员代号,产品代号,各产品销售额 2计算相应各产品销售之和,及销售总和 3排序 4输出报表报表形式如下: 销售统计报表 产品代号销售之和 销售员代号 1 2 3 4 5 1 2 3 4 每种产品之和总和 四详细设计 1 主函数 #include #include #define max 620 int n;/*全局变量*/

main() { int input(), output1(),output2(),output3(),output4(); int arg(),mulu(); int save(); printf(" \n\n\n \t\t\t *******THE PROJECT********\n\n\n"); printf("Please input the informations :(over to 0)\n\n p_num(1~4) g_num(1~5) g_mon\n"); printf("------------------------------------------------------------------\n"); for(n=0;n

相关文档
最新文档