[关闭]
@rihkddd 2014-11-16T23:41:32.000000Z 字数 1896 阅读 2655

高级软件工程作业

高软 作业


第一章 课题背景

1.1 开发目的

系统主要实现对研究生培养周期内的研究相关活动的记录、发布、检索。实现实验室内资源共享,方便导师对研究生的管理。系统主要分为信息管理,文档管理,日志。

1.2 角色分析

系统主要有三种角色:导师、学生和系统管理员。
导师可以查看学生的培养信息,审核学生的相关工作。发布公告,文章等。
学生主要完成阅读笔记,组会报告,提交论文。
系统管理员主要对系统进行修改,扩冲,配置,以及日常的维护工作等。

第二章 可行性分析

可行性分析的目的是用最小的代价在尽可能短的时间内来确定问题能否得到解决。可行性包括技术可行性、经济可行性和操作可行性三个方面,下面将从这三个方面对系统的可行性进行分析:

  1. 技术的可行性
    核心功能为文档管理,这也是实验室的核心资源,在完善的文档管理基础上可以方便的对系统进行扩展。用户在浏览器完成编辑工作,编辑器基于js技术,可以实时预览编辑结果,集合了word的所见即所得和latex易于修改,利用浏览器强大的表现能力可以基本满足用户日常文档的编辑功能。同时基于浏览器就可以天然具有跨平台、跨终端的能力,也可以方便的对系统进行在线升级和扩充。
  2. 成本的可行性
    由于本系统定位于本实验室的使用,用户量很小,因此一台普通服务器即可满足需求。即使用户增长到较大规模,但是由于系统大部分的工作都是在客户端完成,服务器端只需要一些数据库的读写操作,因此系统对服务器端的性能要求很低。
  3. 操作的可行性
    系统设计思路清晰,核心功能为文档管理,这也是实验室的核心资源,在完善的文档管理基础上可以方便的对系统进行扩展。系统实现的技术要求不高,可以在合理的周期内完成,同时由于系统完全在线,可以先采用快速原型、然后根据用户反馈持续跟新迭代。

第三章 需求分析

研究生的需求包括:

信息管理,包括注册生成基本信息,登陆查看自己的培养周期进度,修改信息。文档管理,查看文档,编辑文档,发布文档,分享文档。

导师的需求:

信息管理,管理研究生的培养周期,审核研究生的工作。根据研究生注册信息对研究生进行分组,方便日常的管理。文档管理,查看文档,编辑文档,发布文档,分享文档。

系统管理员的需求:

可以修改文档模板,查看系统的运行日志。文档删除,恢复等。

第四章 系统设计

第五章 详细设计 文档管理

文档管理主要包括文档的创建,删除,编辑,查看,分享等。
以上全部功能都可以使用浏览器实现,文档主要分为两个格式:pdf和markdown。pdf主要用于文献管理,markdown文档可以实现在线编辑,预览,协同编辑。
markdown文档是指基于markdown语法标记的文档,markdown语法简单易学。基于js即可实现丰富的在线文档格式,比如简单的排版,标题,表格,图,流程图,数学公式,代码。

一个文档主要包含的有文档标题,文档源码,文档注释,文档类型,所有者,创建日期,修改日志。

用户创建文档之后即获得该文档的所有权,可以对其进行编辑,分享和删除操作。

基本界面如下:基本编辑界面

文档创建

至少需要输入一个文档标题即可创建文件,创建之后立即和服务器通信,在数据库加入新的文档。如果文档指定为文献类型可以直接上传pdf文档,由于pdf文档难以转化为流式文档,因此不能对其进行编辑操作。

文档删除

删除一个文档需要保证删除者对该文件有所有权,删除前要确认操作,删除之后要和服务器通信从数据库中删除。如果一个文档有多个所有者,只需要把该文件的所有者删除该用户即可。

文档分享

用户完成编辑之后可以进行分享操作,可以让文档对所有人可见,可以分享给指定用户或者仅自己可以见。其它用户接收到别人分享的文档之后就获得了这个文档的可见权,该文档的可见用户列表里面会加入这些用户。同时,对文档可见即可对文档的指定位置加注释。

协同编辑

用户可以只完成一个文档一部分,然后就发布出来,并邀请别的用户来编辑,每个人提交自己的修改之后文档创建者可以审核每个人的提交,审核过的提交会合并到文档中,没有审核过的则只会有提交者和创建者所见,同时,每个用户的每次提交都会记录到该文档的日志之中。

标签系统

文档的分类和检索主要由标签来实现,标签可以指定从各个维度来描述该文档,比如文档类型,创建者,生成时间,被阅读次数等等,有的标签可以由系统自动生成,也可以由创建者添加,或者由其它用户添加。搜索的时候基于标签搜索非常方便。每个标签的添加也会记录到该文档的日志中。

文档可以分为不同的类型,并为不同的类型提供不同的模板。用户在创建文档的时候就会选择类型,系统添加相应的标签,并未其加载不同的模板。
类型可以有,笔记,文献,文章,报告,公告等,类型可以根据系统的需求很方便的进行扩充。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注