1、1软件工程项目文档项 目 名 称 企业内部在线交互系统 项 目 成 员 蒋能凯 张国顺 李冲 崔红艳 专 业 班 级 计算机科学与技术 2012 级 1班 指 导 老 师 施 涛 2014 年 11 月2目录需求分析 61 需求分析说明 62 系统概述 72.1 用户特点 72.2 运行环境 83 功能需求 93.1 登陆验证 93.2 用户信息分类 93.3 信息显示 93.4 用户检索 93.5 在线交流 94 概要设计 104.1 业务流程 104.2 项目文件规划 104.3 数据库设计 125 项目规划 135.1 团队成员分工 135.2 项目进度安排 146 待解决的问题 147
2、 软件总体概述 158 软件总体设计思路 1538.1 软件的基本概念和处理流程 158.2 Web 数据库开发 158.3 平台选择 169 概要设计 169.1 体系结构设计 169.2 接口设计 189.2.1 外部接口 189.2.2 内部接口 189.3 代码设计 199.4 数据库设计 209.4.1 关系模式设计 219.4.2 数据字典 229.5 输入输出设计 249.5.1 输入设计 249.5.2 输出设计 269.6 运行设计 289.6.1 运行环境 289.6.2 运行模块的组合 289.6.3 运行控制 289.6.4 运行时间 289.7 出错处理设计 299.
3、7.1 出错输出信息 299.7.2 出错处理对策 2949.8 安全保密设计 299.8.1 数据安全性 299.8.2 登录用户的安全性 309.8.3 操作安全性 309.9 维护设计 3010 详细设计 3110.1 记录管理模块 3110.1.1 模块定义 3110.1.2 输入项目 3110.1.3 输出项目 3110.1.4 程序逻辑 3110.2 用户登陆模块 3210.2.1 模块定义 3210.2.2 输入项目 3210.2.3 程序逻辑 3311 参考文献 3412 测试摘要 3512.1 重点事项 3512.2 争议事项 3512.2 风险评估 3512.3 时间进度
4、3512.4 测试目标 3613 资源需求 36513.1 硬件资源 3613.2 软件资源 3613.3 人力资源 3714 测试详述 3714.1 测试范围 3714.2 测试目标 3714.3 测试进度 3914.4 整体策略 3914.5 测试技术 4014.6 质量目标 4115 计划审核记录 426需求分析1 需求分析说明需求分析是指理解用户需求,就软件功能与客户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂过程。 (这个和我在微软体验到的又不太一样,微软的需求分析大多是市场人员和用户协助小组的人去评估用户的接受程度,这一点也可以理解,因为公司的性质有根本差别)在
5、这个过程中,用户的确是处在主导地位,需求分析工程师和项目经理要负责整理用户需求,为之后的软件设计打下基础。需求分析阶段结束后,要求得到:1.SRS 文档(System Requirement Specification);2. 2.DRM 文档;3.Acceptance Plan. 从广义上理解:需求分析包括需求的获取、分析、规格说明、变更、验证、管理的一系列需求工程。狭义上理解:需求分析指需求的分析、定义过程。 72 系统概述2.1 用户特点互联网的出现与迅速发展,信息技术步伐加快,是的企业面临着众多的挑战,与竞争,在竞争的过程中,对于一个集团企业来说,对信息的掌握程度、信息获取是否及时、信
6、息能否得到充分利用、对信息反应是都敏感准确,越来越成为衡量一个企业市场竞争能力的重要因素。随着中国加入 WTO,各行各业都在努力地提高自身的竞争力,企业信息化管理进程加快说明:传统以红头文件为主,强调公文处理的客户管理将从主导地位逐渐减弱,强调以信息服务、只是管理为主的企业信息化服务系统,将逐渐代替原有的客户处理。面对竞争日趋激烈的商业斗争,企业要想提高竞争力,只有与时俱进,不断运用新的技术,才能在激烈的竞争中及时掌握市场动态,更快地得到市场竞争最关键的信息,快人一步,才能立于不败之地。信息技术成功应用和效益最大化的重要条件是信息基础标准的建立和统一。企业必须建立和形成适合自身发展需要的信息基
7、础标准体系(包括数据元素标准、信息分类编码标准、用户视图标准、数据库标准、网络系统设计规范、应用系统设计规范、IT 基础设施配置规范、信息管理和开发利用体系、信息安全保障体系等) ,这些标准的建立和执行,是集团信息化建设避免重复投资、加速信息流通、实现信息授权共享、取得最大效益的基本前提和基础; 从企业管理和发展的需要出发,在不断建立和完善信息安全管理体系、技术标准体系以及信息分类授权体系的基础上,把集团公司及所属企业的网络互联互通和信息资源共享作为一条基本要求逐步落实,最终实现集团公司与所属企业之间信息双向的授权互动共享和高效的协同运作。同时,使集团内的信息技术队伍的知识和经验、积极性和创造
8、性得到充分的共享和利用。82.2 运行环境ASP.NET 是.NET FrameWork 的一部分,是一项微软公司的技术,是一种使嵌入网页中的脚本可 由因特网服务器执行的服务器端脚本技术,它可以在通过 HTTP 请求文档时再在 Web 服务器上动态创建它们。 指 Active Server Pages(动态服务器页面) ,运行于 IIS(Internet Information Server 服务,是Windows 开发的 Web 服务器)之中的程序 。因为 ASP .NET 是基于通用语言的编译运行的程序,其实现完全依赖于虚拟机,所以它拥有跨平台性,ASP .NET 构建的应用程序可以运行在
9、几乎全部的平台上。其中大致分为以微软 .NET Framework 为基础使用 IIS 做为 Web 服务器承载的微软体系,以及使用 Mono 为基础框架运行在 Windows 或 Linux 上的开源体系。 使用一种字符基础的,分级的配置系统,虚拟服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。这种被称为“Zero Local Administration“的哲学观念使 的基于应用的开发更加具体和快捷。SQL Server 是一个关系数据库管理系统。它最初是由 Microsoft、Sybase 和 Ashton-Ta
10、te 三家公司共同开发的,于 1988 年推出了第一个 OS/2 版本。在Windows NT 推出后,Microsoft 与 Sybase 在 SQL Server 的开发上就分道扬镳了,Microsoft 将 SQL Server 移植到 Windows NT 系统上,专注于开发推广SQL Server 的 Windows NT 版本。Sybase 则较专注于 SQL Server 在 UN操作系统上的应用。93 功能需求3.1 登陆验证为了确保系统的安全,防止非法用户和竞争对手进入系统,在系统中专门设计了登陆验证模块。3.2 用户信息分类为了便于快速实现对不同用户的交互,对系统内用户进行
11、了细分,方便用户的选择交互。例如,在行中设置了重要客户、一般客户和合作伙伴等不同种类的群体。3.3 信息显示为了方便系统用户间的相互了解,系统设立了用户信息详情显示模块,供用户浏览系统内各用户的详细信息。3.4 用户检索为了方便团队用户迅速找到自己的目标交流对象,系统设置了信息检索模块,用户可以根据用户的基本团队信息快速找到自己的交流目标。3.5 在线交流在线交流模块式珍格格系统的核心,系统用户可以喝系统内其他用户进行在线及时交互,进一步实现办公自动化。104 概要设计4.1 业务流程4.2 项目文件规划建立“kehu”和“data”来保存项目文件,具体说明如下: 文件夹“kehu ”:保存系
12、统的项目文件。 文件夹“data”:保存系统的数据库文件。下面是各个构成模块的实现文件,具体说明如下: 系统配置文件:功能是对项目进行总体配置。 样式设置文件:功能是设置系统文件的而现实样式。11 数据库文件:功能是搭建系统数据库平台,保存系统的登陆信息。 用户分类显示模块:功能是将系统内不同类别用户列表显示出来。 团队处理模块:功能是对系统内不同用户群体进行团队处理。 在线交流模块:功能是实现系统内用户在线交互处理。各文件的具体说明如下: 文件夹 App_code:保存系统各使用类的设置文件。 文件夹 App_themes:保存系统的样式设置文件。 文件夹 Files:保存系统用户发送的文件
13、。 文件夹 Bin:保存系统需要的应用程序集。 文件夹 Caboodley:保存团队处理的页面文件。 文件夹 Hailfellow:保存系统用户分组页面文件。 文件夹 Userinfo:保存用户页面文件。 文件 Default.aspx:系统主页,是一个框架页面。 文件 File.aspx:系统文件发送表单页面。 文件 Global.aspx:系统信息设置文件。 文件 Header.aspx:主页顶部导航文件。 文件 Login.aspx:用户登录验证模块。 文件 logoff.aspx:用户退出系统文件。 文件 Manager.aspx:系统在线交流处理文件。 文件 Web.info.asp
14、x:系统应用程序配置文件。4.3 数据库设计本系统采用 Sql Server 2005 数据库,名为“kehu” 。其中各表的具体设计结构如下图所示:12表 4.1 提醒团队信息表(Caboodle)ID int yes 递增 1 编号Name Varchar(50) no null 名称UserID int no null 创建用户编号Remark Varchar(1000) no null 简介表 4.2 系统团队关联信息表( CaboodleUser)CaboodleID int yes 递增 1 所属团队编号UserID int no null 所属用户编号RoleID int no
15、null 角色表 4.3 系统发送文件信息表( File)ID int yes 递增 1 编号Name Varchar(50) no null 文件名Sender int no null 发送者Receiver int no null 接收者Url Varchar(255) no null 文件地址Type int no null 类型Size int no Null 大小CreateDate datetime no Null 时间13其他数据表:系统用户分组信息表(Group)用户分组关系信息表(GroupUser)系统留言信息表(Leaveword )团队交互信息表(MessageForC
16、aboodle )用户交互信息表(MessageForSignle )系统用户角色信息表(Role)系统用户信息表(User )系统用户登录信息(LoginInfo)5 项目规划5.1 团队成员分工145.2 项目进度安排6 待解决的问题项目经验缺少,开发平台学习不够,现阶段最重要的就是好好学习,边学边用,保证顺利完成任务。项目分析与设计157 软件总体概述随着企业中业务系统建设越来越多,各个系统甚至出现互相依赖,互相耦合的情况。这种情形直接导致了业务组件重复建设、业务数据冗余、企业内数据不同步、系统界限模糊、维护困难、拓展困难等难以想象的问题,使得企业信息化建设陷入泥沼。企业信息交互系统从企
17、业的实际需求出发,参照先进的信息通讯理念开发而成,系统具备完善的基础信息设置,友好清晰的界面,使浏览人员能够清楚的进行信息浏览,管理员轻松方便的进行信息的修改和发布,保证企业内部信息的及时交互。8 软件总体设计思路8.1 软件的基本概念和处理流程互联网技术的飞速发展,ASP 技术的灵活、易用、功能Dreamweaver、microsoftFrontpage、VBScript 等设计工具的方便使用,以及数据库技术的发展给本系统的设计和实现提供了技术上的支持。本系统在数据库技术方面有如下优点:8.2 Web 数据库开发开发同意,传统的数据库一般用 VB,VC 等开发,这些开发工具各有各的标准和方法
18、,不是和开发 WEB 数据库应用,Web 数据库的开发使用统一的 HTML,任何人开发的数据库都有符合这个标准。168.3 平台选择平台支持,传统的数据库应用一般要针对每个操作系统开发一个专用版本,外围不同的硬件平台开发不同的版本。Web 数据库之需要开发一个版本就可以在所有的操作系统和硬件平台上使用。只要这个平台具有符合 HTML 标准的浏览器。系统基本的流程是:用户登录验证-主界面-选择各项子系统9 概要设计9.1 体系结构设计根据对系统需求分析中的总体目标和具体目标部分的分析,得到系统结构设计图如下 3-117企业内部在线交互系统记录管理分类管理添加新管理员修改和删除消息添加新消息添加新
19、分类管理员密码修改修改和删除分类删除管理员上传文件管理上传文件用户管理图 9-1 系统结构图Fig 3-1 System Organizations-structure figure文件管理189.2 接口设计9.2.1 外部接口包括用户界面、软件接口与硬件接口。用户界面用户界面部分,根据需求分析的结果,用户需要一个用户友善界面。在界面设计上,应做到简单明了,易于操作,并且要注意到界面的布局,应突出的显示重要以及出错信息。外观上也要做到合理化,考虑到用户多对 WINDOWS 风格较熟悉,应尽量向这一方向靠拢。在设计语言上,使用 html 语言进行页面编写。总的来说,系统的用户界面应做到可靠性、
20、简单性、易学习和使用。软件接口服务器程序可使用 eclipse 提供的对 SQL Server 接口,进行对数据库的所有访问。在网络软件接口方面,使用一种无差错的传输协议,Web 服务器程序可使用 Apache 的 Tomcat6.0。硬件接口输入方面,对于键盘、鼠标的输入,对输入进行处理。硬件环境内存需要512M 以上,CPU 需要 P4 2.0Ghz 以上。在网络硬件部分,为了实现高速传输,使用快速以太网。在输出方面,采用 IE6.0 浏览器。浏览的分辨率最佳效果为 1024768 像素。9.2.2 内部接口内部接口方面,各模块之间采用函数调用、参数传递、返回值的方式进行信息传递。具体参数
21、的结构将在下面数据结构设计的内容中说明。接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在各模块间传输。199.3 代码设计代码设计遵循以下原则:(1)确定性。每一代码代表惟一的实体和属性,反过来,信息系统中,每一实体或属性都用一个确定的代码来表示。(2)标准化。考虑企业信息系统与主管部门通讯和联网的需要,尽可能用国际、国内、部门的标准代码。(3)通用性。尽量采用原业务处理上已使用的且行之有效的代码,方便使用。(4)扩展性。考虑企业的发展和变化,当增加新的实体和属性时,直接利用原代码追加,保持原代码体系不变。(5)识别性。代码需方便管理人员使用,又应方便计算机识别、分类。(6
22、)简明性。在不影响代码系统的容量和扩充性的前提下,代码尽可能简短、统一。代码是代表客观存在的实体或事物的属性、状态的符号。在软件系统中,代码是人和计算机的共同的、标准的语言,是对信息进行分类、校验、统计、检索的关键属性。1下属中心代码中心编号的编码对象为下属中心,使用范围是企业信息交换系统。该代码的使用过程中,考虑到该企业部门的扩展,所以采用顺序号。X X X X顺序号中心编号2用户代码20用户编号的编码对象为管理员,使用范围是企业信息交换系统。该代码的使用过程中,考虑到该管理人员的扩展,所以采用顺序号+E,E 是代表用户,顺序号就可以体现新来用户的顺序。X X X X顺序号用户编号3消息代码
23、消息编号的编码对象为消息,使用范围是企业信息交换系统。该代码的使用过程中,考虑到信息扩展,所以采用顺序号+E,E 是代表消息,顺序号就可以体现新消息的顺序。X X X X顺序号消息编号9.4 数据库设计数据库设计是软件开发的灵魂和基础,是整个系统成功的关键所在,是开发高品质应用的前提。数据库设计的核心问题是如何从系统的观点出发建立一个数据模式,使其满足以下几个条件:1、符合用户要求,能正确的反映用户的工作环境,该环境包括用户需处理21的所有“数据” ,并支持用户需要进行的所有“加工” 。2、与所选的 DBMS 所支持的数据模式相匹配。3、数据组织合理,应易操作,易维护,易理解。9.4.1 关系
24、模式设计由系统的概念模型导出关系模式。主要原则及实现方法如下:1一个实体型转换为一个关系模式,实体的属性就是关系的属性,实体的键就是属性的键。2 一个实体的联系转换为关系模式时,首先确定该联系的类型,再确定相应的键。a) 若关系的类型是 1:1,则每个实体的键均为关系的候选键,可二者择一位该联系的键。b)若关系的类型为 1:n,则应把一端实体的键移到 n 端,与 n 端实体的键共同组成该联系的键。c) 如果为弱实体集,可为其增加一个强制属性的键。d) 若关系类型为 m:n,则该联系的键为两个实体的键的集合,即该关系的键一定为复合键。3 进行规范化处理,求出关系模式中的最小依赖集,并依据规范化理
25、论,将关系模式规范道三范式。各范式定义如下:范式是对关系的不同数据依赖程度的要求,通过模式分解将一个范式转换为若干个高级范式的过程称作规范化。1NF:关系中每一分量不可再分。既不能以集合、序列等作为属性值。2NF:若 R1NF,且每个非主属性完全依赖于码,则称 R2NF。3NF:关系模式 R中,若不存在这样的码 X,属性组 Y 及非主属性Z(ZY),使得下式成立,XY,YZ,YZ,则称 R3NF。22依据上述原则,得出梵柏西科技系统的关系模式:关系模式设计如下:1中心资料(中心编号,中心名称,备注信息)2用户资料(用户编号,用户名称,用户密码,职务,创建时间,创建IP)3消息 (部门编号,中心
26、编号,题目,内容,部门名称,中心名称,作者)9.4.2 数据字典数据字典是物理数据库的具体体现,主要规定各关系的名称、各列的数据的型、长度、小数位、完整性约束等。1各属性的属性名、类型、长度、小数位、是否空值、缺省值等,其中,不同的 DBMS 的数据类型不完全一致,请参考所用 DBMS 的用户手册。2完整性约束。完整性是指数据的正确性和相容性。它包括实体完整性和关联完整性和用户定义的完整性。企业信息交互系统的数据字典如表 3-1,3-2,3-2 所示表 3-1 用户代码表 D01Table 3-1 customcode table D01列含义 列标示 类型 长度 完整性约束用户编号 id i
27、nt 4 =4用户名称 adminuser varchar 50 字符用户密码 adminpass varchar 50 字符 职务 authority varchar 50 字符创建时间 lasttime smalltimedate 4 字符23创建 IP lastip varchar 50 字符 表 3-2 部门代码表 D02Table 3-2 department code table D02列含义 列标示 类型 长度 完整性约束部门编号 id int 4 =4部门名称 class int 4 =4中心编号 parentid int 4 字符中心名称 parentclass varcha
28、r 50 字符 表 3-3 消息代码表 D03Table 3-3 newscode table D03列含义 列标示 类型 长度 完整性约束序列号 id int 4 =4部门编号 classid int 4 =4题目 title varchar 50 字符 内容 news varchar 50 字符中心名称 parentclass varchar 50 字符中心编号 parentid int 4 字符部门名称 class varchar 50 字符 文件 1 file1 varchar 50 字符 文件 2 file1 varchar 50 字符 文件 3 file1 varchar 50 字
29、符 作者 author varchar 50 字符加入日期 d smalltimedate 4 字符249.5 输入输出设计9.5.1 输入设计输入设计担负着将系统外的数据以一定的格式送入计算机的任务,输入设计的一条重要原则是确保系统输入的信息准确无误。输入设计的内容:输入名称编号、输入源、输入设备和介质、输入时间和频度、输入格式和内容、输入数据的校验。表 3-4 输入设计 编号:001Talbe 3-4 Input design number:001输入名称:用户资料 输入设备和介质:键盘输入源: 管理员 输入时间和频率:不定期输入信息: 共享范围:本系统使用表 3-5 输入格式内容:Tab
30、le 3-5 Input form content列含义 类型 实际长度 备注用户编号 varchar 4 用户名称 varchar 50 用户密码 varchar 50 职务 varchar 50 表 3-6 输入设计 编号:002Talbe 3-6 Input design number:002输入名称:中心代码表 输入设备和介质:键盘输入源: 各个中心管理员 输入时间和频率:不定期25输入信息: 共享范围:本系统使用表 3-7 输入格式内容:Table 3-7 Input form content列含义 类型 实际长度 备注部门编号 int 4 部门名称 int 4 中心编号 varch
31、ar 50 中心名称 varchar 50 表 3-8 输入设计 编号:003Talbe 3-8 Input design number:003输入名称:信息代码表 输入设备和介质:键盘输入源: 各个中心管理员 输入时间和频率:不定期输入信息: 共享范围:本系统使用表 3-9 输入格式内容:Table 3-9 Input form content列含义 类型 实际长度 备注部门编号 int 4 题目 varchar 50 内容 varchar 50 中心名称 varchar 50 26部门名称 varchar 50 文件 1 varchar 50 文件 2 varchar 50 文件 3 va
32、rchar 50 作者 varchar 50 9.5.2 输出设计输出主要是指报表的输出和查询输出。输出设计的内容:输出的编号名称、输出类型、输出设备和介质、输出时间和频率、输出格式和内容。表 3-10 输出设计 编号 004Table 3-10 Output designnumber:004输出名称:用户资料 输出设备和介质:IE 浏览器输出类型:显示 输出时间和步骤:不定期输出格式和内容:数据项名称 内容用户名称 用户编号职务创建时间创建 IP 27表 3-11 输出设计 编号 005Table 3-11 Output designnumber:005输出名称:中心资料 输出设备和介质:I
33、E 浏览器输出类型:显示 输出时间和步骤:不定期输出格式和内容:数据项名称 内容中心名称 中心编号部门名称部门编号 表 3-12 输出设计 编号 006Table 3-12 Output designnumber:006输出名称:消息 输出设备和介质:IE 浏览器输出类型:显示 输出时间和步骤:不定期输出格式和内容:数据项名称 内容部门编号 题目 内容 中心名称 部门名称 文件 1 28文件 2 文件 3 作者 9.6 运行设计9.6.1 运行环境本系统运行环境,需要安装 eclipse,tomcat 和 SQL SERVER 2000 软件,硬盘和内存要求最低是 80G 和 512M,数据库
34、服务器配置:数据库名:infosite;身份验证:SQL Server 2000 和 Windows 混合认证;登录用户和登录密码为空。9.6.2 运行模块的组合用户在程序运行时启动查询模块,在用户有输入操作的时候开始模块调用,如果要注册新的用户,则调用用户模块,通过一系列的数据输入,若是数据充分,则将数据交给服务器,服务器确认后,返回用户机,并显示输出。如果客户要托运货物,则调用货物托运管理模块,若客户同意托运,调用货物托运申请模块,添好托运单后提交系统服务器,服务器确认后返回信息给用户机,并显示托运单的输出。9.6.3 运行控制用户在发送数据后,将等待服务器的确认,当受到服务器的确认信号后
35、,等待服务器的回答信息,再进行确认。服务器在受到用户的数据后发送确认信号,然后对数据进行处理以及数据库的访问,然后将新的信息发还给用户。9.6.4 运行时间在软件的需求分析中,对运行时间的要求为:必须对作出的操作,有较快29的反应。由于内存条的和硬件的配置,对操作反应将受到很大的影响。所以希望采用内存为 512 和硬盘为 80G 的配置,以加快运行时间,服务器的运行时候也就会快许多。9.7 出错处理设计9.7.1 出错输出信息系程序在运行时主要会出现三种错误:1SQL Server 不存在或拒绝访问;2无法打开数据库;3用户sa登录失败。对于这些信息的错误,可以根据系统提供的相应的错误提示语句
36、来进行解决。例如:第三个出错信息,原因:错误的用户和密码解决的办法:确认数据库用户存在,如果不存在再创建一个数据库用户,然后修改密码。9.7.2 出错处理对策所有的服务器都必须安装不间断电源以防止停电或电压不稳造成的数据丢失的损失。若真断电时,对于服务器,在断电后恢复过程可采用 SQL SERVER 的日志文件,对其进行 ROLLBACK 处理,对数据进行恢复。在网络传输方面,可考虑建立一条成本较低的后备网络,以保证当主网络断路时数据的通信。在硬件方面要选择较可靠、稳定的服务器机种,保证系统运行时的可靠性。9.8 安全保密设计9.8.1 数据安全性数据保存、传输过程的安全性309.8.2 登录
37、用户的安全性对用户的身份验证,系统设计了登录界面,每一个合法用户有一个密码,该密码由管理员来维护,从而实现对用户的身份验证,防止未经授权的人员非法进入该系统进行修改或查询数据,可以有效地防止数据的泄漏,避免对系统中的数据造成破坏。9.8.3 操作安全性用户分管理员和中心管理员两种,以此来区分不同用户的使用权限。9.9 维护设计数据维护工作一般是由数据库管理员负责,主要负责数据库的安全性和完整性以及进行并发性控制。数据库管理员负责维护数据库中的数据,当数据库中的数据类型,长度等发生变化时,或者需要添加某个数据项,数据库时要负责修改相关的数据库、数据字典、并通知有关人员。数据备份与恢复等,都是数据维护的内容。硬件设备维护由专职的硬件维护人员负责,主要有两种类型的维护活动,一种是定期的设备保养性维护,保养周期为一个月,主要是进行例行的设备检查与保养,另一种是突发性的故障维修,由专职的维修人员或请厂商来排除故障。