树形目录结构文件系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
操作系统课程设计
课程名称操作系统
题目名称树形目录结构文件系统学生学院
专业班级
学号
学生姓名
指导教师
2011 年1 月13 日
目录
一、课程设计目的 (3)
二、设计概要 (3)
三、详细设计 (3)
3.1数据结构设计 (4)
3.2程序功能模块图 (5)
3.2.1 文件管理系统主功能图示 (5)
3.2.2 用户界面管理图示 (5)
3.2.3 新建文件图示 (6)
3.2.4 复制、剪切文件图示 (6)
3.2.5 粘贴文件图示 (7)
3.2.6 删除文件图示 (7)
四、程序界面设计及运行结果分析 (8)
五、课程设计总结 (12)
六、参考文献 (12)
一、课程设计目的:
操作系统课程设计是配合操作系统课开设的专业基础必修课。本课程通过设计实现一个综合作业,培养学生程序设计的方法和技巧,提高学生编制清晰、合理、可读性好的系统程序的能力,加深对操作系统课程的理解。
二、设计概要:
(1) 运行平台: Windows系列
(2) 设计平台: Microsoft Visual Studio 2008
(3) 存储系统:XML文件
(4) 运行需求: .NET Framework 2.0版本以上
(5) 软件简介: 文件管理系统
(6) 功能简介:
A、提供用户登录注销功能
B、多用户管理,多级目录形式,文件可互相共享.
C、智能化的树形和列表界面操作(包括图标、列表以及详细显示方
式,方便的菜单,右击菜单,工具栏等)
D、模拟Windows多种实用功能
(7)本系统参照了windwos文件管理结构,实现了其大部分常用功能,采用多用户系统实现了文件夹与文件的创建,打开,读写,删除,关闭,剪切,复制,粘贴,重命名,刷新,查看,排列图标、属性设置、模糊搜索以及多用户文件共享功能。
三、详细设计:
3.1、数据结构设计:
本程序采用XML文件形式管理文件信息,XML文件适合小数据块的存储和传输,.NET为XML提供了丰富的类库,更加方便了操作使用,详细数据设计思路如下:
XML文件编码声明:
首节点:
用户设计:
两个数据段:用户名和用户密码;
XML实现:
文件夹设计:
一个数据段:文件夹名称
XML实现:
文件设计:
四个数据段:文件名称、文件保护码、文件空间和文件共享性
XML实现:File name="新建文本文件(2)" protectedcode="111" size="0" isshare="True" />文件内容
尾节点:
程序编写一个XmlHelper助手类作为XML文件和用户界面的接口,因此设计三个实体类作为传输:
用户类User.cs
文件类File.cs
文件夹类Folder.cs
《类关系图简单示例》
3.2、程序模块图示
文件系统提供的文件操作有建立文件(create)、删除文件(delete)、读取文件(read)、写入文件(write)、查询文件的属性(ask)、显示文件所有内容(type)、重命名文件(ren)、关闭文件(close)、搜索文件等。
文件系统提供的Windows图形界面对文件系统方便的操作和使用,上图为本次程序用户界面模块。
登陆文件管理系统,创建文件或者文件夹简单模块图
文件系统复制、剪切功能简单图示
文件系统粘贴图示
文件系统删除图示
四、程序界面设计及运行结果分析
用户登录界面,提供用户名选择和密码自动生成功能,用户信息验证不通过将无法登陆系统:
登陆按钮:判断用户信息
提示按钮:提示用户名和密码
主界面采用WinForm单文档/多视图结构,左边为目录树形视图,右边为文件列表视图,上方窗口则是经典的windows菜单栏:
:
详细视图:
创建文件:
点击搜索文件,可弹出下图所示搜索助手,输入文件名,可以选择在树状控件选择路径或者手动输入,任何不合法方式将会有出错提示:
点击文件属性,可以查看文件信息,也可以设置文件共享性:
丰富的右键菜单,方便又快捷:
双击文本文件可以通过专门阅读器读写操作:
五、课程设计总结
本次课程以现阶段比较流行的C#语言,采用Microsoft Visual Studio 2008作为开发工具,创建了一个基于.NET Framework平台的解决方案。
通过本次的课程设计,使我能够正确运用操作系统课程中所学的基本理论和知识,加深了对文件系统基本概念的理解,以及磁盘文件系统的文件操作。还有让我感受挺深的是对软件工程方法的应用。在这次课程设计我查询了不少相关资料,不断的发现问题、提出问题、解决问题。在对自己所编写的源程序段的纠错的过程中,使我更好的理解了操作系统中文件系统的理论知识,同时在编程时用到了模块化的设计思想,这种编程方法可以使我们的编程变的更简单,可以使我们的查错与纠错变的更方便。设计一个软件,先要做好需求分析,这一点很重要,如果没有分析好需求,到软件设计的最后,发现所做的功能不符合要求,那么一切都得重做,前面所有的努力都付诸东流,仔细画好程流程图。在编程和调试的过程中,出现了不少意想不到的问题,每个问题我都花了许多心思找解决方法,很遗憾,这个文件系统在图标排列功能存在着暂时没有解决!
总的来说通过这次的设计的学习使我学到了很多在平时的学习中学不到的很多东西,比如说.NET对于XML文件的操作和使用,怎么样使用实体类在数据源和用户界面传递数据的方法,还有就是以往不怎么重视的两个空间 ListView 和TreeView丰富多彩的使用方法得到了提升!最重要的是我对操作系统和编程产生兴趣,我想我会在这条路上继续前进下去。我相信,只要不断的严格要求自己,注意培养自己的思维能力,就一定会有更大更辉煌的发展和提高。
六、参考文献
<<操作系统>> 汤子赢著西安电子科技大学出版社
<