https://www.bilibili.com/video/BV1q4421c7NV/
演示视频:
一、清楚客户的要求
为了能够设计出满足客户需求的youxiu软件,程序员应在进行需求分析之前,和客户进行充分的沟通,要清楚的知道客户的需求及系统所需实现的功能,甚至在某些特殊情况下,需要实地进行考察,以便更深刻的理解客户需求。有些系统的不是开发,而是对原系统进行升级的情况下,程序员首先应熟悉原先的系统,在了解原系统的特点,运行方式的情况下,再与客户进行充分有效的沟通。
二、符合客户的语言习惯
程序员在编写需求分析报告时,应尽量避免计算机行业的术语。因为需求报告是针对客户所编写的,客户一般来说并不是专业计算机人员,他们很难理解专业的计算机语言。因此,程序员在编写需求分析报告时的用词用句应符合客户的语言习惯。
三、区别系统的物理视图和逻辑视图
物理视图的定义是描述相关信息结构和处理功能之间的关系,与实现的细节是相关联的,是一种实际的表现形式。逻辑视图的定义是描述系统需要处理的信息和所需具备的功能之间的关系,与实现的细节是没有关联的。程序员在编写需求分析报告时,仅需要研究逻辑视图,不需要研究物理视图。
四、详细的信息域
信息域是由两部分组成,一方面是指数据流动的走向线路,另一方面是指数据处理的过程。一份详细的信息域资料,能够清楚的显示信息的流向、内容以及结构等重要信息,对整个系统需求分析来说是非常重要的。
五、建立模型
建立模型的定义是通过理解系统的需求,针对各项需求建立一个符合需要的模型。模型的建立无法一步到位,它是一个循序渐进,不断优化的过程。在不断优化原有模型的过程中,对系统的需求认识也会越来越深刻。
六、分解模型
模型的分解方式有横向分解和纵向分解两种。横向分解一般指在同一层次中进行分解,纵向分解一般指在多层次之间进行分解。程序员对建立的模型进行多种形式的分解后,对编写模块程序有很大的帮助,可以增强模块的理解,降低问题的复杂度。
七、编写需求报告
程序人员在充分了解客户的需求与实地考察后,将所得到的信息进行重新整理,总结,使用客户能够理解的语言,编写系统需求分析报告。需求分析报告的内容主要有六个方面组成,分别为客户需求、客户规范、功能需求、实现方法、质量目标以及其他。客户应在取得需求报告后进行确认,与程序员达成协议,以确定程序员后续工作的开展。
八、图文并茂
图表最大的特点就是直观性强,一目了然,有很高的实用价值。由于系统的表述通常比较生硬枯燥,为了能够让客户更好的理解需求报告,应该尽可能多的使用图文表格的形式,来补充需求报告的内容。同时,应注意的是,在图文表格的后面必须配上相应的文字说明,以引导客户充分理解图文表格所表达的内容,以免出现歧义。
由于计算机无法识别人类的语言模式,人也无法读懂计算机语言。因此人与计算机之间需要一种特殊的界面,来实现人机对话。由于界面主要是为用户服务,所以简单便捷的界面会为用户带来便捷。因此,界面需求方面主要是考虑几个方面,即美观、友好、和谐、实用等。美观、友好、和谐都是需要在成农国分了解客户的个性、特点后才能进行需求分析。实用性则是要根据客户的操作习惯来进行需求分析。因此,界面的需求分析时系统开发比较重要的一步,不应被程序员忽视。
1、硬件需求
(1)服务器端
处理器最低配置:INTER酷睿双核Xeon2.6G;内存最低配置:4G;硬盘最低配置:10TB。
(2)客户端
处理器最低配置:赛扬l.6G;内存最低配置:512MB;硬盘最低配置:40GB。
2、软件需求
(1)服务器
操作系统:Windows 2000 Server;数据库:Microsoft SQL Server 2005;网络协议:TCP/IP;
(2)客户端
操作系统::Windows 2000/XP/2007;浏览器:Internet Explorer 6.0以上;网络协议:TCP/IP。
软件的功能需求的定义是对系统最终的功能和服务的描述,它应包括系统提供的服务描述、系统输入后系统应给出的反馈描述和在特定情况下系统的反馈描述。
现在的出版物图书、期刊等越来越来都附有多媒体附件(光盘、磁带等),随着读者所需要服务层次的提高,内蒙古财经大学的图书馆要求拥有一个软件平台来与本馆的图书管理系统做无缝连接,并且管理随书光盘资源。作者通过对图书馆管理员和学生用户进行大量的调查与实地考察,获得了大量的第一手资料。再对第一手资料进行归纳总结后,设计内蒙古财经大学随书光盘管理系统应实现六个功能,分别是用户管理模块、光盘管理模块、统计管理模块、检索功能模块、排序功能模块和读者请求功能模块。具体功能模块结构图如图3-1所示。
图3-1 功能模块结构图
1、用户管理模块
用户管理模块主要实现三大功能,分别为用户注册、个人信息管理和其他功能。其中用户注册是指用户需要注册后才能使用本系统;个人信息管理是指修改个人资料和修改密码,且不允许修改注册时的用户名;其他则是例如疑问解答,在线联系管理员等功能。
2、光盘管理模块
光盘管理模块是不对用户开放的,主要是为管理员管理系统时所使用。本模块主要实现三大功能,分别为光盘类别管理、光盘处理和光盘上传。其中类别管理指将各光盘贴上属性标签后进行归类;光盘处理指光盘的添加、删除、修改等操作;光盘上传指压缩光盘内容上传服务器。光盘管理功能模块结构图3-2所示。
图3-2 光盘管理模式结构图
3、统计管理模块
统计管理模块也是为管理员提供的管理工具,它主要的功能按时间段统计资源上载数量、资料点击排行、用户点击排行、类目点击排行等信息。
4、检索功能模块
检索功能模块是为用户提供的一种使用工具,它应具有两种功能,分别为jingque检索和模糊检索。jingque检索即用户所需要的输入光盘名称后,服务器反馈找出和输入光盘名称一致的光盘,输出结果唯一,没有则输出缺省;模糊检索是指用户不需要输入光盘的名称,仅需输入其中的一个或多个关键词组,服务器反馈找出所有包含关键词组的光盘,结果可以不唯一,没有则输出缺省。
5、排序功能模块
排序功能模块也是为用户提供的一种便捷的使用工具。它应实现的功能是在用户检索得到的结果中,进行各种各样的自动排序。例如按光盘的下载热度排序、按光盘的搜索热度排序、按纸质图书的价格进行排序等等。
6、读者请求功能模块
读者请求功能模块主要包含随书光盘查询和随书光盘下载两大功能,随书光盘查询是指用户可以查询随书光盘的名称、作者、索书号等信息;随书光盘下载是指用户根据随书光盘查询后的结果进行相应的下载。
系统在设计过程中,除了需要遵守相关标准和规范意以外,还必须要保证系统是可运行的,并且是可靠的。因此,在系统设计时,主要考虑以下七大原则,来确保系统开发的效率以、可行性、实用性和可靠性。
一、界面友好原则
界面友好原则是指系统应与Web浏览器保持一致的风格,看起来友好、和谐、舒适。操作方式简单、易上手等原则。
二、整体原则
整体原则是指在系统开发之前,不应先着急着手于源代码的实现,而是应先总体规划好设计流程及步骤,然后再分步实施规划的原则。总结系统的开发步骤就是“先总体,再分步”。
三、实用原则
实用原则是指系统在开发后,应具有一定的实用性。否则这个系统即使再完美,缺少了实用性,则只是一纸空谈,毫无使用价值。同时,可能也无法满足客户的需求。因此,实用原则是评价一款系统好坏的重要衡量标准之一。总结系统的实用原则就是“一切从实际出发”。
四、安全稳定原则
系统的安全稳定原则是指系统在开发使用后,应能保证数据库的数据安全,同时在运行时应有一定的稳定性。
五、合理先进原则
合理先进原则是指系统在开发后,在相对较长的一段时间内,客户不需要再更新其硬件设备,使其系统保持一定的先进性。由于目前计算机技术发展迅速,新陈代谢较快,客户花了很高的代价开发出的软件,应在合理的基础上适当超前。
六、易维护原则
易维护原则是指系统在开发使用后,在平时的维护过程中,是简单便捷的,不应给客户日后使用带来麻烦。
七、灵活易扩展原则
灵活易扩展原则是指系统在开发使用一段时间后,在升级或扩展系统时,是方便容易的。因此,一般需要将系统设计为多模块式的,以方便扩展某一模块时,不影响其他模块。
1、读者界面
如图3-3所示,界面最上方是系统的名称,内蒙古财经大学随书光盘管理系统。可选项目依次为网站首页、在线注册、最新增加、点击排行、信息检索、光盘请求和系统后台。在界面的左侧显示栏分别为用户登录窗口、友情链接窗口和网站日历表窗口。界面右侧显示栏则为显示窗口。
图3-3 读者界面
2、用户管理界面
如图3-4所示,内蒙古财经大学随书光盘管理系统的用户管理员界面主要由两部分组成,左侧为系统登录窗口,右侧为显示窗口。最上方窗口显示当前登录用户,以及退出系统选项。左侧系统登录窗口主要有修改个人密码、光盘信息添加、光盘信息管理、注册用户管理、友情链接添加、友情链接管理和光盘请求管理。
图3-4 用户管理员界面
第四章 数据库设计
一个完整的应用系统,除具有友好的用户操作界面外,后台数据库的支持也尤为重要,因此好的程序开发设计人员也会在数据库设计上花费诸多心思。接下来要对数据库进行设计。
一般应用程序的后台数据库系统由外模式、子模式、应用程序、数据库和数据库管理系统等几部分组成,我们把其中的外模式、子模式、应用程序和数据库等按用户具体要求进行分析和设计的过程称之为数据库设计。数据库管理系统可从现有的产品中选购。数据库设计的核心问题是如何完成从系统的要求出发建立数据模式,这就要求满足下面三个条件:
1、能够符合用户要求,即能准确地、真实地、直白地反映用户工作环境,该环境不仅包括用户需要处理的所有“数据”,还应支持用户对“数据”所进行的各种“加工”。
2、数据组织要合理、易于操作、维护和理解。
3、要符合所选用的数据库管理系统所支持的数据模式。
客观事物在信息世界中称为实体,不同实体属性不同,且相互之间存在一定的关系。程序开发设计过程中,除了准备把握用户需求外,还需要明确系统数据库中各个实体的属性和关系,如果不能正确对实体进行描述,很有可能会影响到整个程序的质量。在数据库设计中,开发人员通过对数据字典中的数据结构、数据流和数据存储进行分析,确定实体、实体的属性及各实体之间的关系,从而得出系统的关系模式。一般实体的描述可以采用E-R图(实体-联系图)的方法进行数据结构分析,其中包括实体、属性和联系三部分。
根据对本系统的分析,得到E-R图中主要涉及到6个实体,分别是:用户、管理员、光盘、类别、日志和友情链接,各实体的属性描述如表3-1。
表3-1 数据库各实体的属性描述表
实体
主键
外键
用户
系统自动编号(ID)
用户名、密码、联系方式、邮箱等。
管理员
账号
密码、权限、时间等。
光盘
系统自动编号(ID)
名称、上传人、类别、备注、时间等。
类别
系统自动编号(ID)
名称、时间等。
日志
系统自动编号(ID)
用户,时间,IP地址等。
友情链接
系统自动编号(ID)
名称,URL地址,时间等
随书光盘管理系统在运行时,用户完成一次在线检索并下载,各实体间将产生如下关系。
1、用户注册时,一位学生用户只能注册一个账户。当注册完成后,管理员内就新增一个学生用户信息。它们是一对一的关系。
2、用户登录时,学生用户的账户和密码是唯一的,只有完成一致时才能登录成功。它们是一对一的关系。
3、用户检索光盘时,输入关键词后,光盘信息开始搜索整个光盘信息库内所有与关键词相同的光盘内容。一个关键词可能对应多个搜索结果,它们是一对N的关系。
4、用户在检索结果内,找到需要的光盘后,进行光盘请求下载。多个用户可以请求同一个光盘的下载,也可以请求多个光盘的下载。它们是N对N的关系。
5、光盘请求发送至管理员界面后,管理可以进行批准或删除请求。请求可以是一个,也可以是多个,管理员也可以是多个管理员对请求进行管理。它们是N对N的关系。
6、请求获得管理员批准后,学生用户即可进行光盘下载。每一次的请求只能由一名用户进行下载。它们是一对一的关系。
概念结构设计主要是以实体关系图来表示(Entity-Relationship图,简称E-R图),它是逻辑设计的基础。由表3-1可知,内蒙古财经大学随书光盘管理系统的E-R图主要有用户信息实体关系图、管理员信息实体关系图、光盘信息实体关系图、类别信息实体关系图、日志信息实体关系图和友情链接信息实体关系图。具体如下。