该题目是并非取自于多媒体图书系统,而是来自于自己做过的的一个博客项目,对其进行了详细的分析与设计过程。具体两个过程如下:
可行性研究报告的目的是确定该系统能否实现,会遇到那些问题,能否解决以及后续发展等问题。发现明确设计项目所要面临的问题和方法以及如何解决是可行性分析的目标所在。
在软件开发和维护周期中,需求分析是会一直影响整个课题开发过程的一个阶段。在整个软件开发生命周期中需求分析的重要性可由数据体现,这些失败的项目高达七成,大约六成的失败的原因是需求阶段问题。事实上,需求阶段问题使得一半以上的Developer遇到麻烦,这种重要却基础的问题越来越受Developer重视。需求分析阶段的主要任务获取并且明确用户提出的Demand,以通俗化的交流方式来实现明确模糊的需求,开发者最终形成对需求的完整,明确和的描述,产生需求规格说明书等。
在确定要执行的操作和要实现的功能,然后从上到下分解功能,逐步细化它们,将它们抽象为更小的功能,然后逐步实现它们。在此阶段,作为过程和结果还需要创建用例图和需求规格说明书。
(2)用户登陆以及注册:用户根据自己注册过的账户以及密码进行Login,经过Server查询后,返回Success数据跳转进入博客管理用户界面。
(3)博客管理:该部分主要以表格的形式展示出当前用户的所有的博客的标题,类别,日期,点击数,状态等信息,可以对所有博客进行删改。
(4)博客发表:需要填写的部分包括博客标题,博客类以及博客正文,其中博客正文是Markdown中编辑,博客编辑结束后选择保存为草稿状态或者直接发表。
(6)类别管理:展示出当前所有的类别,并且可以添加新的类别以便发表博文时选择,同时也支持删除。
(7)用户设置:该部分主要可以查看设置用户的Email和手机号,并且也可以进行密码的修改。
图1.1Web端博客部分用例图
图1.2Android端博客部分用例图
性能测试的目的是预计当前系统的性能要求,从而分析解决性能问题,避免不必要的风险。本系统移动端系统采用Android6.0,开发采用API23版本SDK,Java使用Jdk1.8,Tomcat的版本为8.0。服务器端支持高并发,但在访问量达到一定程度时,响应速度会变慢。在一定的并发数量系统正常运行并响应用户的请求操作,Android客户端和Web端可以正常获取服务器的信息并且进行相应的显示。
操作系统:Windows7操作系统。
应用服务器:Tomcat8.0以上。系统数据库服务器是MYSQL,数据库操作可视化工具采用NavicatPremium12。
浏览器:谷歌浏览器(Web端访问操作)
智能手机:Android6.0操作系统,SDK23。物理内存为2G以上,手机内存4G以上,能正常开启数据流量和连接到移动互联网。
在概要(结构)设计阶段,按照一定的原则把把软件分解为多个模块层次,每个模块都会被指定一定的任务,并且模块间调用关系和接口也进行确定。
在这个阶段,主要考虑划分模块层次、分配功能、确定调用关系等,也需要支持模块的内部实现。在这个阶段,模块间的接口与传参过程要清楚,为了以防后续设计产生不必要的问题,需要标注准确的数据字典。功能重复的模块需要被合并,然后分解出可以复用的模块常常是典型的调整。在该阶段,可以重用的代码或者逻辑模块应被尽可能标记精练出,同时设计实现符合面向对象原则的系统结构,来提高系统性能,减少系统实现的代码量,数据流图、详细的数据字典以及每个部分的文本介绍等是概要设计文档的关键部分。
图2.1Web端的数据流图
图2.2Android端的数据流图
类图是一种显示系统中Entity的属性行为以及Entity之间关系的一种的Staticmodel。在项目中主要体现为Javabean实体类,作为控制层和数据处理类的基础类。具体如图2.3所示。
图2.3系统后台类图
序列图是一种展示功能模块之间传递Message的过程的交互图,用户登陆功能的顺序图如图2.4所示。
图2.4用户登陆顺序图
用户登陆成功后进行博文发表时的顺序图如图4.5所示。当然博文的其他操作以及其他设计服务器的操作也都与之过程相似。
数据库的设计对系统完成和可维护性非常重要,数据库设计决定了未来是否能够很好地维护数据,以后的需求是否得到很好的开发,还能确定系统性能。不恰当的数据库的关键功能更改可能导致对多个表的修改甚至重建,错误可能导致数据库数据不一致。解决这些问题。在数据库设计开始时,您需要考虑这些问题,减少冗余,提高Reuseablity,并减少未来的系统维护量。
数据库设计通常分为多个阶段,包括分析,设计(包括概要,逻辑和物理),数据库建立、测试和维护,数据库概念设计和逻辑设计是其中的主要部分。
图2.6数据库E-R图
以上是一个大致的博客系统的分析与设计过程,考虑到了系统的基本需求功能、工作过程,数据库等,但还有设计过程不够全面,功能较少等缺点需要继续改进。