Linux课程设计指导书

  • 格式:doc
  • 大小:60.00 KB
  • 文档页数:8

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.阅读示例代码,理解通信过程,掌握利用套接字编写通信程序的方法。

2.在充分理解示例程序的基础上,重新定义和完善程序的功能,定义数据结构,划分程序的功能模块和接口,明确小组内每位成员应该
负责的模块。

3.在组长的指导和协调下,完成程序的详细设计和编码,并测试。

4.书写并提交文档。

六、教材及参考文献
1、Linux 网络编程. 宋敬彬等编著. 清华大学出版社. 2010年1月
2、操作系统原理、技术与编程(Linux篇). 蒋静,徐志伟著. 2004年1月
3、Linux应用实例与技巧姚继锋等著机械工业出版社2001年9月
4、深入理解Linux内核陈莉君等译中国电力出版社2001年10月
5、Linux网络编程技术天雨创作室编著人民邮电出版社2001年11月
6、Red Hat Linux 9网络服务梁如军等编著机械工业出版社2004年1月
七、实验环境
安装有Linux发行版(rad hat linux)的PC,以及支持TCP/IP的网络环境。

八、成绩考核
1、原则上6人为一开发小组,每一小组选拔1到2名成绩较好、能力较强的同学担任组长(主程序员),组长负责整个程序的架构设计及模块功能划分,组员在
组长的指导和监管下完成相关功能模块的设计和开发。

2、成绩的评定以一小组为单位展开,主要依据课程设计应用系统程序(占总成绩50%),课程设计实验报告(占总成绩50%)。

3、程序包括基本功能和扩展功能。

基本功能实现Linux文本界面下的多人网上聊天,如果没有实现基本功能则直接判定成绩不合格。

附加功能包括包括客户端
图形界面,Mysql数据库访问,好友及黑名单的划分,消息的群发功能,离线消息,图片、文件等的发送,好友上线和离线通知等,这些功能在不同小组的系统实现中可以自由选择,不同小组也可以定义和实现具有自己特点的其他功能,这些功能将从技术复杂性、功能实现完善与否等方面综合评分。

除此之外,程序是否有大的缺陷,代码的健壮性、可读性、安全性、效率等方面同样是考察的一个主要方面。

4、课程设计实验报告要符合软件工程的规范,可以遵从传统软件工程方法也可以依据面向对象的方法或敏捷方法的规范来撰写。

实验报告中每一个同学都应完
成自己设计与实现的程序功能的那一部分,最后由组长统稿。

5、原则上小组组长的成绩即为小组的成绩,小组中其他组员的成绩不得高于小组成绩,其成绩主要由小组长评定,并辅以教师抽查以最后确认。

九. 实验报告撰写规范
[封面]
Linux操作系统与程序设计
课程设计报告书
报告人:
张飞一软件工程 0690000001
张飞二软件工程 0690000001
张飞三软件工程 0690000001
张飞四软件工程 0690000001
张飞五软件工程 0690000001
张飞六软件工程 0690000001
2009.6.30
1、实验项目目的

2、实验项目的功能及模块划分
本实验是一个Linux下的网络即时通信工具…,[描述功能]。

3、实验项目的人员组成及指责划分
张飞一:组长,系统分析、整体设计和模块划分。

张飞二:通信模块设计和编码。

张飞三:服务器设计和编码。

张飞四:客户端界面设计和编码。

张飞五:数据库访问或文件操作的设计和编码。

张飞五:文档维护和测试。

4、设计与实现
4.1 系统结构
4.1.1
4.2 客户端界面
4.2.1 注册
4.2.2 登录
4.2.3 界面设计
……
4.3服务器的实现
4.3.1 用户登录
4.3.2 转发聊天消息
…….
4.4 数据库访问或文件操作
4.4.1 …
……
4.5 通信模块的实现
4.5.1 通信方式的选择
……
5、测试与调试
[举例说明]
6、总结
附录:程序代码。