资源描述
自学考试毕业论文范文高等教育
高等教育自学考试毕业设计(论文)
题 目: 软件构件库管理系统
层 次: 本科
专 业: 计算机科学及技术
考 号:
学 生:
指导教师:
哈 尔 滨 工 业 大 学
2008年4 月13日
107 / 113
软件构件库管理系统
摘 要
目前,基于构件的软件开发是软件产业中的热点,它成为解决重复开发的问题,提高生产效率和质量的现实可行的途径。当软件构件的数量达到一定规模时,采用构件库管理系统对其进行组织和管理是十分必要的,构件库管理系统的组织和管理水平直接决定着构件复用效率。本文系统的介绍了构件库管理系统的开发过程,完成了对构件的发布、查询、修改以及下载功能,还有对用户管理和对构件的评论管理等功能。采用的技术是基于语言的开发技术,使用框架和框架组合,数据库是 2000
关键词 语言;软件构件;框架; 框架; 2000
, , , . a , a , . , a , , , . , 2000
; ; ;
; 2000
目 录
摘 要 I
1 绪论 1
1.1 立题背景、目的及意义 1
1.2 软件构件库管理系统的发展情况 2
1.2.1 国外研究动态 2
1.2.2 国内研究动态 3
2 系统开发环境 4
2.1 系统服务器环境要求 4
2.1.1 对硬件的要求 4
2.1.2 对软件的要求 4
2.2 系统客户端环境要求 4
2.2.1 对硬件的要求 4
2.2.2 对软件的要求 4
2.3 开发工具简介 5
2.3.1 框架介绍 5
2.3.2 对象关系映射框架介绍 5
2.3.3 2000 介绍 6
2.3.4 系统的开发平台 7
3 需求分析及可行性研究分析 9
3.1 需求分析 9
3.1.1 功能需求 9
3.1.2 数据需求 11
3.2 系统开发可行性分析 14
3.2.1 经济可行性 15
3.2.2 市场可行性 15
3.2.3 技术可行性 16
3.2.4 时间可行性 16
4 总体设计 18
4.1 系统的开发设计思想 18
4.2 系统功能设计 19
4.2.1 系统的功能模块划分 19
4.2.2 系统的类图 20
4.3 数据库设计 21
5 具体实现 24
5.1 查询构件及发表评论 25
5.1.1 查询构件 25
5.1.2 发表评论 27
5.2 用户管理模块实现 29
5.2.1 注册 29
5.2.2 登录 30
5.2.3 忘记密码 32
5.2.4 修改密码 33
5.2.5 修改个人资料 34
5.2.6 发布构件 36
5.2.7 查询我的构件 39
5.2.8 查询构件相应评论 41
5.2.9 删除构件 42
5.3 管理员管理模块实现 43
5.3.1 超级管理员管理模块 44
5.3.2 构件管理员管理模块 47
5.3.3 用户管理员管理模块 49
5.3.4 评论管理员管理模块 49
结论 51
致 谢 52
参考文献 53
附录1 英文原文及译文 55
中文译文 55
英文原文 58
附录2 程序源代 63
1 绪论
1.1 立题背景、目的及意义
目前,基于构件的软件开发是软件产业中的热点,它成为解决重复开发的问题,提高生产效率和质量的现实可行的途径。当构件的数量达到一定规模时,采用构件库管理系统对其进行组织和管理是十分必要的,构件库管理系统的组织和管理水平直接决定着构件复用效率。
软件复用是在软件开发中避免重复劳动的解决方案。通过软件复用,可以提高软件开发的效率和质量。近十几年来,面向对象技术出现并逐步成为主流技术,为软件复用提供了基本的技术支持。软件复用研究重新成为热点,被视为解决软件危机,提高软件生产效率和质量的现实可行的途径。当前软件构件技术被视为实现成功复用的关键因素之一。
软件构件( )是可复用的软件组成成份,可被用来构造其他软件。它可以是被封装的对象类、类树、一些功能模块、软件框架()、软件构架(或体系结构 )、文档、分析件、设计模式()等。构件分为构件类和构件实例,通过给出构件类的参数,生成实例,通过实例的组装和控制来构造相应的应用软件。
软件构件库管理系统的目的,就是对软件构件的存储、分类、检索和管理,为基于构件开发提供了全面支持。软件工程师可以快速准确地找到需要的构件,同时发布自己的构件,以达资源共享。
1.2 软件构件库管理系统的发展情况
1.2.1 国外研究动态
1968年软件工程会议,在提交会议的论文《大量生产的软件构件》中,提出了“软件组装生产线”的思想。从那以后,采用构件技术实现软件复用,采用“搭积木”的方式生产软件,成为软件开发人员长期的梦想。
经过这么多年的努力,开发人员提出了基于构件的软件开发( )技术,并且工业界中一些主要的软件公司和产业联盟纷纷提出了一些软件构件的建议标准和技术规范。目前,主流的软件构件技术标准有三种:微软公司的构件对象模型(),对象管理组织()的公共对象的请求代理系统结构()和太阳微软系统公司的( )。它们为应用软件的开发提供了可移植性、异构性的实现环境和健壮平台,结束了面向对象中的开发语言混乱的局面,解决软件复用在通信、互操作等环境异构的瓶颈问题。
在基于构件的软件开发技术中,软件构件库是管理软件构件及促进软件复用的核心机制,有效地对现有构件进行组织和管理,使构件的使用者可以高效而准确地发现满足其需要的可复用构件。软件构件化在发达国家已普及,美国军方及政府已经建立了、和等多个大型构件库系统,还有上万个商业软件构件()、近千个专业构件制作组织和一批商业构件库运作机构,形成了几百亿美元的构件市场。
1.2.2 国内研究动态
2002年7月,国务院47号文将构件库列为影响软件产业的重大关键性软件。2004年4月,科技部、发改委、商务部、信息产业部、国家标准化管理委员会在“国科发高字”124号文中,把发展“构件库”写进了2005年“加强软件企业技术创新”的目标中。
在基于的构件库管理系统、可扩展的软件建模系统等方面取得较大进展,软件开发平台已经形成了系列化软件。构件库系统完成了公共和企业两级构件库管理系统的研发,公共构件库已经在北京、上海、广州、沈阳、长沙、郑州、西安等8个地区部署并对外使用,支持了各地软件园区和863软件专业孵化器的软件构件库建设。
2 系统开发环境
2.1 系统服务器环境要求
2.1.1 对硬件的要求
服务器硬盘空间:数据库空间 360M (300M+ 60M) 构件实体空间由用户需求决定
内存:不小于 512M
推荐使用高性能的工作站,并且推荐配备磁盘阵列
2.1.2 对软件的要求
2000 操作系统或更高版本
2000数据库或更高版本
5.0 服务器或更高版本
2.2 系统客户端环境要求
2.2.1 对硬件的要求
客户机:586或更高性能的微机
内存:不小于128M
2.2.2 对软件的要求
5.0或更高版本的浏览器
2.3 开发工具简介
2.3.1 框架介绍
框架是开源软件联盟()的一个开源项目—— 。框架继承了设计模式的特性,遵守了J2的、等技术规范,并且根据J2的特点做了相应的变化和扩展,是J2体系架构的一种轻量级实现。作为一款优秀的 应用程序的开发框架,框架凭借其清晰性、灵活性,成为当前最为广泛应用的轻量级 开发框架。的工作的原理如图2-1所示。
图2-1 的工作原理
2.3.2 对象关系映射框架介绍
框架是开放源代码的对象关系映射工具( ),是一款基于环境的优秀的对象持久化开发框架。它根据(对象/关系)映射技术思想,对进行了轻量级封装,使开发人员可以使用一种面向对象的方式来操纵和管理关系数据库,所以从技术本质上来说该框架是一种提供面向对象的数据库服务中间件。
框架位于应用程序的业务化和持久化层,在运行时的体系结构如图2-2所示。
图2-2 核心接口的层次架构关系
的核心接口一共有5个,分别为、 、、和。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。
2.3.3 2000 介绍
2000 数据库在分析服务、数据转化服务、数据仓库等方面引入了大量新特性。它为标准提供了强劲的支持,并为系统管理和调整提供了很多有力的工具。
对于、等数据库而言, 是一个功能完备的正规数据库管理系统。 2000继承了数据库软件设计引擎方面的优势,已经成为新一代网络应用程序的最佳数据库和分析解决方案之一。作为 的核心组件,它将减少电子商务、在线商务和数据仓储应用程序推向市场时间,并对需要的环境提供可靠的支持。 2000对和提供充分的支持;提供分割装载和确保时间的特性;提供先进的管理和协调机制,可以自动管理线和任务,降低总体开销。另外, 2000充分利用了 2000的功能,包括支持活动目录服务,最多支持32个处理器和64的内存。它还包括支持开发引擎、标准的语言、扩展的特性等功能,这些是一些大型数据库系统才具备的特性。而存储过程、触发器等特性,也是个人数据库所没有的。总的来说, 2000简单易用,功能全,很适合做开发使用。
2.3.4 系统的开发平台
根据前面介绍可以看到架构只具备数据持久化设计能力,而架构则在模型设计方面能力薄弱,所以将二者结合起来使用,共同搭建系统结构实现模型设计,可以达到二者优势互补,从而使系统设计具备低耦合性以及较高的可维护性和可扩展性。
本系统就是采用这个思想来开发的,用框架实现视图和控制设计,用实现模型设计。在具体的设计过程中,采用“简单工厂设计模式”,将二者完整地结合起来,使系统符合到了“低耦合、高内聚”的程序设计要求,这样程序模块清晰,容易理解,具有很高的复用价值。下面是用图来描述本系统的体系结构如图2-3所示。
图2-3 系统体系结构图
3 需求分析及可行性研究分析
基于构件的软件开发技术,在我国有了初步发展,国家已经在北京、上海、广州、沈阳、长沙、郑州、西安等8个地区建立公共软件构件库并对外使用。构件库系统通过对可复用构件的分类、管理、存储和检索,为面向复用和基于复用的软件开发过程提供全面的支持。
本文所设计的软件构件库管理系统包括如下功能:用户管理、构件发布、构件查询、构件下载等。支持构件的使用者可以高效而准确地发现满足其需要的可复用构件,从而提高构件的复用效率。
知识点:
l 框架的使用
l 2000数据库设计
l 构件的分类
l 构件的存储
l 构件的查询
l 画图软件的应用
3.1 需求分析
3.1.1 功能需求
根据分析可以确定系统有两类参及者普通用户和管理员,管理员分为用户管理员、构件管理员、评论管理员。这两个参及者的具体操作如下。
1. 用户的操作
l 用户登录、用户注册、查询构件、发表评论。如图3-1所示。
图3-1 普通用户的基本操作用例图
l 发表构件、修改个人基本信息、修改密码、删除所发布的构件、查询评论。如图3-2所示。
图3-2 用户的操作用例图
2. 管理员的操作
l 管理员对管理员和用户的管理:查询用户、删除用户、添加管理员、删除管理员、修改管理员权限。如图3-3所示。
图3-3 管理员管理用户的用例图
l 管理员对构件或评论管理:查询构件、删除构件、查询评论、删除评论。如图3-4所示。
图3-4 管理员管理构件或评论的用例图
3.1.2 数据需求
软件构件库系统的开发目的就是提供给用户重用构件的平台,即用户可以发布自己的构件,并且可以查找、下载自己所需的构件,以推动软件构件化的发展。
由此,系统涉及到的实体有:普通用户、管理员、构件、评论。实体之间有如下联系:
l 一个用户可以发布多个构件
l 一个构件可以有多个评论
l 系统设一个超级管理员,主要是管理系统中其他管理员
l 不同的管理员有不同的权限
l 用户管理员可以管理所有的用户
l 构件管理员可以管理所有的构件以及构件的评论
l 用户可以管理自己的构件
l 用户可以查询自己构件的评论
经过分析画出图,如图3-6所示。
图3-6 实体关系图
根据实际情况的分析,设计出如下实体及其属性。
l 普通用户属性:用户()、用户名()、密码()、真实姓名()、找回密码问题()、问题答案()、性别()、()、地址()。如图3-7所示。
图3-7 普通用户的属性
l 管理员属性:管理员编号()、管理员名字()、密码()、管理员权限()。如图3-8所示。
图3-8 管理员的属性
l 构件信息属性:构件()、构件名称()、构件大小()、构件描述()、当前版本()、封装类型()、运行环境()、构件来源()(提供下载连接)、功能类型()、国际化支持()、开发商名字()、开发商主页()。如图3-9所示。
图3-9 构件属性
l 构件评论属性:评论()、构件()、评论内容()、评论时间()。如图3-10所示。
图3-10 构件评论属性
3.2 系统开发可行性分析
可行性分析是在用户的要求和系统调研的基础上进行的,对新系统的开发从经济、市场、技术、时间等方面进行分析,并得出新系统的开发工作可行、不可行、需要修改、追加投资、暂缓开发、分步实施等方案和结论,最后完成可行性分析。
3.2.1 经济可行性
经济可行性分析中最重要的内容之一是成本——效益分析。对于一个基于基本计算机系统的研制项目要在经济方面评价其是否合理,成本——效益分析要估计出研制开发的花费并及收益(包括有形的可以用货币计数的及无形的利益)衡量比较。
目前已有两台机。无须购买新的硬件设备。只要支付软件开发和维护费用,以及人员培训费用。系统投入运行后,会及大提高数据的管理效率。
3.2.2 市场可行性
要在软件系统的开发过程中有效的实现复用,必须要求复用达到一定的规模,必须有大量的可供开发人员选择的可复用构件。构件的数量越多,找到合适构件的可能性也就越大,应用系统的复用程度也就越高。
但是随着构件数量的增加,如何有效的对这些构件进行组织和管理成为了构件复用技术成败的关键。如果大量的构件没有被有效的组织和管理起来,那么要在一堆没有任何结构,散乱的构件中,找到满足特定需求的构件是一件十分困难的事情。因此,当构件的数量达到一定规模时,采用构件库对其进行组织和管理是十分必要的,构件库的组织和管理水平直接决定着构件复用的效率。
构件库是用于存储,检索,浏览和管理可复用构件的基础设施,构件库的组织和管理形式要有利于构件的存储和检索,其最关键的目标是支持构件的使用者可以高效而准确的发现满足其需要的可复用构件。
3.2.3 技术可行性
就目前使用的开发技术来说系统的功能目标能够达到;利用现有的技术在规定的期限内开发工作能够完成。
从目前市场上比较流行的开发来看,对于比较简单的中小型网站的开发框架和框架组合是一种比较好的解决方案。它为用户提供了所一贯坚持的界面友好、操作简单无疑是在实际应用中较为成功的用户界面,简洁明了的数据接口及语句的结合支持对数据库进行更为复杂的操作。结合本项目的实际情况来看,但是其业务流程和数据流程还是可以分析清楚的,经系统分析可以设计出符合实际需求、易于理解、易于操作、易于维护的后台数据库和前台应用程序。
3.2.4 时间可行性
根据学院及导师对毕业设计的要求,通过具体安排系统开发时间如下,并要求自己在每一阶段提前完成具体任务。
开发进度安排:
前期工作:
2007/10/22至2007/10/30 确定具体课题题目
2007/10/31至2008/01/16 完成课题的调查研究、可行性分析、设计目标、需要解决的关键问题、资料收集。
2008/01/18至2008/01/22 完成需求分析
2008/01/23至2008/02/01完成总体功能设计
后期工作:
2008/02/18至2008/02/28 系统的编码设计、系统性能测试分析
2008/02/28至2008/04/08 完成毕业设计论文的书写
2008/04/12 论文答辩
4 总体设计
4.1 系统的开发设计思想
系统是以浏览器/服务器模式开发的管理系统,系统具备如下功能。
l 系统允许用户注册、登录、查询构件以及对构件发表评论
l 用户可以发布构件、对自己注册信息管理,对自己所发布的构件进行管理
l 系统中有不同的管理员,包括超级管理员、用户管理员、构件管理员、评论管理员
l 系统管理员对数据库中所有的构件管理、对构件的评论、对用户管理,对管理员的管理
下面是系统的具体部署图,如图4-1所示。
图4-1 系统部署示意图
4.2 系统功能设计
4.2.1 系统的功能模块划分
根据对系统的实际需求分析,再结合自己的实际开发能力,总结出系统的总体设计,明确地划分出了系统的功能模块,该系统主要有用户管理员、管理员管理、构件管理、评论管理这4大模块组成。各个模块的具体实现功能用方框图来描述如图4-2所示。
软件构件库管理系统
用户登录
用户注册
用户管理
构件管理
评论管理
管理员管理
修改密码
查询所有用户
删除用户
添加管理员
删除管理员
用户信息修改
修改权限
查询构件
发布构件
删除构件
查询评论
删除评论
修改密码
按权限查询
按用户名查询
查询所有
模糊查询
查询管理员
发表评论
按封装语言查询
按用户查询
按功能类型查询
查询所有
按构件查询
图4-2 系统的总的功能模块图
4.2.2 系统的类图
通过对系统进行模块划分,明确系统的主要功能。再进一步分析,确定系统中的类,以及类及类之间的关系,下面是系统中涉及的类
l 普通用户() 主要方法:登录()、注册用户()、修改密码()、修改用户()、删除用户()、查询所有用户()。
l 管理员() 主要方法:登录()、添加管理员()、修改密码()、修改权限()、删除管理员()、按用户名查询()、按权限查询()、查询所有()。
l 构件() 主要方法:发布构件()、按功能类型查询()、按封装语言查询( )、模糊查询()、按用户查询()、查询所有()、删除构件()。
l 评论() 主要方法:发表评论()、删除评论()、按构件查询()、查询所有()。
下面是用图的形式来描述系统中的类,包括类的属性和方法,以及类及类的关系如图4-3所示。
图4-3 系统类图以及之间的关系
4.3 数据库设计
根据数据库的逻辑分析,在 2000数据库建立数据库表和数据字段。
有图分析可映射成如下4张表。
1. 用户信息表
表名,存放用户信息,物理结构如表4-1所示。
表4-1 用户信息表
字段名
类型
是否为主键
是否空
说明
是
否
用户
否
否
用户名
否
否
密码
否
是
真实姓名
否
是
找回密码问题
否
是
问题答案
否
是
性别
否
是
电子邮件
否
是
联系地址
2. 管理员信息表
表名,存放管理员信息,物理结构如表4-2所示。
表4-2 管理员信息表
字段名
类型
是否为主键
是否空
说明
是
否
管理员
是
否
管理员用户名
否
否
密码
否
否
权限
3.构件信息表
表名,存放构件信息,物理结构如表4-3所示。
表4-3 构件信息表
字段名
类型
是否为主键
是否空
说明
是
否
构件主键
否
否
发布人
否
否
构件名字
否
否
当前版本
否
否
封装语言
否
否
构件描述
否
否
运行环境
否
否
构件来源
否
否
功能类型
否
否
构件大小
续表4-3 构件信息表
否
否
国际化支持
否
是
开发商名字
否
是
开发商主页
否
是
发布日期
4.评论信息表
表名,存放评论内容,物理结构如表4-4所示。
表4-4 评论信息表
字段名
类型
是否为主
是否空
说明
是
否
评论主键
否
否
构件
否
否
评论内容
否
否
发表评论时间
5 具体实现
软件构件库管理系统主要有用户管理、管理员管理、构件管理、评论管理,这四大功能模块。这一章主要来介绍系统的各个模块的详细实现。
软件构件库管理系统的主界面如图5-1所示。
图5-1 系统首页示意图
软件构件库管理系统可以有以下使用方式:
l 注册
任何人在使用本系统之前(构件查询和发表评论除外),必须注册,申请成为本系统的合法用户。
l 用户登录→维护个人信息/构件发布/构件查询/评论查询→注销
用户使用用户名和密码登录到本系统后,可以进行个人信息维护、构件发布或管理自己的构件、评论查询的工作,完成之后注销用户身份。如想再使用本系统(构件查询除外),必须再次登录系统。
l 构件查询→发表评论
任何人员都可以不进行系统登录而直接查询构件,并且还可以发表评论。
l 系统管理员登录→维护系统管理员/维护用户/维护构件/维护评论→注销
系统管理员登录系统后,管理系统管理员信息、管理用户信息、管理构件信息、管理构件评论,完成之后注销用户身份,如果还想进行系统管理功能,必须再次登录。
5.1 查询构件及发表评论
5.1.1 查询构件
查询构件用户有两类:一类是未登录的用户,另一类是登录用户。未登录用户可以查看构件、发表评论,登录用户也可以查看构件、发表评论并且还可以管理自己的构件。
查询部分的主要功能,是帮助用户根据自己的需要查询、浏览、选取和提取构件库中的构件。系统为用户提供了3种查询构件的方式,分别是模糊查询、按封装语言查询、按功能类型查询。尽量保证用户快速、准确地查找到自己所需要的构件。
例如:用户采用模糊查询,可以在模糊查询文本框中输入关键字“”,系统将关键字及数据库存储的构件名称匹配,只要构件名称中含有“”字样,就将构件显示出来。下图是查询后的显示结果如图5-2所示。
图5-2 显示查询构件结果示意图
在此页面中,将显示出构件编号、构件名称、发布日期,这些构件信息。查询构件的操作顺序是:首先,用户进入查询构件页面(在首页也可以查询),其次,用户可以选择任何一种查询方式来查询构件,输入或选择查询条件,最后,点击相应的查询按钮。系统将显示查询结果,若是没有查询到构件,将显示为空。下面是查询构件的流程图如图5-3所示。
进入查询构件界面
选择查询方式
结 束
输入功能类型
显示查询结果
按封装语言查询
按功能类型
模糊查询
查 询
输入关键字
输入封装语言
图5-3 查询构件流程图
查询完毕之后,用户可以点击界面右侧的“查看构件详细”按钮,可以看到构件的详细,包括构件描述、当前版本、封装语言、运行环境、构件来源、功能类型、构件大小、国际化支持、开发商名称、开发商主页。用户可以根据开发商提供的来源地址下载构件,或者根据开发商提供的开发商主页地址,联系开发商,取得构件。
5.1.2 发表评论
任何用户都可以对构件发表评论,其中评论主题、内容不能为空,系统还要求填写验证码。该页面的显示效果如图5-4所示。
图5-4 发表评论界面示意图
用户填写完评论信息之后,点击“提交”,系统将检验评论主题、评论内容是否为空,若不为空,将评论信息保存到数据库中,若是为空,系统会显示出错误信息,只能重新发表。下面是发表评论的流程图,如图5-5所示。
填写主题、内容、验证码
检验是否为空
保存并发布
结 束
开 始
Y
N
图5-5 发表评论流程图
5.2 用户管理模块实现
5.2.1 注册
任何人在使用系统之前(除构件查询除外),必须先注册成为系统会员,点击主界面上的“用户注册”链接,可进入到“用户注册页面”如图5-6所示。
图5-6 用户注册界面示意图
在此界面上,需要填写的个人基本信息,包括用户名、密码、性别、找回密码问题、问题答案、真实姓名、联系地址、电子邮件,系统在注册时还要求用户正确填写验证码。用户填写完所有的信息之后,点击“注册”按钮,系统首先对所填信息进行检验,以确保信息合法,然后再把信息存储到数据库中。下面是用户注册的程序的流程图,如图5-7所示。
Y
N
Y
N
Y
N
Y
N
保存用户信息
用户名是否存在
验证码对否
验证两次输入密码是否一致
基本信息是否空
填写基本信息、验证码
开 始
结束
图5-7 用户注册流程图
5.2.2 登录
用户要向发布构件必须先登录系统,系统登录界面如图5-8所示。
图5-8 用户登录界面示意图
在此界面上,用户需要填写自己的用户名和密码,以及系统需要的验证码,填写完整之后,点击“用户登录”按钮,系统先检测输入的信息是否合法,如果合法,再去数据库中查找用户是否存在,程序流程图如图5-9所示。
开 始
验证码正确?
输入用户名、密码、验证码
结束
登录成功并进入主界面
N
用户名、密码合法吗
N
Y
图5-9 用户登录流程图
经过系统查找之后,如果用户存在,将显示登录成功界面如图5-10所示。
图5-10 用户登录成功界面示意图
5.2.3 忘记密码
由于某种原因,用户忘记了密码,系统为用户提供了找回密码的功能。如果用户忘记了密码,可以点击界面上的“忘记密码”链接进入找回密码界面,如图5-11所示。
图5-11 找回密码界面示意图
在此界面上,用户根据用户名、注册时填写的找回密码问题以及问题答案这3项信息向系统询问。系统首先找到对应的用户,再将现在填写的找回密码问题以及问题答案及数据库中的这些信息匹配,若是匹配成功,系统会让用户重新设置密码;若是匹配不成功,系统将给出错误提示。下面是找回密码功能模块的流程图,如图5-12所示。
开 始
输入用户名
结 束
密码、确认密码是否一致
保存密码
Y
N
输入新密码、确认密码
答案是否正确
N
Y
显示找回密码问题
输入问题答案
图5-12 找回密码流程图
5.2.4 修改密码
用户登录成功之后,可以进入“我的帐户”,在此界面上有修改密码链接,用户点击“修改密码”,进入修改密码页面,如图5-13所示。
图5-13 修改密码示意图
用户填写原密码、新密码、新密码确认,可以随时修改密码。下面是修改密码的流程图,如图5-14所示。
结 束
Y
N
保 存
输入原密码、新密码、确认密码
原密码正确吗
新密码、确认密码是否一致
Y
N
开 始
图5-14 修改密码流程图
5.2.5 修改个人资料
同样,在“我的帐户”页面里,系统也给出了修改个人资料链接,用户点击左侧的“用户信息”在右侧可看到个人资料,如图5-15所示。在这里,用户点击“用户信息”时,系统按照用户查询用户信息,从数据库中查询出来信息并显示给用户,用户可以修改以前的个人信息。修改完之后,用户点击“修改”按钮,系统开始检查用户重新修改的信息,其中“用户名”不能为空,若是为空,系统将提示错误信息。检查完之后,系统将新的信息保存到数据库中。
图5-15 修改个人资料示意图
用户可以修改个人资料,下面是修改个人资料的流程图如图5-16所示。
输入的信息合法吗
开始
获得用户
查询个人信息
结束
显示个人信息
保存
N
Y
修改个人信息
图5-16 修改个人资料流程图
5.2.6 发布构件
用户如果希望别人使用自己的构件,首先必须在网上发布这些构件相关信息。用户必须登录系统,才能发布构件,在“我的帐户”页面中,系统给出了发布构件的链接,发布构件界面如图5-17所示。
图5-17 发布构件页面示意图
在发布软件构件时,用户需要填写以下信息项:
l 构件名称
构件必须有名称,名称不能为空,模糊查询就是根据构件名称来查找的,所以名称非常重要。
l 构件描述
构件描述是对构件的详细说明,包括软件构件的结构、内容、所采用的数据结构、使用方法等。系统允许用户填写可达2000字的构件描述内容。总之,描述的越详细,其他用户就越容易理解构件。
l 封装语言
封装语言是指构件是什么语言编写的,系统以下拉列表的形式提供给用户选择,包括语言、相关、、、、、、和其他。系统提供给用户一个按封装语言的查询方式,所以用户必须认真填写这一项。
l 功能类型
功能类型是指构件的用途,也是以下拉列表的形式给出,包括系统和安全、程序开发、数据库相关、网络及通信、中间件、文件处理、标记语言()相关、用户界面、实用工具、信息管理、办公应用、应用、领域相关和其他。
l 国际化支持
是指能使用于什么语言,包括简体中文、繁体中文、日语、英语和其他。
l 构件来源
构件是来源是下载构件的链接地址,用户可以填写,也可以不填写。
l 构件大小
l 当前版本
当前版本包括:阿尔法()内部测试版、贝它()外部测试版、成熟()版本、试用版本()。
l 运行环境
系统的运行环境包括:、2、、、 、 2000等。
l 开发商名称
开发商名称是指谁开发的构件,发布时应该写清楚。
l 开发商主页
为了便于和开发商联系,应该把开发商主页也写上。
完整填写构件信息之后,点击“确认提交”按钮,系统检查构件信息,若是信息合法,就会将其保存到数据库。下面是系统实现的流程图如图5-18所示。
开 始
填写构件信息
构件名称为空吗?
保 存
结 束
构件来源填写规范吗?
开发商主页填写规范?
Y
N
Y
N
Y
Y
是否填写构件来源或开发商主页
N
图 5-18 发布构件的流程图
5.2.7 查询我的构件
1. 查询构件列表
用户登录系统后,可以查询自己所发布的构件。在“我的帐户”页面中,用户点击“我的构件”系统将自动获得用户编号并按照用户编号查询所有的构件,以列表的形式显示出来,如图5-19所示。
图5-19 显示我的构件示意图
在此页面上,将显示出构件编号、构件名称、发布时间,下面是查询过程的流程图,如图5-20所示。
开 始
获得用户
按本人查询
显示构件
结束
图5-20 按用户查询本人发布的构件流程图
2.查询构件详细信息
上面只显示构件编号、构件名称、发布时间,构件信息不够详细,在每一行后面都有一个“查询构件详细”按钮,用户点击此按钮,系统自动获得构件编号,并按照构件编号查询构件的详细信息,如图5-21所示。
图5-21 显示构件详细内容示意图
在此页面上,将显示出构件的详细信息,到此构件的完整的查询过程全部完成。下面是查询构件详细的流程图如图5-22所示。
开 始
获得构件
按构件查询
显示构件
结束
图5-22 按构件查询构件程序流程图
5.2.8 查询构件相应评论
在显示构件详细信息页面中,系统设置了“查询评论”按钮,用户可以点击此按钮,系统会自动获得构件编号,按构件编号查询其他用户对本构件所发表的评论。系统只允许用户查看评论,不允许用户对评论做任何操作。查询结果如图5-23所示。
图5-23 构件的相关评论示意图
系统显示出了评论编号、评论主题、评论内容、评论时间,查询过程的流程图如图5-24所示。
开始
获得构件
按构件查询
显示评论
结束
图5-24 查询评论流程图
5.2.9 删除构件
用户可以删除自己所发布的构件,在显示构件详细信息页面中,系统设有“删除”按钮。用户点击此按钮,系统将自动获得构件编号,按照构件编号查到对应的构件将其删除,删除成功后,系统将给出提示,如图5-25所示。
图5-25 删除构件成功界面示意图
下面是删除构件数据库操作代码:
( ) {
= ;
= ;
{
= ();
= ();
= () (
, ());
();
("删除成功");
();
();
= ;
} ( ) {
( ) {
();
}
();
} {
();
}
;}
5.3 管理员管理模块实现
系统管理员不是从主界面登录到系统的,系统为管理员设有独立的登录窗口如图5-26所示。
图5-26 管理员登录界面示意图
该页面只允许系统管理员登录,管理员按照拥有不同的权限分为:
l 超级管理员
超级管理员只有一个,它主要负责管理员系统中所有的管理员,可以添加管理员、修改管理员权限、查找所有的管理员、删除管理员
l 用户管理员
它主要负责管理系统中的所有的用户,可以查找所有的用户、删除用户。
l 构件管理员
它主要负责管理数据库中所有的构件,可以查询所有的构件、删除构件
l 评论管理员
它负责管理数据库中所有的评论,可以查询所有评论、删除评论。
5.3.1 超级管理员管理模块
1.添加管理员
系统中的所有管理员都是由超级管理员添加的,超级管理员登录到系统之后,便进入超级管理员管理中心。如图5-27所示。
图5-27 添加管理员界面示意图
在此界面上,超级管理员需要填写管理员名称、管理员密码、确认密码、选择管理权限和系统所需要的验证码。系统首先检查管理员名称是否为空,若是为空,系统将提示错误并且结束;若是不为空,再检查密码和确认密码是否正确,若是不正确,系统将提示错误并结束;若是正确,检查验证码是否相等,若是不相等,同样提示错误并结束;若是相等,将保存管理员信息。下面是添加管理员模块的流程图如图5-28所示。
开始
结束
输入管理员名称、密码、确认密码、验证码
选择管理权限
输入信息是否为空
密码、确认密码相等?
验证码是否正确
保存管理员信息
Y
Y
N
Y
N
N
图5-28 添加管理员流程图
2. 查询管理员
超级管理员可以查询所有的系统管理员,在超级管理员管理中心,超级管理员点击查
展开阅读全文