当前位置:文档之家› 《软件开发技术基础》(56 学时) 实验教学大纲(修订稿).

《软件开发技术基础》(56 学时) 实验教学大纲(修订稿).

《软件开发技术基础》(56学时)实验教学大纲(修订稿)(中文)软件开发技术基础课程名称(英文)Fundamentals of software developing technology 课程编号 COMP2024 开课类型必修 课程总学时 56 开课院系电信学院实验总学时 16 开设专业电气课程总学分 3.5课程类别技术基础 课程负责人赵英良第一部分 总体说明一、课程的目的、任务通过本课程的目的是通过学习和训练,加深对大学计算机基础课程的理解和认识,加强程序设计能力的训练,培养学生运用软件开发方法和技术分析问题和解决问题的能力。

本课程主要讲授在操作系统、数据库、多媒体、网络等应用环境中软件的基本开发方法及技术,以及在软件开发过程中要解决的数据结构与常用算法的实现。

通过该课程的学习,使学生掌握在上述环境中开发软件所必需的基础知识、基本开发方法和常用开发技术,为今后结合实际应用开发软件打下必要的基础。

二、课程的教学要求1.了解和掌握现代软件工程的基本理论、软件开发方法和技术2.了解和掌握经典数据结构的基本内容及常用算法3.了解和掌握操作系统的主要管理功能及其操作系统相关程序设计方法4.了解和掌握与数据库应用有关的基本理论、开发方法和技术5.了解和掌握在网络环境下软件开发的基本方法和技术6.了解和掌握在多媒体应用中涉及到的基本理论、程序设计方法和技术三、教学方法、教学形式、教学手段的特色1. 理论与实践相结合:理论讲授约占70%,课内实践占30%;2. 多媒体与板书相结合:一般内容使用多媒体课件教学,增加课堂容量;个别问题使用板书教学,使学生能跟上课堂进度。

3. 课内与课外相结合:课内必做实验16学时,另在课外以小组为单位完成一个小的软件项目;4. 面授与网络相结合:除面授、当面答疑、课内实验辅导外,课程网站提供丰富的教学资源,可以自学,还可以网上答疑,网上提交作业;四、教学内容序号 实验项目名称 学时实验类型每组人数 实验要求1 实验1 利用顺序表实现学生信息管理2 综合 1 必做2 实验2 利用单链表实现学生信息管理 2 综合 1 必做3 实验3 二叉树的生成和遍历 2 基本 1 必做4 实验4 Windows常用系统命令的编程 2 基本 1 必做5 实验5 数据库的建立和操作 2 基本 1 必做6 实验6 数据库基础编程 4 综合 1 必做7 实验7 消息回声 2 基本 1 必做课外实验:以3-5人的小组为单位,完成一个小的软件项目,要求有软件开发文档,时间为12周,具体题目可参考网上提供的“开放创新实验推荐项目”,也可自己选择,但须经任课教师审核。

五、考核方式与评价结构比例学生做完实验应提交实验报告。

教师根据实验报告进行5级评分:(1)按要求提交文档,且格式规范(1分)(2)原理、框图、叙述正确(1分)(3)程序正确,代码清晰,有必要的输入和输出(2分)(4)有诚挚的实验总结(1分)六、教材和参考书1、编选教材的原则与本大纲要求相适应,内容叙述清晰易懂,例题、习题丰富,有配套的实验指导。

2、教材软件开发技术基础·赵英良,仇国巍等·机械工业出版社·2006.2。

3、参考书(1)计算机软件技术基础(第2版) ·麦中凡,吕庆中等·高等教育出版社,2003 (2)大学计算机软件技术基础教程·谭浩强主编·科学出版社·2000(3)计算机软件技术基础·庞丽萍·华中理工大学出版社·2001第二部分 实验内容实验1 利用顺序表实现学生信息管理1、实验目的(1)掌握顺序表结构的实现方式;(2)掌握顺序表常用算法的实现;(3)熟悉利用顺序表解决问题的一般思路;(4)领会顺序表结构的优点与不足。

2、实验内容以学生信息为数据元素建立顺序表。

一个学生的信息包括学号、姓名、性别、班级和联系电话。

程序用户可通过数字键选择信息浏览、插入信息、删除信息等功能。

对程序的具体要求如下:(1)程序启动后,显示下列选项信息:1—信息浏览2—插入信息3—删除信息0—退出程序(2)输入数字“1”显示所有学生信息列表。

(3)输入数字“2”进入插入信息功能模块。

程序依次提示并由用户输入学号、姓名、性别、班级和联系电话,最终实现在线性表头部插入一个学生信息。

(4)输入数字“3”进入删除信息功能模块。

程序提示并由用户输入学号,最终实现按照学号删除某个学生信息。

(5)通过输入数字“0”使得程序结束。

(6)当用户执行浏览、插入、删除功能后,程序应继续提示用户通过数字键选择相应功能,直到用户输入数字“0”程序才结束。

(7)程序最多可管理20个学生信息,插入和删除功能应能正确处理数据超界情形。

3、实验环境本实验通过C++语言实现,实验环境可以选择以下两种之一。

(1)微软公司开发的基于Windows系统的集成开发环境,包括Visual C++ 6.0、Visual C++.Net。

其中后者包含于Visual 系统中。

本章的例子和实验都不需要使用可视化编程,因此只需要利用上面的开发工具建立基于控制台的Win32程序即可,程序最终将在一个模拟的Dos环境中执行。

(2)基于Windows的标准C++集成开发系统。

这类开发软件具有编辑、编译和调试标准C++程序的能力,一般不具有快速开发可视化界面的能力。

