目录
1.业务需求....................................................................................................................... 2
1.2 业务机遇............................................................................................................. 2
2系统总体分析与设计...................................................................................................... 3
2.1系统体系结构....................................................................................................... 3
2.2硬件环境.............................................................................................................. 4
2.3软件环境.............................................................................................................. 5
2.4 系统功能结构...................................................................................................... 5
3关键算法设计................................................................................................................ 6
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%。
2系统总体分析与设计
2.1系统体系结构
本系统采用浏览器/服务器(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将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。
2.2硬件环境
本系统的硬件环境如下:
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以上
2.3软件环境
本系统的的软件环境如下:
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.4 系统功能结构
阐述系统功能及实现目标,功能模块图如下:
图2系统功能模块图
3.1主要用户
(1)、管理层
(2)、研发经理
(3)、项目经理
(4)、开发人员
3.2 所有用例
编号 | 特性 |
FEAT01 | 研发经理能够创建项目、指定或修改项目经理、删除尚未分配工作任务的项目 |
FEAT02 | 项目经理可以对项目设置工作包,工作包允许多级嵌套,它只用来组织工作任务 |
FEAT03 | 项目经理可以为开发人员指派工作任务,工作任务属于特定的工作包 |
FEAT04 | 项目经理在分配工作任务时,能够查阅开发人员的日程安排表,可以按开发人员查询、也可按日程查询 |
FEAT05 | 开发人员接到任务时,通过系统填写计划时间(计划开始时间和计划结束时间),项目经理确认后,更新日程安排表 |
FEAT06 | 开发人员可以查询相近工作任务的历史数据(估算数据、实际数据) |
FEAT07 | 开发人员任务执行将超计划时,应报告项目经理,项目经理通过系统更新其日程表 |
FEAT08 | 当任务完成之后,项目经理负责Close任务,并填入实际的完成情况(KLOC、实际结束时间) |
FEAT09 | 开发人员可以随时记录自己的时间,提供“开始计时”、“暂停计时”、“停止计时”,在停止时,填入任务编号(在线则选择)、工作关键字(以逗号分隔的多个),自动生成开始时间、暂停时间、停止时间、总时长、有效时长(总时长-中断时长) |
FEAT10 | 开发人员可以根据任务编号、关键字、起止时间进行分类组合查询与统计 |
FEAT11 | 时间记录程序会自动连接服务器,完成时间日志上传的工作,未能连接服务器,则在本机暂存时间日志 |
FEAT12 | 项目经理可以按项目、任务、关键字统计实际工作时长、产能 |
FEAT13 | 研发经理及管理层可以按个人、任务、项目、关键字查看工作时长、统计产能 |
4系统功能详细设计与实现
4.1 主要模型
- 1. 主要参与者
- 2. 用例模型
3.主要实体(类图)
具体协作图
5. 用户登录的具体流程
4.2数据库的概念结构模型设计
数据库概念模型采用实体-联系方法系统涉及的实体有如下:
用户 属性:用户名、密码、权限、任务状态
项目 属性:项目编号、项目名称、项目经理、开始时间、结束时间、进行状态
工作包 属性:工作包编号、所属项目编号、工作包名、负责人员
进程记录 属性:进程编号、工作包编号、工作净时间、代码行数、备注
(注:有下划线加粗的文字代表主键)
4.3数据库的逻辑结构模型设计
图书管理系统概念模型E-R
4.4数据库管理物理结构模型设计
信息存储结构的设计在系统的设计中至关重要,要考虑到数据冗余、系统执行效率、信息控制以及维护等方面的要求。信息的管理离不开数据库的支持,我们采用Oracle 10g数据库管理系统。
数据库的物理设计主要是对数据在内存中的安排,包括对索引区、缓冲区的设计;对使用的外存设备及外存空间的组织,包括索引区、数据块的组织与划分;设置访问数据的方式方法。需在非系统卷(操作系统所在卷以外的其他卷)上安装Oracle 10g 程序及数据库文件。内存是影响Oracle 10g系统性能的一个重要因素,应在Microsoft SQL Server数据库安装后进行内存选项(Memory)设置,最大配置值为2GB。
为了确定Oracle 10g系统最适宜的内存需求,可以从总的物理内存中减去Oracle 10g需要的内存(120M)以及其它一些内存需求后综合确定,理想的情况是给Oracle 10g分配尽可能多的内存,而不产生页面调度。设置服务器的虚拟内存为1G。
5结束语
这次主要是通过jsp+servlet依靠连接oracle数据库从而实现的,软件本身设计上没有大的问题,但是有些具体功能的处理方面上还是不够好,界面还是需要加强,某些功能没有具体的实现,主要是对于这个软件没有一个具体概念,同时对于某些具体功能上太过于执着了,导致整个系统的开发效率不高,因此造成本次的开发不是很尽如人意。
以后的开发中应该以主要功能为主,先实现主要功能,然后再做美化。