预览加载中,请您耐心等待几秒...
1/7
2/7
3/7
4/7
5/7
6/7
7/7

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Linux操作系统与程序设计 课程设计指导书 安徽工业大学工商学院 《Linux操作系统》课程设计指导书安徽工业大学工商学院 一、实验目的: 《Linux操作系统课程设计》是一门在课程《Linux操作系统与程序设计》后独立开设的实验课程。这一门实验课程的开设目的是为了通过学生独立完成一个基于Linux平台的较大型应用程序,巩固课堂上学到的Linux平台上的编程规范、技术和技巧,培养学生的编写较大型程序的能力和提高学生综合应用素质。 本课程设计实验主要围绕Linux平台上主流的基础技术展开,这些技术包括:Linux的进程、线程通信和同步技术;Mysql数据库访问技术;socket网络通信技术;图形界面(gnome)技术等,这些技术集中体现并应用在一个较大型程序------基于Linux的网络即时通信工具设计和开发中。我们期望通过这个较大型程序的设计与开发,培养学生从事大型软件开发的能力,加强学生作为软件开发团队的一员的协作精神和素质,并为将来毕业从事UNIX/Linux平台开发、嵌入式开发等相对高端的软件开发工作打下基础。 二、适应专业:软件工程 三、实验学时:40学时 四、实验内容及学时安排: 学生的设计和开发工作始于阅读和理解教师提供的框架程序,框架程序主要包括3个部分:Linux文本界面下的网络通信示例程序,Linux下利用C语言访问Mysql数据库的示例程序,Linux下gnome图形界面窗口示例程序。学生在理解和掌握这些示例程序中包含的技术基础之上,将这些技术融合在一个较大型程序------基于Linux的网络即时通信工具设计和开发中。要求前台基于Linux下的gnome图形环境并界面友好,后台使用Mysql数据库,网络通信利用socket技术。实验的结果不仅应提交可以运行的二进制代码和源程序还应该包括完善的程序文档和数据等软件配置说明。 序号实验名称实验内容学时数实验属性要求1源代码阅读阅读并理解示例程序,掌握相关技术6设计必做2需求分析及概要设计分析程序的功能需求,进行程序框架设计及功能模块划分6设计必做3详细设计及编码实现设计、编码并完成最终可以运行在Linux平台上运行的通信工具20设计必做4文档提交按照软件工程的规范要求,书写并提交程序的源代码、说明文档、设计文档等软件配置说明8设计必做合计40学时 五、课程设计的具体内容与要求: 阅读示例代码,理解通信过程,掌握利用套接字编写通信程序的方法。 在充分理解示例程序的基础上,重新定义和完善程序的功能,定义数据结构,划分程序的功能模块和接口,明确小组内每位成员应该负责的模块。 在组长的指导和协调下,完成程序的详细设计和编码,并测试。 书写并提交文档。 六、教材及参考文献 UNIX程序设计教程.赵克佳等编著.清华大学出版社.2001年4月 2、操作系统原理、技术与编程(Linux篇).蒋静,徐志伟著.2004年1月 3、Linux应用实例与技巧姚继锋等著机械工业出版社2001年9月 4、深入理解Linux内核陈莉君等译中国电力出版社2001年10月 5、Linux网络编程技术天雨创作室编著人民邮电出版社2001年11月 6、RedHatLinux9网络服务梁如军等编著机械工业出版社2004年1月 七、实验环境 安装有Linux发行版(Fedora或Ubuntu)的PC,以及支持TCP/IP的网络环境。 八、成绩考核 原则上5人为一开发小组,每一小组选拔1到2名成绩较好、能力较强的同学担任组长(主程序员),组长负责整个程序的架构设计及模块功能划分,组员在组长的指导和监管下完成相关功能模块的设计和开发。 成绩的评定以一小组为单位展开,主要依据课程设计应用系统程序(占总成绩50%),课程设计实验报告(占总成绩50%)。 程序包括基本功能和扩展功能。基本功能实现Linux文本界面下的多人网上聊天,如果没有实现基本功能则直接判定成绩不合格。附加功能包括包括客户端图形界面,Mysql数据库访问,好友及黑名单的划分,消息的群发功能,离线消息,图片、文件等的发送,好友上线和离线通知等,这些功能在不同小组的系统实现中可以自由选择,不同小组也可以定义和实现具有自己特点的其他功能,这些功能将从技术复杂性、功能实现完善与否等方面综合评分。除此之外,程序是否有大的缺陷,代码的健壮性、可读性、安全性、效率等方面同样是考察的一个主要方面。 课程设计实验报告要符合软件工程的规范,可以遵从传统软件工程方法也可以依据面向对象的方法或敏捷方法的规范来撰写。实验报告中每一个同学都应完成自己设计与实现的程序功能的那一部分,最后由组长统稿。 原则上小组组长的成绩即为小组的成绩,小组中其他组员的成绩不得高于小组成绩,其成绩主要由小组长评定,并辅以教师抽查以最后确认