其典型代表是Quincy系统,它的编译器采用的是流行的GCC编译系统。

Quincy系统网址为/ quincy.html。

4、实验过程(1)可仿照本章顺序表的定义形式和例题,建立学生信息结点数据,并进一步建立一个长度为20的顺序表。

(2)参考本章中顺序表的算法描述和例题中的算法实现,在本程序中增加顺序表的插入、删除等算法实现函数。

(3)编写主函数,通过在while循环结构中嵌入switch分支结构实现操作选择功能。

(4)完善插入、删除功能。

实现插入信息的录入、删除记录的定位等细节。

(5)完善用户操作界面,给出详细的操作提示。

实验2 利用单链表实现学生信息管理1、实验目的(1)掌握单链表结构的实现方式;(2)掌握单链表常用算法的实现;(3)熟悉利用单链表解决问题的一般思路;(4)了解单链表结构的优点与不足。

以学生信息为数据结点建立带头结点的单链表。

一个结点的信息包括学号、姓名、性别、班级和联系电话。

程序用户可通过数字键选择信息浏览、插入信息、删除信息等功能。

对程序的具体要求与实验2-1的要求(1)~(6)相同。

3、实验环境本实验使用的编程环境与实验2-1相同。

4、实验过程(1)可仿照本章单链表的定义形式和例题,建立学生信息结点数据,并进一步建立一个空的单链表。

(2)参考本章中单链表的算法描述和例题中的算法实现,在本程序中增加信息浏览、插入结点、删除结点的算法实现函数。

(3)编写主函数,通过在while循环结构中嵌入switch分支结构实现操作选择功能。

(4)完善插入、删除功能。

实现插入信息的录入、删除记录的定位等细节。

并完善用户操作界面,给出详细的操作提示。

实验3 二叉树的生成和遍历1、实验目的(1)熟悉二叉树结点的定义和生成方式;(2)熟悉二叉树链式结构的生成方式;(3)掌握二叉树遍历算法的实现;2、实验内容用一个特定的序列表示一颗普通二叉树,在程序中读取二叉树序列并转化为二叉链表形式,最后按先序、中序、后序方式遍历二叉树并输出结果。

对程序的具体要求如下:(1)二叉树序列满足下面要求:二叉树结点数据为A~Z中任意一个字母,#表示扩充为完全二叉树时附加的虚拟结点,$表示二叉树序列结束。

例如,图1中的二叉树序列为A B # # C $。

(2)程序读入用户输入的二叉树序列,字符间用空格分开。

(3)程序应能处理深度为4的二叉树。

(4)程序应能判定输入序列的合理性。

(5)按先序、中序、后序方式遍历二叉树并输出结果序列。

本实验使用的编程环境与实验2-1相同。

4、实验过程二叉树生成算法是本实验难点。

因为当生成第i 个结点后,需要找到第[i/2]个结点的指针才能将新结点与双亲结点链起来。

一种可行方案是将二叉树对应的完全二叉树各结点指针保存在一个数组内,对于附加结点指针设为空。

这样就可通过指针数组下标算出新结点的双亲结点指针。

下面给出二叉树生成算法的伪代码,供读者参考。

BinTreeNode* create() {BinTreeNode* q[50]; //定义结点指针数组,存放完全二叉树结点指针 BinTreeNode* s, root; //定义结点指针s 、根结点指针root; char ch; 设计数器i 初值为1; 读取用户输入交给ch;while(ch!='$') // 输入值为$'号,算法结束 {while(ch =='#') // 跳过#值{ 计数器i 加1;将NULL 保存在q[i]中; //附加结点指针为空 读取ch ; }生成新结点s ,设初值并且将ch 传给s->data; if(i ==1) s 就是根指针root; else if( s 有效 && q[i/2]不空) { if(i 为偶数) s 为双亲q[i/2]的左孩子; else s 为双亲q[i/2]的右孩子; // i 为奇数} 将s 保存在q[i]中;计数器i 加1; }返回root 值;}利用上述算法可生成二叉树,并得到根结点指针root 。

于是可进一步进行各种遍历运算。

实验4 Windows常用系统命令的编程1、实验目的(1)熟悉Windows操作系统提供的几个常用命令的使用。

(2)将几个常用命令集成在一个程序中。

2、实验内容(1)使用winmsd命令得到系统信息。

(2)使用mem命令显示内存使用情况。

(3)使用explorer命令打开资源管理器。

(4)使用taskmgr命令打开任务管理器。

(5)使用control命令打开控制面板。

(6)设计程序菜单,输入菜单编号,通过在程序中使用ShellExecute函数调用这些命令。

3、实验环境(1)采用VC++和Win32 Console Application框架程序结构。

(2)ShellExecute函数的格式请参看例3-14的说明。

4、实验过程(1)抓取以上几个命令执行后的结果图。

(2)提供完整程序(包括文档说明、执行程序、源程序和资源等)。

实验5 数据库的建立和操作1、实验目的(1)掌握SQL Server的基本操作。

(2)掌握基本的SQL语句。

2、实验内容(1)在企业管理器中建立数据库。

(2)在查询分析器中执行SQL语句。

3、实验环境SQL Server 20004、实验过程(1)建立一个商店数据库,记录顾客、商品及其购物情况,由下面三个表组成: 商品(商品号,商品名,单价,商品类别,供应商);顾客(顾客号,姓名,住址);购买(顾客号,商品号,购买数量);要求使用企业管理器完成;声明每个表的主外码;顾客的姓名和商品名不能为空值。

相关主题