目录前端
1.业务需求....................................................................................................................... 2算法
1.2 业务机遇............................................................................................................. 2数据库
2系统整体分析与设计...................................................................................................... 3windows
2.1系统体系结构....................................................................................................... 3浏览器
2.2硬件环境.............................................................................................................. 4安全
2.3软件环境.............................................................................................................. 5服务器
2.4 系统功能结构...................................................................................................... 5oracle
3关键算法设计................................................................................................................ 6jsp
3.1主要用户.............................................................................................................. 6
3.2 全部用例............................................................................................................. 6
4系统功能详细设计与实现............................................................................................... 7
4.1 主要模型............................................................................................................. 8
4.2数据库的概念结构模型设计................................................................................ 14
4.3数据库的逻辑结构模型设计................................................................................ 14
4.4数据库管理物理结构模型设计............................................................................ 16
5结束语......................................................................................................................... 16
6参考文献..................................................................................................................... 16
1.业务需求
1.1 背景
在目前的软件项目开发过程当中,进度计划老是很是不许确,常常出现延期,并且 大多数都没法给出一个相对比较准确的延迟时间。即便使用用例包、用例的方式组织需求,或者是使用自底向上的估计方法,分配给开发人员的任务仍是没法定期完 成,并且仍是没法给出准确的延迟时间。而且,就目前的软件需求这门课程的发展来讲,尚未发明出一个完美的、万能的、准确的估算公式,这让研发经理和管理层很难合适的分配开发任务。汇总起来,整个项目的完成时间就要拖延,对整个软件公司带来很大的损失,同时也让客户对软件失去了信心。
1.2 业务机遇
软件开发公司的各部门使用这个软件,能够方便直接的查询当前项目的开发进度状况;能够根据之前开发的相关软件的进度状况,预测当前将要开发软件的进度和合适的开发团队,从而将任务具体详细的分配到每一个开发人员,并且能够很大概率的保证开发人员的准时完工,从而保证整个项目准时完工。
1.3业务目标
BO-1:在初版应用以后的第一个项目内,软件公司开发的开发效率提升20%。
BO-2:在初版应用以后的几个开发项目内,开发人员估算本身产能的准确率提升50%。
SC-1:在初版应用以后的12个月内,软件公司全体使用此软件的员工的好评达到90%。
SC-2:在初版应用以后的12个月内,软件公司的客户量增长20%。
本系统采用浏览器/服务器(Browse/Server)模式。简述B/S结构特色。
图1 系统体系结构图
B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面彻底经过WWW浏览器实现,一部分事务逻辑在前端实现,可是主要事务逻辑在服务器端实现,造成所谓3-tier结构。B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器就实现了原来须要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。随着Windows 98/Windows 2000将浏览器技术植入操做系统内部,这种结构更成为当今应用软件的首选体系结构。
本系统的硬件环境以下:
l 客户机:普通PC
n CPU:P4 1.8GHz以上
n 内存:256MB以上
n 可以运行IE5.0以上或者Netscape4.0以上版本的机器
n 分辨率:推荐使用1024*768像素
l WEB服务器
n CPU:P4 2.0GHz
n 内存:1G以上
n 硬盘:80G以上
n 网卡:千兆
l 数据库服务器
n CPU:P4 2.0GHz
n 内存:1G以上
n 硬盘:80G以上
本系统的的软件环境以下:
l 操做系统:Unix/Linux/windows2000或以上版本
l 数据库:Oracle 10g
l 开发工具包:JDK 1.6.0
l 开发环境:DreamWeaver CS5
l Web服务器:Tomcat
l 浏览器:IE6.0以上
(1)数据库及操做系统:
对于核心数据库来讲,选择一个合适的数据库系统对咱们的系统运行是很重要的,选择数据库的关键因素是要考虑预计会有多少人同时访问数据库;正常工做时间的级别;用来访问数据库的应用程序的类型;运行数据库的服务器的硬件和操做系统类型;以及管理人员的专业技术水平。目前市场上适用于中小型企业的数据库产品有IBM DB2 、Microsoft SQL Server系列、 Oracle系列。全部这些产品都基于SQL语言。同时,它们还拥有精密复杂的安全控制以适应不一样的商业须要。服务器操做系统使用Windows 2000 Server系统。
考虑到价格因素、易用性,咱们使用SQL SERVER 2000做为系统后台数据库系统,服务器操做系统采用Windows 2000 Server。
(2)WEB服务软件:
目前的WEB服务器软件有不少种,成熟并且稳定有Apache、Tomcat和Microsoft的IIS ,它们也是占据着Web服务器市场最大的份额。Tomcat是Sun和Apache合做作出来的JSPServer,支持Servlet2.2及JSP1.1等版本。并且Tomcat将来将会取代Jserv,成为Apache主要的Servlet&JSPEngine。Tomcat在设计上是以独立的Server执行,而不像Jserv是附在Apache中,这样就更能够发挥在servlet中,非HttpServlet的能力。Tomcat是Java程序,因此只要有JDK就可使用,不须要考虑操做系统平台。所以选择Tomcat做为WEB服务器。
阐述系统功能及实现目标,功能模块图以下:
图2系统功能模块图
(1)、管理层
(2)、研发经理
(3)、项目经理
(4)、开发人员
编号 |
特性 |
FEAT01 |
研发经理可以建立项目、指定或修改项目经理、删除还没有分配工做任务的项目 |
FEAT02 |
项目经理能够对项目设置工做包,工做包容许多级嵌套,它只用来组织工做任务 |
FEAT03 |
项目经理能够为开发人员指派工做任务,工做任务属于特定的工做包 |
FEAT04 |
项目经理在分配工做任务时,可以查阅开发人员的日程安排表,能够按开发人员查询、也可按日程查询 |
FEAT05 |
开发人员接到任务时,经过系统填写计划时间(计划开始时间和计划结束时间),项目经理确认后,更新日程安排表 |
FEAT06 |
开发人员能够查询相近工做任务的历史数据(估算数据、实际数据) |
FEAT07 |
开发人员任务执行将超计划时,应报告项目经理,项目经理经过系统更新其日程表 |
FEAT08 |
当任务完成以后,项目经理负责Close任务,并填入实际的完成状况(KLOC、实际结束时间) |
FEAT09 |
开发人员能够随时记录本身的时间,提供“开始计时”、“暂停计时”、“中止计时”,在中止时,填入任务编号(在线则选择)、工做关键字(以逗号分隔的多个),自动生成开始时间、暂停时间、中止时间、总时长、有效时长(总时长-中断时长) |
FEAT10 |
开发人员能够根据任务编号、关键字、起止时间进行分类组合查询与统计 |
FEAT11 |
时间记录程序会自动链接服务器,完成时间日志上传的工做,未能链接服务器,则在本机暂存时间日志 |
FEAT12 |
项目经理能够按项目、任务、关键字统计实际工做时长、产能 |
FEAT13 |
研发经理及管理层能够按我的、任务、项目、关键字查看工做时长、统计产能 |
3.主要实体(类图)
具体协做图
5. 用户登陆的具体流程
数据库概念模型采用实体-联系方法系统涉及的实体有以下:
用户 属性:用户名、密码、权限、任务状态
项目 属性:项目编号、项目名称、项目经理、开始时间、结束时间、进行状态
工做包 属性:工做包编号、所属项目编号、工做包名、负责人员
进程记录 属性:进程编号、工做包编号、工做净时间、代码行数、备注
(注:有下划线加粗的文字表明主键)
图书管理系统概念模型E-R
信息存储结构的设计在系统的设计中相当重要,要考虑到数据冗余、系统执行效率、信息控制以及维护等方面的要求。信息的管理离不开数据库的支持,咱们采用Oracle 10g数据库管理系统。
数据库的物理设计主要是对数据在内存中的安排,包括对索引区、缓冲区的设计;对使用的外存设备及外存空间的组织,包括索引区、数据块的组织与划分;设置访问数据的方式方法。需在非系统卷(操做系统所在卷之外的其余卷)上安装Oracle 10g 程序及数据库文件。内存是影响Oracle 10g系统性能的一个重要因素,应在Microsoft SQL Server数据库安装后进行内存选项(Memory)设置,最大配置值为2GB。
为了肯定Oracle 10g系统最适宜的内存需求,能够从总的物理内存中减去Oracle 10g须要的内存(120M)以及其它一些内存需求后综合肯定,理想的状况是给Oracle 10g分配尽量多的内存,而不产生页面调度。设置服务器的虚拟内存为1G。
此次主要是经过jsp+servlet依靠链接oracle数据库从而实现的,软件自己设计上没有大的问题,可是有些具体功能的处理方面上仍是不够好,界面仍是须要增强,某些功能没有具体的实现,主要是对于这个软件没有一个具体概念,同时对于某些具体功能上太过于执着了,致使整个系统的开发效率不高,所以形成本次的开发不是很尽如人意。
之后的开发中应该以主要功能为主,先实现主要功能,而后再作美化。