已阅读5页,还剩86页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件构件库管理系统摘 要目前,基于构件的软件开发是软件产业中的热点,它成为解决重复开发的问题,提高生产效率和质量的现实可行的途径。当软件构件的数量达到一定规模时,采用构件库管理系统对其进行组织和管理是十分必要的,构件库管理系统的组织和管理水平直接决定着构件复用效率。本文系统的介绍了构件库管理系统的开发过程,完成了对构件的发布、查询、修改以及下载功能,还有对用户管理和对构件的评论管理等功能。采用的技术是基于java语言的web开发技术,使用struts框架和hibernate框架组合,数据库是microsoft sqlserver 2000关键词 java语言;软件构件;struts框架; hibernate框架;microsoft sqlserver2000software component library management systemabstractat present, the component-based software development in the software industry is hot, it developed to solve the problem of duplication, improve production efficiency and quality of the realistic way. when the number of components to achieve a certain scale, a component library management system and its management is very necessary, component library management system for the organization and management directly determines the efficiency of component reuse. this paper introduces component library management system development process, completed a component of the release, query, modify and download capabilities, and management and user comments on the component management. the technology used is based on the web java language development technology, the use of framework and hibernate struts framework composition database is microsoft sql server 2000keywords java; software component; struts framework;hibernate framework; microsoft sql server 2000目 录摘 要iabstractii1 绪论11.1 立题背景、目的及意义11.2 软件构件库管理系统的发展情况21.2.1 国外研究动态21.2.2 国内研究动态32 系统开发环境42.1 系统服务器环境要求42.1.1 对硬件的要求42.1.2 对软件的要求42.2 系统客户端环境要求42.2.1 对硬件的要求42.2.2 对软件的要求42.3 开发工具简介52.3.1 struts框架介绍52.3.2 hibernate对象关系映射框架介绍52.3.3 sql server 2000 介绍62.3.4 系统的开发平台73 需求分析及可行性研究分析93.1 需求分析93.1.1 功能需求93.1.2 数据需求113.2 系统开发可行性分析143.2.1 经济可行性153.2.2 市场可行性153.2.3 技术可行性163.2.4 时间可行性164 总体设计184.1 系统的开发设计思想184.2 系统功能设计194.2.1 系统的功能模块划分194.2.2 系统的类图204.3 数据库设计215 具体实现245.1 查询构件及发表评论255.1.1 查询构件255.1.2 发表评论275.2 用户管理模块实现295.2.1 注册295.2.2 登录305.2.3 忘记密码325.2.4 修改密码335.2.5 修改个人资料345.2.6 发布构件365.2.7 查询我的构件395.2.8 查询构件相应评论415.2.9 删除构件425.3 管理员管理模块实现435.3.1 超级管理员管理模块445.3.2 构件管理员管理模块475.3.3 用户管理员管理模块495.3.4 评论管理员管理模块49结论51致 谢52参考文献53附录1 英文原文及译文55中文译文55英文原文58附录2 程序源代63v 1 绪论1.1 立题背景、目的及意义目前,基于构件的软件开发是软件产业中的热点,它成为解决重复开发的问题,提高生产效率和质量的现实可行的途径。当构件的数量达到一定规模时,采用构件库管理系统对其进行组织和管理是十分必要的,构件库管理系统的组织和管理水平直接决定着构件复用效率。软件复用是在软件开发中避免重复劳动的解决方案。通过软件复用,可以提高软件开发的效率和质量。近十几年来,面向对象技术出现并逐步成为主流技术,为软件复用提供了基本的技术支持。软件复用研究重新成为热点,被视为解决软件危机,提高软件生产效率和质量的现实可行的途径。当前软件构件技术被视为实现成功复用的关键因素之一。软件构件(software component)是可复用的软件组成成份,可被用来构造其他软件。它可以是被封装的对象类、类树、一些功能模块、软件框架(framework)、软件构架(或体系结构 architectural)、文档、分析件、设计模式(pattern)等。构件分为构件类和构件实例,通过给出构件类的参数,生成实例,通过实例的组装和控制来构造相应的应用软件。软件构件库管理系统的目的,就是对软件构件的存储、分类、检索和管理,为基于构件开发提供了全面支持。软件工程师可以快速准确地找到需要的构件,同时发布自己的构件,以达资源共享。1.2 软件构件库管理系统的发展情况1.2.1 国外研究动态1968年nato软件工程会议,mcllroy在提交会议的论文大量生产的软件构件中,提出了“软件组装生产线”的思想。从那以后,采用构件技术实现软件复用,采用“搭积木”的方式生产软件,成为软件开发人员长期的梦想。经过这么多年的努力,开发人员提出了基于构件的软件开发(cbsd:component-based software development)技术,并且工业界中一些主要的软件公司和产业联盟纷纷提出了一些软件构件的建议标准和技术规范。目前,主流的软件构件技术标准有三种:微软公司的构件对象模型(com),对象管理组织(omg)的公共对象的请求代理系统结构(corba)和太阳微软系统公司的ejb(enterprise java bean)。它们为应用软件的开发提供了可移植性、异构性的实现环境和健壮平台,结束了面向对象中的开发语言混乱的局面,解决软件复用在通信、互操作等环境异构的瓶颈问题。在基于构件的软件开发技术中,软件构件库是管理软件构件及促进软件复用的核心机制,有效地对现有构件进行组织和管理,使构件的使用者可以高效而准确地发现满足其需要的可复用构件。软件构件化在发达国家已普及,美国军方与政府已经建立了cards、asset和dars等多个大型构件库系统,还有上万个商业软件构件(cots)、近千个专业构件制作组织和一批商业构件库运作机构,形成了几百亿美元的构件市场。1.2.2 国内研究动态2002年7月,国务院47号文将构件库列为影响软件产业的重大关键性软件。2004年4月,科技部、发改委、商务部、信息产业部、国家标准化管理委员会在“国科发高字”124号文中,把发展“构件库”写进了2005年“加强软件企业技术创新”的目标中。在基于internet的构件库管理系统、可扩展的软件建模系统等方面取得较大进展,软件开发平台已经形成了系列化软件。构件库系统完成了公共和企业两级构件库管理系统的研发,公共构件库已经在北京、上海、广州、沈阳、长沙、郑州、西安等8个地区部署并对外使用,支持了各地软件园区和863软件专业孵化器的软件构件库建设。2 系统开发环境2.1 系统服务器环境要求2.1.1 对硬件的要求服务器硬盘空间:数据库空间 360m (db300mlog 60m) 构件实体空间由用户需求决定 内存:不小于 512m 推荐使用高性能的工作站,并且推荐配备磁盘阵列2.1.2 对软件的要求microsoft windows 2000 server操作系统或更高版本microsoft sql server 2000数据库或更高版本tomcat5.0 web 服务器或更高版本2.2 系统客户端环境要求2.2.1 对硬件的要求客户机:intel586或更高性能的微机 内存:不小于128m2.2.2 对软件的要求microsoft ie 5.0或更高版本的web浏览器2.3 开发工具简介2.3.1 struts框架介绍struts框架是apache开源软件联盟()的一个开源项目jakarta struts framework。struts框架继承了mvc设计模式的特性,遵守了j2ee的servlet、jsp等技术规范,并且根据j2ee的特点做了相应的变化和扩展,是j2ee体系架构的一种轻量级实现。作为一款优秀的java web应用程序的开发框架,struts框架凭借其清晰性、灵活性,成为当前最为广泛应用的轻量级java web 开发框架。struts的工作的原理如图2-1所示。图2-1 struts的工作原理2.3.2 hibernate对象关系映射框架介绍hibernate框架是开放源代码的对象关系映射工具(object-relational mapping),是一款基于java环境的优秀的对象持久化开发框架。它根据o/r(对象/关系)映射技术思想,对jdbc进行了轻量级封装,使开发人员可以使用一种面向对象的方式来操纵和管理关系数据库,所以从技术本质上来说该框架是一种提供面向对象的数据库服务中间件。hibernate框架位于应用程序的业务化和持久化层,在运行时的体系结构如图2-2所示。图2-2 hibernate核心接口的层次架构关系hibernate的核心接口一共有5个,分别为:session、session factory、transaction、query和configuration。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。2.3.3 sql server 2000 介绍microsoft sql server 2000 数据库在分析服务、数据转化服务、数据仓库等方面引入了大量新特性。它为web标准提供了强劲的支持,并为系统管理和调整提供了很多有力的工具。对于foxpro、access等数据库而言,sql server是一个功能完备的正规数据库管理系统。sql server2000继承了数据库软件设计引擎方面的优势,已经成为新一代网络应用程序的最佳数据库和分析解决方案之一。作为microsoft.net enterprise servers的核心组件,它将减少电子商务、在线商务和数据仓储应用程序推向市场时间,并对需要的环境提供可靠的支持。sql server2000对xml和http提供充分的支持;提供分割装载和确保时间的特性;提供先进的管理和协调机制,可以自动管理线和任务,降低总体开销。另外,sql server2000充分利用了windows 2000的功能,包括支持活动目录服务,最多支持32个处理器和64gb的内存。它还包括支持开发引擎、标准的sql语言、扩展的特性等功能,这些是一些大型数据库系统才具备的特性。而存储过程、触发器等特性,也是个人数据库所没有的。总的来说,sql server2000简单易用,功能全,很适合做开发使用。2.3.4 系统的开发平台根据前面介绍可以看到hibenate架构只具备数据持久化设计能力,而struts架构则在模型设计方面能力薄弱,所以将二者结合起来使用,共同搭建系统结构实现model-view-contral模型设计,可以达到二者优势互补,从而使系统设计具备低耦合性以及较高的可维护性和可扩展性。本系统就是采用这个思想来开发的,用struts框架实现视图和控制设计,用hibernate实现模型设计。在具体的设计过程中,采用“简单工厂设计模式”,将二者完整地结合起来,使系统符合到了“低耦合、高内聚”的程序设计要求,这样程序模块清晰,容易理解,具有很高的复用价值。下面是用图来描述本系统的体系结构如图2-3所示。图2-3 系统体系结构图3 需求分析及可行性研究分析基于构件的软件开发技术,在我国有了初步发展,国家已经在北京、上海、广州、沈阳、长沙、郑州、西安等8个地区建立公共软件构件库并对外使用。构件库系统通过对可复用构件的分类、管理、存储和检索,为面向复用和基于复用的软件开发过程提供全面的支持。 本文所设计的软件构件库管理系统包括如下功能:用户管理、构件发布、构件查询、构件下载等。支持构件的使用者可以高效而准确地发现满足其需要的可复用构件,从而提高构件的复用效率。知识点:l struts+hibernate框架的使用l sql server2000数据库设计l 构件的分类l 构件的存储l 构件的查询l office visio画图软件的应用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 用户可以查询自己构件的评论经过分析画出e-r图,如图3-6所示。图3-6实体关系图根据实际情况的分析,设计出如下实体及其属性。l 普通用户属性:用户id(personid)、用户名(username)、密码(userpassword)、真实姓名(truename)、找回密码问题(userques)、问题答案(userans)、性别(sex)、email(email)、地址(adress)。如图3-7所示。图3-7普通用户的属性l 管理员属性:管理员编号(adminid)、管理员名字(adminname)、密码(adminpassword)、管理员权限(power)。如图3-8所示。图3-8 管理员的属性l 构件信息属性:构件id(componentid)、构件名称(componentname)、构件大小(componentsize)、构件描述(componentdescribe)、当前版本(currentedition)、封装类型(encapulationtype)、运行环境(runenvironment)、构件来源(componenturl)(提供下载连接)、功能类型(functiontype)、国际化支持(nationsustain)、开发商名字(empoldername)、开发商主页(empolderblog)。如图3-9所示。图3-9构件属性l 构件评论属性:评论id(commentid)、构件id(componentid)、评论内容(commentcontent)、评论时间(commentdate)。如图3-10所示。图3-10 构件评论属性3.2 系统开发可行性分析可行性分析是在用户的要求和系统调研的基础上进行的,对新系统的开发从经济、市场、技术、时间等方面进行分析,并得出新系统的开发工作可行、不可行、需要修改、追加投资、暂缓开发、分步实施等方案和结论,最后完成可行性分析。3.2.1 经济可行性经济可行性分析中最重要的内容之一是成本效益分析。对于一个基于基本计算机系统的研制项目要在经济方面评价其是否合理,成本效益分析要估计出研制开发的花费并与收益(包括有形的可以用货币计数的及无形的利益)衡量比较。目前已有两台pc机。无须购买新的硬件设备。只要支付软件开发和维护费用,以及人员培训费用。系统投入运行后,会及大提高数据的管理效率。3.2.2 市场可行性要在软件系统的开发过程中有效的实现复用,必须要求复用达到一定的规模,必须有大量的可供开发人员选择的可复用构件。构件的数量越多,找到合适构件的可能性也就越大,应用系统的复用程度也就越高。但是随着构件数量的增加,如何有效的对这些构件进行组织和管理成为了构件复用技术成败的关键。如果大量的构件没有被有效的组织和管理起来,那么要在一堆没有任何结构,散乱的构件中,找到满足特定需求的构件是一件十分困难的事情。因此,当构件的数量达到一定规模时,采用构件库对其进行组织和管理是十分必要的,构件库的组织和管理水平直接决定着构件复用的效率。构件库是用于存储,检索,浏览和管理可复用构件的基础设施,构件库的组织和管理形式要有利于构件的存储和检索,其最关键的目标是支持构件的使用者可以高效而准确的发现满足其需要的可复用构件。 3.2.3 技术可行性就目前使用的开发技术来说系统的功能目标能够达到;利用现有的技术在规定的期限内开发工作能够完成。从目前市场上比较流行的web开发来看,对于比较简单的中小型网站的开发struts框架和hiberbate框架组合是一种比较好的解决方案。它为用户提供了windows所一贯坚持的界面友好、操作简单无疑是在实际应用中较为成功的用户界面,简洁明了的数据接口与sql语句的结合支持对数据库进行更为复杂的操作。结合本项目的实际情况来看,但是其业务流程和数据流程还是可以分析清楚的,经系统分析可以设计出符合实际需求、易于理解、易于操作、易于维护的后台数据库和前台应用程序。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-2所示。软件构件库管理系统用户登录用户注册用户管理构件管理评论管理管理员管理修改密码查询所有用户删除用户添加管理员删除管理员用户信息修改修改权限查询构件发布构件删除构件查询评论删除评论修改密码按权限查询按用户名查询查询所有模糊查询查询管理员发表评论按封装语言查询按用户查询按功能类型查询查询所有按构件查询图4-2系统的总的功能模块图4.2.2 系统的类图通过对系统进行模块划分,明确系统的主要功能。再进一步分析,确定系统中的类,以及类与类之间的关系,下面是系统中涉及的类l 普通用户(userdao) 主要方法:登录(login)、注册用户(registerperson)、修改密码(updatepasswor)、修改用户(updateperson)、删除用户(deleteperson)、查询所有用户(querygetall)。l 管理员(admindao)主要方法:登录(login)、添加管理员(addadmin)、修改密码(updatepassword)、修改权限(updatepower)、删除管理员(deleteadmin)、按用户名查询(querybyname)、按权限查询(querybypower)、查询所有(getall)。l 构件(componentdao)主要方法:发布构件(addcomponent)、按功能类型查询(getbyfunctiontype)、按封装语言查询(getby encapulationlanguage)、模糊查询(getbyindexname)、按用户id查询(getbypersonid)、查询所有(querygetall)、删除构件(deletecomponent)。l 评论(commentdao)主要方法:发表评论(issuecomment)、删除评论(deletecomment)、按构件id查询(getbycomponentid)、查询所有(getall)。下面是用图的形式来描述系统中的类,包括类的属性和方法,以及类与类的关系如图4-3所示。图4-3系统类图以及之间的关系4.3 数据库设计根据数据库的逻辑分析,在microsoft sql server 2000数据库建立数据库表和数据字段。有e-r图分析可映射成如下4张表。1. 用户信息表表名data_user,存放用户信息,物理结构如表4-1所示。表4-1用户信息表data_user字段名类型是否为主键是否空说明personidint是否用户idusernamechar否否用户名userpasswordchar否否密码truenamechar否是真实姓名userqueschargo否是找回密码问题useranschar否是问题答案sexchar否是性别emailchar否是电子邮件addressvarchar否是联系地址2. 管理员信息表表名data_admin,存放管理员信息,物理结构如表4-2所示。表4-2管理员信息表data_admin字段名类型是否为主键 是否空说明adminidint是否管理员idadminnamechar是否管理员用户名adminpasswordchar否否密码powerchar否否权限3.构件信息表表名data_component,存放构件信息,物理结构如表4-3所示。表4-3构件信息表data_component字段名类型是否为主键是否空说明componentidint是否构件主键personidint否否发布人componentnamevarchar否否构件名字currenteditionchar否否当前版本encapulationlanguagechar否否封装语言componentdescribntext否否构件描述runenvironmentvarchar否否运行环境componenturlvarchar否否构件来源functiontypevarchar否否功能类型componentsizefloat否否构件大小续表4-3构件信息表data_componentnationsustainchar否否国际化支持empoldernamevarchar否是开发商名字empolderblogchar否是开发商主页adddatedate否是发布日期4.评论信息表表名data_comment,存放评论内容,物理结构如表4-4所示。表4-4评论信息表data_comment字段名类型是否为主是否空说明commentidint是否评论主键componentidint否否构件idcommentcontentvarchar否否评论内容commentdatedatetime否否发表评论时间5 具体实现软件构件库管理系统主要有用户管理、管理员管理、构件管理、评论管理,这四大功能模块。这一章主要来介绍系统的各个模块的详细实现。软件构件库管理系统的主界面如图5-1所示。图5-1 系统首页示意图软件构件库管理系统可以有以下使用方式:l 注册任何人在使用本系统之前(构件查询和发表评论除外),必须注册,申请成为本系统的合法用户。l 用户登录维护个人信息/构件发布/构件查询/评论查询注销 用户使用用户名和密码登录到本系统后,可以进行个人信息维护、构件发布或管理自己的构件、评论查询的工作,完成之后注销用户身份。如想再使用本系统(构件查询除外),必须再次登录系统。l 构件查询发表评论任何人员都可以不进行系统登录而直接查询构件,并且还可以发表评论。l 系统管理员登录维护系统管理员/维护用户/维护构件/维护评论注销系统管理员登录系统后,管理系统管理员信息、管理用户信息、管理构件信息、管理构件评论,完成之后注销用户身份,如果还想进行系统管理功能,必须再次登录。5.1 查询构件及发表评论5.1.1 查询构件查询构件用户有两类:一类是未登录的用户,另一类是登录用户。未登录用户可以查看构件、发表评论,登录用户也可以查看构件、发表评论并且还可以管理自己的构件。查询部分的主要功能,是帮助用户根据自己的需要查询、浏览、选取和提取构件库中的构件。系统为用户提供了3种查询构件的方式,分别是模糊查询、按封装语言查询、按功能类型查询。尽量保证用户快速、准确地查找到自己所需要的构件。例如:用户采用模糊查询,可以在模糊查询文本框中输入关键字“jsp”,系统将关键字与数据库存储的构件名称匹配,只要构件名称中含有“jsp”字样,就将构件显示出来。下图是查询后的显示结果如图5-2所示。图5-2 显示查询构件结果示意图在此页面中,将显示出构件编号、构件名称、发布日期,这些构件信息。查询构件的操作顺序是:首先,用户进入查询构件页面(在首页也可以查询),其次,用户可以选择任何一种查询方式来查询构件,输入或选择查询条件,最后,点击相应的查询按钮。系统将显示查询结果,若是没有查询到构件,将显示为空。下面是查询构件的流程图如图5-3所示。 进入查询构件界面选择查询方式结 束输入功能类型显示查询结果按封装语言查询按功能类型模糊查询查 询输入关键字输入封装语言图5-3 查询构件流程图查询完毕之后,用户可以点击界面右侧的“查看构件详细”按钮,可以看到构件的详细,包括构件描述、当前版本、封装语言、运行环境、构件来源、功能类型、构件大小、国际化支持、开发商名称、开发商主页。用户可以根据开发商提供的来源地址下载构件,或者根据开发商提供的开发商主页地址,联系开发商,取得构件。5.1.2 发表评论任何用户都可以对构件发表评论,其中评论主题、内容不能为空,系统还要求填写验证码。该页面的显示效果如图5-4所示。图5-4 发表评论界面示意图用户填写完评论信息之后,点击“提交”,系统将检验评论主题、评论内容是否为空,若不为空,将评论信息保存到数据库中,若是为空,系统会显示出错误信息,只能重新发表。下面是发表评论的流程图,如图5-5所示。填写主题、内容、验证码检验是否为空保存并发布结 束开 始yn图5-5 发表评论流程图5.2 用户管理模块实现5.2.1 注册任何人在使用系统之前(除构件查询除外),必须先注册成为系统会员,点击主界面上的“用户注册”链接,可进入到“用户注册页面”如图5-6所示。 图5-6 用户注册界面示意图 在此界面上,需要填写的个人基本信息,包括用户名、密码、性别、找回密码问题、问题答案、真实姓名、联系地址、电子邮件,系统在注册时还要求用户正确填写验证码。用户填写完所有的信息之后,点击“注册”按钮,系统首先对所填信息进行检验,以确保信息合法,然后再把信息存储到数据库中。下面是用户注册的程序的流程图,如图5-7所示。ynynynyn保存用户信息用户名是否存在验证码对否验证两次输入密码是否一致基本信息是否空填写基本信息、验证码开 始结束图5-7 用户注册流程图5.2.2 登录用户要向发布构件必须先登录系统,系统登录界面如图5-8所示。 图5-8 用户登录界面示意图在此界面上,用户需要填写自己的用户名和密码,以及系统需要的验证码,填写完整之后,点击“用户登录”按钮,系统先检测输入的信息是否合法,如果合法,再去数据库中查找用户是否存在,程序流程图如图5-9所示。开 始验证码正确?输入用户名、密码、验证码结束登录成功并进入主界面n用户名、密码合法吗yyny图5-9 用户登录流程图经过系统查找之后,如果用户存在,将显示登录成功界面如图5-10所示。图5-10 用户登录成功界面示意图5.2.3 忘记密码由于某种原因,用户忘记了密码,系统为用户提供了找回密码的功能。如果用户忘记了密码,可以点击界面上的“忘记密码”链接进入找回密码界面,如图5-11所示。图5-11 找回密码界面示意图在此界面上,用户根据用户名、注册时填写的找回密码问题以及问题答案这3项信息向系统询问。系统首先找到对应的用户,再将现在填写的找回密码问题以及问题答案与数据库中的这些信息匹配,若是匹配成功,系统会让用户重新设置密码;若是匹配不成功,系统将给出错误提示。下面是找回密码功能模块的流程图,如图5-12所示。开 始输入用户名结 束密码、确认密码是否一致保存密码yn输入新密码、确认密码答案是否正确ny显示找回密码问题输入问题答案图5-12 找回密码流程图5.2.4 修改密码用户登录成功之后,可以进入“我的帐户”,在此界面上有修改密码链接,用户点击“修改密码”,进入修改密码页面,如图5-13所示。图5-13 修改密码示意图 用户填写原密码、新密码、新密码确认,可以随时修改密码。下面是修改密码的流程图,如图5-14所示。结 束yn保 存输入原密码、新密码、确认密码原密码正确吗新密码、确认密码是否一致yn开 始图5-14 修改密码流程图5.2.5 修改个人资料同样,在“我的帐户”页面里,系统也给出了修改个人资料链接,用户点击左侧的“用户信息”在右侧可看到个人资料,如图5-15所示。在这里,用户点击“用户信息”时,系统按照用户id查询用户信息,从数据库中查询出来信息并显示给用户,用户可以修改以前的个人信息。修改完之后,用户点击“修改”按钮,系统开始检查用户重新修改的信息,其中“用户名”不能为空,若是为空,系统将提示错误信息。检查完之后,系统将新的信息保存到数据库中。图5-15 修改个人资料示意图 用户可以修改个人资料,下面是修改个人资料的流程图如图5-16所示。输入的信息合法吗开始获得用户id查询个人信息结束显示个人信息保存ny修改个人信息图5-16 修改个人资料流程图5.2.6 发布构件用户如果希望别人使用自己的构件,首先必须在网上发布这些构件相关信息。用户必须登录系统,才能发布构件,在“我的帐户”页面中,系统给出了发布构件的链接,发布构件界面如图5-17所示。图5-17 发布构件页面示意图在发布软件构件时,用户需要填写以下信息项:l 构件名称构件必须有名称,名称不能为空,模糊查询就是根据构件名称来查找的,所以名称非常重要。l 构件描述构件描述是对构件的详细说明,包括软件构件的结构、内容、所采用的数据结构、使用方法等。系统允许用户填写可达2000字的构件描述内容。总之,描述的越详细,其他用户就越容易理解构件。l 封装语言 封装语言是指构件是什么语言编写的,系统以下拉列表的形式提供给用户选择,包括java语言、.net相关、c/c+、delphi、basic、asp/php、fortran、perl/python/ruby和其他。系统提供给用户一个按封装语言的查询方式,所以用户必须认真填写这一项。l 功能类型 功能类型是指构件的用途,也是以下拉列表的形式给出,包括系统和安全、程序开发、数据库相关、网络与通信、中间件、文件处理、标记语言(xml)相关、用户界面、实用工具、信息管理、办公应用、web应用、领域相关和其他。l 国际化支持是指能使用于什么语言,包括简体中文、繁体中文、日语、英语和其他。l 构件来源构件是来源是下载构件的链接地址,用户可以填写,也可以不填写。l 构件大小l 当前版本当前版本包括:阿尔法(alpha)内部测试版、贝它(beta)外部测试版、成熟(gamma)版本、试用版本(trial)。l 运行环境系统的运行环境包括:ms-dos、os/2、windows、linux、windows nt、windows 2000等。l 开发商名称 开发商名称是指谁开发的构件,发布时应该写清楚。l 开发商主页 为了便于和开发商联系,应该把开发商主页也写上。完整填写构件信息之后,点击“确认提交”按钮,系统检查构件信息,若是信息合法,就会将其保存到数据库。下面是系统实现的流程图如图5-18所示。开 始填写构件信息构件名称为空吗?保 存结 束构件来源填写规范吗?开发商主页填写规范?ynynyy是否填写构件来源或开发商主页n图 5-18 发布构件的流程图5.2.7 查询我的构件 1. 查询构件列表用户登录系统后,可以查询自己所发布的构件。在“我的帐户”页面中,用户点击“我的构件”系统将自动获得用户编号并按照用户编号查询所有的构件,以列表的形式显示出来,如图5-19所示。图5-19 显示我的构件示意图在此页面上,将显示出构件编号、构件名称、发布时间,下面是查询过程的流程图,如图5-20所示。开 始获得用户id按本人id查询显示构件结束图5-20 按用户查询本人发布的构件流程图2查询构件详细信息上面只显示构件编号、构件名称、发布时间,构件信息不够详细,在每一行后面都有一个“查询构件详细”按钮,用户点击此按钮,系统自动获得构件编号,并按照构件编号查询构件的详细信息,如图5-21所示。图5-21 显示构件详细内容示意图在此页面上,将显示出构件的详细信息,到此构件的完整的查询过程全部完成。下面是查询构件详细的流程图如图5-22所示。开 始获得构件id按构件id查询显示构件结束图5-22 按构件id查询构件程序流程图5.2.8 查询构件相应评论在显示构件详细信息页面中,系统设置了“查询评论”按钮,用户可以点击此按钮,系统会自动获得构件编号,按构件编号查询其他用户对本构件所发表的评论。系统只允许用户查看评论,不允许用户对评论做任何操作。查询结果如图5-23所示。图5-23 构件的相关评论示意图系统显示出了评论编号、评论主题、评论内容、评论时间,查询过程的流程图如图5-24所示。开始获得构件id按构件id查询显示评论结束图5-24 查询评论流程图5.2.9 删除构件 用户可以删除自己所发布的构件,在显示构件详细信息页面中,系统设有“删除”按钮。用户点击此按钮,系统将自动获得构件编号,按照构件编号查到对应的构件将其删除,删除成功后,系统将给出提示,如图5-25所示。 图5-25 删除构件成功界面示意图下面是删除构件数据库操作代码:public boolean delete(int componmentid) boolean flag = false;transaction tx = null;try session session = hibernatesessionfactory.getsession();tx = session.begintransaction();datacomponment componment = (datacomponment) session.get(datacomponment.class, new integer(componmentid);session.delete(componment);system.out.print(删除成功);mit();session.flush();flag = true; catch (exception ex) if (tx != null) tx.rollback();ex.printstacktrace(); finally hibernatesessionfactory.closesession();return flag;5.3 管理员管理模块实现系统管理员不是从主界面登录到系统的,系统为管理员设有独立的登录窗口如图5-26所示。图5-26 管理员登录界面示意图该页面只允许系统管理员登录,管理员按照拥有不同的权限分为:l 超级管理员超级管理员只有一个,它主要负责管理员系统中所有的管理员,可以添加管理员、修改管理员权限、查找所有的管理员、删除管理员l 用户管理员它主要负责管理系统中的所有的用户,可以查找所有的用户、删除用户。l 构件管理员它主要负责管理数据库中所有的构件,可以查询所有的构件、删除构件l 评论管理员 它负责管理数据库中所有的评论,可以查询所有评论、删除评论。5.3.1 超级管理员管理模块1添加管理员系统中的所有管理员都是由超级管理员添加的,超级管理员登录到系统之后,便进入超级管理员管理中心。如图5-27所示。图5-27 添加管理员界面示意图在此界面上,超级管理员需要填写管理员名称、管理员密码、确认密码、选择管理权限和系统所需要的验证码。系统首先检查管理员名称是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 火灾防范知识培训
- 2024厨房设备维修合同2篇
- 2024年度电子元器件搬运与质量控制合同2篇
- 2024年标准个人借款协议书样本汇编一
- 2024年度杭州互联网法院在线调解服务协议3篇
- 五年级数学(小数四则混合运算)计算题专项练习及答案
- 2025版新教材高考生物微专题小练习专练9细胞膜的结构和功能
- 2024年强化版:非竞争保密协议2篇
- 信息技术八年级下册1.2《数据的处理与展示》教学实录
- 陇东学院《课件设计与制作》2023-2024学年第一学期期末试卷
- 动物生物化学(华南农业大学)知到智慧树章节答案
- 机械CAD、CAM-形考任务二-国开-参考资料
- 共青团教育课件
- 考研计算机学科专业基础(408)研究生考试试卷与参考答案(2025年)
- 2024秋期国家开放大学专科《政治学原理》一平台在线形考(形考任务一至四)试题及答案
- 安全6S年终总结
- 食堂智能点餐系统方案
- 化工和危险化学品企业评估分级指南(大中型企业版)
- 2024版抗菌药物DDD值速查表
- 全员营销具体实施方案
- 学生干部培训2024年学生干部培训方案
评论
0/150
提交评论