基于web的社区服务系统的设计与实现

电 子 科 技 大 学

毕 业 设 计(论 文)

论文题目: 基于Web 的社区服务系统的设计与实现

学习中心(或办学单位):四川科技职工大学学习中心

指导老师: 李德军 职 称: 讲师

学生姓名: 王 杰 学 号: v[1**********]

专 业: 计算机科学与技术

电 子 科 技 大

摘 要

随着社会的发展和生活水平的提高,医疗服务逐渐不断完善,并且朝着网络化、高效率化、系统化发展,使得医疗信息通过互联网快速传播,使病人与医生之间的沟通距离发生了革命性的变革,社区医疗管理必须做出不断的调整,使得社区医疗服务不能再墨守成规而是不断改善前进,在开发系统前,具体分析系统的性能需求、环境需求、功能需求,满足后阶段系统开发工作所需要的信息。

本文对按照软件开发的各个步骤进行具体介绍,其中着重介绍了软件需求分析、概要设计、详细设计中数据库的设计、实现与调试等。首先,在“前言”中对社区服务在现代网络系统中所处的地位进行简要的介绍,使读者对本课题有一个大致的了解;然后,按进行开发过程顺序的描述,其中包括部分主要图表以方便读者的阅读和理解;最后,对整个开发过程进行了总结。

关键词:构件化;社区服务;ASP ;

Abstract

With the social development and improvement of living standards , Medical services continue to improve gradually, and toward network-based, high efficiency, systematic development, making the rapid dissemination of medical information through the Internet, so that communication between patients and doctors a revolutionary change in the distance, community health management must make constant adjustment, making the community health service can no longer rigid but constantly improving forward, we must develop systems before the detailed analysis of system performance requirements, environmental requirements, functional requirements, the latter stage of system development to meet the information needed.

In this paper, the various steps in accordance with software development for specific description, which focuses on the software requirements analysis, outline design, detailed design, database design, implementation and commissioning. First, in the "Preface" in the community service in a modern network system in which the status of a brief introduction, the reader of this issue have a general understanding; then, according to the description of the order of the development process, including some of the main chart to convenience of the reader to read and understand; Finally, a summary of the entire development process.

Key words: component; community service; ASP;

第一章 概述

第一节 研究背景

随着生活水平的迅速发展,医疗服务逐渐不断完善,并且朝着网络化、高效率化、系统化发展,使得医疗信息通过互联网快速传播,使病人与医生之间的沟通距离发生了革命性的变革,社区医疗管理必须做出不断的调整,使得社区医疗服务不能再墨守成规而是不断改善前进,我们必须在开发系统前,具体分析系统的性能需求、环境需求、功能需求,满足后阶段系统开发工作所需要的信息。

该系统的开发主要适用于社区医疗服务机构,它主要满足一般医疗服务的需要和向社区居民提供医疗信息服务,所以该系统的开发必须符合社区医疗机构的常规使用。该系统必须能够有良好的性能,方便可靠及时的处理日程医疗问题。因此,要求病情统计管理、药品信息管理及社区医疗信息的管理等都必须及时体现在其发生阶段的情况,通过网络共享社区医疗资源和信息,方便居民和社区服务机构及时询问问题和及时公布社区医疗新闻、解决居民提出各种健康问题及其它问题的解决,为社区居民创造一个美好健康的生活环境。系统的总体设计遵循“统一规划,分布实施”的思想,使整个系统具有先进性、开放性、经济性、界面友好性、易于扩充和维护性等特点。先进性是目前世界上先进的高速网络及计算机系统技术,确保整个系统在运行若干年后,仍能基本满足用户的需要;开放性是整个网络系统采用开放式体系结构,保证异种数据库平台的通信;经济性要求既考虑系统的先进性,也要考虑系统的经济性,软硬件的配置在产出和投入的比例关系上要恰当;界面友好性是要求系统的开发采用人性化的设计方法,注重人机交互界面的友好性, 以便于系统的使用和推广;易于扩充和维护性是系统的设计应留有足够的扩充空间,以便于将来软硬件的升级, 用户进行系统维护应方便简单

从课题的现状来看,我们可以看出这种基于桌面应用程序系统的最大的一个特点,那就是信息之间无法共享,使得信息成了一个孤岛。为了改善这种信息孤岛模式,我们必须采用一些新技术来解决这些信息孤岛的问题。而近年来兴起Web 技术就给我们带来了时代的变迁,我们可以使用ASP 来开发该应用程序,该网站在响应速度上快,同时Web 技术的应用,不仅实现了数据的实时性和共享性,而且Web 服务的跨平台传输特性使得该软件的通用性更强,实用性更好。

第二节 国内外研究现状

当前,我国正处于急剧变化的社会转型期,转型带来的社会矛盾凸显、人口流动增强及互联网的迅速崛起,促进了网络论坛、BBS 等网络社区的发展。网络社区已成为人们信息发布、观点交流、权益维护、舆论监督的重要平台,在建设和谐社会中的作用渐显。

社区的概念及其网络化。“社区”一词是由英文Community 翻译而来,其拉丁语词源意指“共同的东西和亲密伙伴关系”。德国社会学家斐迪南? 滕尼斯最早将“社区”一词用于社会学研究,其名著《共同体与社会》中,社区被描述为“一种由共同价值观念的同质人口组成的密切、守望相助、存在一种人情味的社会关系的社会团体”。①二战后,美国经验主义社会学家将“社区”向地域共同体靠拢,突出其“地域”涵义。我国社会学界也较强调社区的地域性,认为社区是聚集在一定地域范围内的社会群体和社会组织,根据一套规范和制度结合而成的社会实体,是一定地域的社会生活共同体。

中国社会的急剧转型促使人口流动性加剧,而科技的进步让社会进入互联网时代。以上因素造成传统意义上以地缘为纽带的社区走向网络化,由地域观点出发的“社区”概念也随着时代的前进而改变。有社会学家提出:即使人们不住在一个地理区域或相互之间不进行社会交往,社区依然存在。②这类社区以网络论坛、BBS 、博客、贴吧为代表。它们突破了传统社区的地域性,让生活在不同地理区域的人们能够进行交往。

第三节 软件构件技术

构件(Component)是指应用系统中可以明确辨识的构成成分。而可复用构件(Reusable Component)是指具有相对独立的功能和可复用价值的构件。可复用构件应具备以下属性:①有用性(Usefulness):构件必须提供有用的功能;②可用性(Usability):构件必须易于理解和使用;③质量(Quality):构件及其变形必须能正确工作;④适应性(Adaptability):构件应该易于通过参数化等方式在不同语境中进行配置;⑤可移植性(Portability):构件应能在不同的硬件运行平台和软件环境中工作。

随着对软件复用理解的深入,构件的概念已不再局限于源代码构件,而是延伸到需求、系统和软件的需求规约、系统和软件的构架、文档、测试计划、测试案例和数据以及其他对开发活动有用信息。这些信息都可以称为可复用软件构件。 与传统的软件开发方式相比,基于构件的软件开发方法有什么突破呢?以下详述用构件化开发本系统的原因。

(1)体系结构:软件体系结构代表了系统公共的高层次的抽象,它是系统设计成败的关键。其设计的核心是能否使用重复的体系模式。传统的应用系统体系结构从基于主机的集中式框架,到在网络的客户端上通过网络访问服务器的框架,都不能适应目前企业所处的商业环境,原因是:企业过分地依赖于某个新闻的软件和硬件产品。这种单一新闻使得企业难以利用计算新闻的免费市场,将计算基础设施的重要决定交给第三方处理,这显然不利于企业在合作伙伴之间共享信息。不能适应远程访问的分布式、多层次异构系统。封装的应用系统在出现某种组织需要时,难以用定制来维护系统,从而难以满足多变的需求。不能实现分析、设计核心功能重用,最多只能实现代码重用。如今,应用系统已经发展成为在

Intranet 和Internet 上的各种客户端可远程访问的分布式、多层次异构系统。CBSD 为开发这样的应用系统提供了新的系统体系结构。它是标准定义的、分布式、模块化结构,使应用系统可分成几个独立部分开发,可用增量方式开发。 这样的体系结构实现了CBSD 的以下几点目标: 能够通过内部开发的、第三方提供的或市场上购买的现有构件,来集成和定制应用软件系统。 鼓励在各种应用系统中重用核心功能, 努力实现分析、设计的重用。系统都应具有灵活方便的升级和系统模块的更新维护能力。 封装最好的实践案例,并使其在商业条件改变的情况下,还能够被采用,并能保留已有资源。由此看出,CDSD 从系统高层次的抽象上解决了复用性与异构互操作性,这正是分布式网络系统所希望解决的难题。

(2)开发过程:传统的软件开发过程在重用元素、开发方法上都与CBSD 有很大的不同。虽然面向对象技术促进了软件重用,但是,只实现了类和类继承的重用。在整个系统和类之间还存在很大的缺口。为填补这个缺口,人们曾想了许多方法,如系统体系结构、框架、设计模式等。自从构件出现以来,软件的重用才得到了根本改变。CBSD 实现了分析、设计、类等多层次上的重用。在分析抽象层上,重用元素有子系统、类;在设计层上重用元素有系统体系结构、子系统体系结构、设计模式、框架、容器、构件、类库、模板、抽象类等。 在软件开发方法上,CBSD 引导软件开发从应用系统开发转变为应用系统集成。建立一个应用系统需要重用很多已有的构件模块,这些构件模块可能是在不同的时间、由不同的人员开发的,并有各种不同的用途。在这种情况下,应用系统的开发过程就变成对构件接口、构件上下文以及框架环境一致性的逐渐探索过程。例如,在J2EE 平台上,用EJB 框架开发应用系统,主要工作是将应用逻辑, 按session Bean 、entity Bean 设计开发, 并利用JTS 事务处理的服务实现应用系统。其主要难点是事务划分、构件的部署与开发环境配置。概括地说,传统的软件开发过程是串行瀑布式、流水线的过程; 而CBSD 是并发进化式,不断升级完善的过程。

(3)软件方法学:软件方法学是从各种不同角度、不同思路去认识软件的本质。传统的软件方法学是从面向机器、面向数据、面向过程、面向功能、面向数

据流、面向对象等不断创新的观点反映问题的本质。整个软件的发展历程使人们越来越认识到应按客观世界规律去解决软件方法学问题。直到面向对象方法的出现,才使软件方法学迈进了一大步。但是,高层次上的重用、分布式异构互操作的难点还没有解决。CBSD 发展到今天,才在软件方法学上为解决这个难题提供了机会。它把应用业务和实现分离,即逻辑与数据的分离,提供标准接口和框架,使软件开发方法变成构件的组合。因此,软件方法学是以接口为中心,面向行为的设计。归纳起来,CBSD 的软件开发方法学应包括下面几方面: 对构件有明确的定义。 基于构件的概念需要有构件的描述技术和规范,如UML 、JavaBean 、EJB 、Servlet 规范等。开发应用系统必须按构件裁剪划分组织,包括分配不同的角色。 有支持检验构件特性和生成文档的工具,确保构件规范的实现和质量测试。总之,传统的软件方法学从草稿自顶向下进行,对重用没有提供更多的辅助。CBSD 的软件方法学要丰富得多,它是即插即用,基于体系结构,以接口为中心,将构件有机组合,它把自顶向下和自底向上方法结合起来进行开发。

(4)开发组织机构:传统软件的开发组织一般由分析员、设计员、程序员和测试员组成。对一个小的应用系统来说,一个熟练的开发人员,可能兼顾以上多个角色。但对CBSD 来说, 因为构件开发与应用系统集成往往是分开进行的,因此整个开发过程由六个角色来完成,他们是:构件开发者也是构件供货商,这些大多数是中间件构件提供(续致信网上一页内容) 者。应用构件集成者 针对某应用领域将已有构件组合成更大的构件模块或容器,作为系统部署的基本单元。应用系统部署者 将系统部署基本单元放入选定的平台环境或基本框架中,完成软件定制的要求。 开发平台服务器新闻 提供服务器、操作系统和数据库等基本软件。 应用系统开发工具新闻 提供构件公共设施服务。系统管理员 配置硬件、网络和操作系统,监督和维护应用系统者。这六个角色的工作专业性很强,要兼顾成为多面手很不容易。目前已形成构件开放市场,而且还很火红。这也是当今软件人才大战所遇的一个困惑。因此,在CBSD 中,如何组织好开发队伍尤为重要,必须按本企业所具备人才来组织。特别重要的是:开发初期必须选好标准框架,以及统一的开发指导方针,保证在整个开发过程中, 各角色能随时互相沟通。一般来说,CBSD 的人员素质决定了构件的重用率。

(5)构造方法:传统应用软件的构造是用白盒子方法,应用系统的实现全在代码中,应用逻辑和数据粘结在一起。而CBSD 的构造是用白盒子和黑盒子相结合的方法。基于构件的框架是用两个概念来支持演变:第一个概念是构件有很强的性能接口,使构件逻辑功能和构件模型的实现都隐藏起来。这样,只要接口相同,构件就可以被替换。第二个概念是隐式调用,即在基于构件的框架中,从来不直接给构件的接口分配地址,只在识别构件用户后才分配地址。因此,构件用户只要了解接口要求和为构件接口提供的引用后的返回信息 (该引用可能是一个构

件,也可能是一个构件代理。对构件用户来说,构件代理就是构件,不用区分) 。 构件接口的信息并不存入构件内,而是存入构件仓库或注册处。这样才能保证构件替换灵活,并很容易利用隐式调用去重新部署构件。由于构件的实现对用户透明,因此也使构件能适应各种不同的个性化要求。为此,构件提供自检和规范化两个机制。自检保证在不了解构件的具体实现时,就能获得构件接口信息。例如,JavaBean 提供的自检机制是Reflection 和BeanInfo ,通过Reflection 可直接获得Bean 构件的全部方法,通过BeanInfo 可直接获得构件的许多复杂信息。规范化允许不访问构件就可以修改它,如JavaBean 提供的规范化是property sheet和customizer(定制器) 。通过property sheet提供一组简单参数,修改Bean 的属性。复杂的修改由用户通过定制器设置参数完成。

第四节 技术简介

一、 ASP的简介

ASP 全称为Active Server Pages,即动态服务器页面,它是一套微软开发的服务器端脚本环境,ASP 内含于IIS 3.0以上版本之中,通过ASP 我们可以结合HTML 网页、ASP 指令和ActiveX 元件建立动态、交互且高效的Web 服务器应用程序。ASP 文件(即*.asp文件)与HTML 文件类似,但ASP 文件可以包含脚本命令,脚本命令放在之间。当用户请求一个*.asp主页时,WWW 响应HTTP 请示调用ASP 引擎,解释被申请的文件,当遇到与ActiveX Scripting兼容的脚本

(VBScript 或JavaScript )时ASP 引擎调用相应的脚本引擎进行处理。ASP 脚本在服务器端解释执行,结果自动生成符合HTML 语言的主页去响应用户的请求。ASP 目前已成为目前应用最广泛的动态网页开发工具,同时应用ASP 进行网络化的信息管理系统也逐步得到推广。

二、 ASP的特点

1.使用VBScript 、JavaScript 等简单易懂的脚本语言,同时结合HTML 代码,即可快速地完成网站的应用程序。

2.使用普通的文本编辑器,如Windows 的记事本,即可进行编辑设计,而利用诸如FrontPage 或者Dream weaver等所见即所得的网页编辑软件可以快捷方便地进行编辑,易学易用。

3.与浏览器无关(Browser Independence),用户端只要使用可执行HTML 代码的浏览器,即可浏览ASP 所设计的网页内容。ASP 所使用的脚本语言(VBScript 、JavaScript )均在Web 服务器端执行,用户端的浏览器不需要能够执行这些脚本语言。

4.Active Server Pages能与任何ActiveX Scripting语言相容。ActiveX Server Components (ActiveX 服务器元件)具有无限可扩充性。可以使用Visual Basic 、Java 、Visual C++、COBOL 等编程语言来编写你所需要的ActiveX Server Components 。

5.Active Server Pages 的源程序,不会被传到客户端浏览器,因而可以避免所写的源程序被他人剽窃,也提高了程序的安全性。ASP 的奇妙之处真是不胜枚举,更为重要的是,ASP 是一种“无须编程”的软件开发工具,用简单的几个语句,即可对数据库进行操作。另外,ASP 程序员的数量惊人,所以当你遇到问题时,可以请求他人帮你解决。

三、 ASP的六大对象

1.Application 对象是一个应用程序级的对象,用在所有用户间共享信息,并可以在Web 应用程序运行期间持久地保持数据。

2.ObjectContext 对象用于控制Active Server的事务处理。事务处理由

Microsoft Transaction Server(MTS )管理。

3.Request 对象用于接受所有从浏览器发往服务器的请求内的所有信息。

Request 对象是ASP 中最基本和最常用的对象。

4.Response 对象用于向客户端浏览器发送数据,用户可以使用该对象将服务器的数据以HTML 的格式发送到用户端的浏览器,它与Request 组成了一对接收、发送数据的对象,这也是实现动态的基础。

5.Server 对象是ASP 中一个很重要的对象,许多高级功能都是靠它来完成的。它提供了对ASP 及其方法的使用。

6.Session 其实指的就是访问者从到达某个特定主页到离开为止的那段时间。每位访问者都会单独获得一个Session 。在Web 应用程序中,当一个用户访问该应用时,Session 类型的变量可以供这个用户在该Web 应用的所有页面中共享数据;如果另一个用户也同时访问该Web 应用,他也拥有自己的Session 变量,但两个用户之间无法通过Session 变量共享信息,而Application 类型的变更则可以实现站点多个用户之间在所有页面中共享信息。

四、ASP 与ACCESS 的连接

数据库的访问方式

ASP 的访问数据库的功能是非常强大的,能够快速有效地对数据库进行访问和管理,访问数据库的方式有两种:

(1)通过标准的数据库接口进行数据库的连接

这些接口包括ODBC 、JDBC 和OLEDB 等。标准的数据库接口是通过一个遵循标准的驱动程序(ODBC、JDBC) ,或是通过数据提供器(OLEDB)与数据库联系通信的。遵循标准的驱动程序或数据提供了一些标准的API 定义的抽象函数,可以将一个数据请求调用转化成为一个特定数据库所能理解的操作。

(2)通过数据库的专用接口来直接连接数据库

它使用数据库专用的API 与数据库联系通信,这种方式效率很高。通过我们连接大型数据库时采取的是这一种方式,例如:Oracle 、Informix 等。

五、IIS 简介

IIS 是Internet Information Server的缩写,它是微软公司主推的服务器,最新的版本是Windows2000里面包含的IIS 5,IIS 与Window NT Server完全集成在一起,因而用户能够利用Windows NT Server和NTFS (NT File System,NT 的文件系统)内置的安全特性,建立强大,灵活而安全的Internet 和Intranet 站点。

IIS 支持HTTP (Hypertext Transfer Protocol ,超文本传输协议),FTP (File Transfer Protocol ,文件传输协议)以及SMTP 协议,通过使用CGI 和ISAPI ,IIS 可以得到高度的扩展。

IIS 支持与语言无关的脚本编写和组件,通过IIS ,开发人员就可以开发新一代动态的,富有魅力的Web 站点。IIS 不需要开发人员学习新的脚本语言或者编译应用程序,IIS 完全支持VBScript ,JavaScript 开发软件以及Java ,它也支持CGI 和WinCGI ,以及ISAPI 扩展和过滤器。

六、DreamWeaver MX 2004的简介

一个可视化的网页设计和网站管理工具,支持最新的Web 技术,包含HTML 检查、HTML 格式控制、HTML 格式化选项、Home Site/BBEdit捆绑、可视化网页设计、图像编辑、全局查找替换、全FTP 功能、处理Flash 和Shockwave 等流媒体格式和动态HTML 、基于团队的Web 创作。在编辑上你可以选择可视化方式或者你喜欢的源码编辑方式。 Dream weaver MX 2004 的十大新特性:

1. 动态跨浏览器验证:自动检测标签和CSS 规则来适应所有主流浏览器!

2. 更强大的CSS 支持。

3. 内建的图形编辑引擎:修剪, 改变大小, 尺寸, 旋转角度, 调节明暗度都不需要离开Dream weaver环境, 因为它本身集成了FW 的基本图形编辑技术.(这一点有模仿FrontPage 的嫌疑, 但这个功能确实很实用) 。

4. 安全FTP:完全加密传输保证文件和账号信息的安全。

5. 增强对当今技术的支持:支持当今主流的开放环

境:ColdFusion,J2EE,PHP,.NET,和其他主流的服务器技术.Dream weaver 现在加入了XML 命名空间支持,ASP.NET 表单控件对象, 新的参考书内容和新的PHP 服务器端行为。

6. 无缝整合外部文件和代码:直接将Word 和Excel 文档复制和粘贴到Dream weaver 中, 会保留字体, 颜色,CSS 样式表信息. 使用, 使用系统支持的编码保存任何字体, 包括双字节字符集。

7. 紧密整合MM 的其他工具:加强了和MM 其他几款产品的协同工作能力. 例如:你可以通过DW 直接设置Flash 组件的参数。

8. 基本支持改良:插入条, 表格工具都有改进。

9. 增强代码编写工具:编辑代码更省时, 例如右键编写代码工具, 增强的查找和替换, 高效的属性面板。

10. 改进的设计开放环境:一个改良的用户界面, 更高的实用性, 非常亲切和有逻辑, 让你快速找到你想要的东西, 一个新的开始屏幕让你快速访问最近的文件和教程资源。

七、VbScript 、 JavaScript简介

Visual Basic的Scripting 版本(VBScript ),Active Sever Pages的缺省脚本语言。VBScript 通过变量, 操作符,循环,分支,函数和子例程,扩展了HTML 。通过在HTML 网页中加人VBScript 脚本,你可以使静态的HTML 网页成为动态网页。VBScript 与Basic 语言有密切关系。如果你熟悉BASIC ,你将会发现

VBScript 很容易学习和使用。VBScript 是Microsoft Visual Basic的简化版本。VBScript 是一种脚本语言。这意味着这种语言比BASIC 语言的成熟版本容易使用又难于使用。编制简单的程序时,脚本语言是容易使用的。脚本语言的句法比较简单。但是,简单的句法也使开发大的应用程序变得很困难。你可以在HTML 文件中直接嵌入VBScript 脚本。这使你能够扩展HTML ,使它不仅仅是一种页面格式语言。带有VBScript 脚本的网页在每次下载到浏览器时都可以是不同的,而且可以对用户的操作做出反应。VBScript 是Active Sever Pages的缺省语言

JavaScript 是一种解释性的,基于对象的脚本语言(an interpreted,

object-based scripting language)。HTML 网页在互动性方面能力较弱,例如下拉菜单,就是用户点击某一菜单项时,自动会出现该菜单项的所有子菜单,用纯HTML 网页无法实现;又如验证HTML 表单(Form)提交信息的有效性,用户名不能为空,密码不能少于4位,邮政编码只能是数字之类,用纯HTML 网页也无法实现。要实现这些功能,就需要用到JavaScript 。

JavaScript 是一种脚本语言,比HTML 要复杂。不过即便你先前不懂编程,也不用担心,因为JavaScript 写的程序都是以源代码的形式出现的,也就是说你在一个网页里看到一段比较好的JavaScript 代码,恰好你也用得上,就可以直接拷贝,然后放到你的网页中去。正因为可以借鉴、参考优秀网页的代码,所以让JavaScript 本身也变得非常受欢迎,从而被广泛应用。原来不懂编程的人,多参考JavaScript 示例代码,也能很快上手。

JavaScript 主要是基于客户端运行的,用户点击带有JavaScript 的网页,网页里的JavaScript 就传到浏览器,由浏览器对此作处理。前面提到的下拉菜单、验证表单有效性等大量互动性功能,都是在客户端完成的,不需要和Web Server发生任何数据交换, 因此,不会增加Web Server的负担。

几乎所有浏览器都支持JavaScript ,如Internet Explorer(IE),Fire fox, Netscape ,Opera 等。

第二章 需求分析

需求分析是程序设计中最关键的一个步骤,是其他步骤的基础。需求分析的主要任务是“为了解决这个问题,目标系统必须做什么”。它主要是确定目标系统具有哪些功能。具体地说,应该确定系统必须具有的功能和性能,系统要求的运行环境,并且预测系统发展的前景;必须仔细分析系统中的数据,既要分析系统中的数据流,又要分析长期使用的数据存储,通过分析应该得出用功能模块图、数据库表描述所定义的详细的系统逻辑模型。

第一节 任务概述

一、系统实现目标

系统能够对不同的系统后台使用设置不同的使用权限,通过不同权限人员的人员使用,实现系统特定的功能,如挂号工作人员实现病人挂号的看病的第一步骤、病人通过医生的诊断开具处方、到收费人员那里交费然后领取药品、社区信息管理人员记录病人的看病情况、公布社区医疗新闻、回复居民的留言等功能。为避免相应信息资料的丢失或者遭到非法破坏,系统必须具有安全设置功能,如对使用人员进行用户验证。另外系统具有较强的查询统计功能,能够建立有效的医疗服务机构与网站访问人员的交流渠道,实现系统的高效的使用。

二、系统用户的特点

社区服务适用于普通社区。本系统的主要用户有管理员、居民和社区医生。管理员需要具备一定的计算机知识,而且熟练撑握SQL 语言,能够对数据库进行维护。而居民和社区医生,只需要了解一些计算机的基本操作就可以了。另外,管理员可根据本文档对软件在运行过程中出现的错误进行处理,而且可以基于本软件的基础进行扩展。

三、假定和约束

社区服务必须在五月中旬完成,而且包括毕业论文。在开发过程期间,需要与辅导老师进行密切交流。以便对开发过程中遇到的问题能顺利解决。在完成用户的全部需求的前提下,合理对系统进行扩展,使系统更加完善。

第三节 需要规定

一、对功能的规定

基于Web 的社区医疗管理信息系统包括数据管理、机构管理、挂号管理、收费统计管理、药品管理、疾病管理、信息管理、前台用户管理、病人服务管理。

(1)数据管理:系统信息的设置,包括修改系统名称,修改前台首页和每个项目的每页显示记录数、后台每页显示记录数、公告;系统用户,包括修改后台系统用户信息、删除后台系统用户;添加后台系统,包括设置系统用户的登陆名称和密码,授予不同的系统用户权限; 修改用户密码。

(2)机构管理:添加机构职务;添加机构部门,设置其是否属于医疗部门(若是医疗部门,在挂号时选择不同种类挂号科室),并分配不同的部门负责人;添加机构员工,并设置其详细信息。

(3)挂号管理:添加新的病人的个人资料;添加、修改、删除挂号类型:挂号、改号、退号,打印挂号单据;按照挂号时间、挂号类型、操作员、科室、医生查询挂号信息,查询挂号收入。

(4)收费统计管理:添加、修改、删除费用类型;通过病人姓名可以查看病人详细信息,修改、查看、删除病人就近信息;选择处方名单,计算收费情况,打印收费单据;按收费时间、月份、季度、年份查询收费情况及总收入。

(5)药品管理:添加、修改、删除药品单位、药库、药品产地、药品供货单位、药品类型、药品信息;添加入库药品、改出库药品;分别查询低于下限和高于上限的药品、查询过期药品;按入库时间、供货单位、采购人员查询入库情况;按照购药时间、月份、季度、年份查询药品的需求,退药。

(6)疾病管理:添加、删除疾病;按时间断查询疾病的发生率。

(7)信息管理:添加、删除社区信息类别;添加社区详细信息;查看、修改、删除社区信息; 删除、回复留言。

(8)前台用户管理:浏览社区医生信息、健康处方和公告、社区新闻;查询社区信息。

(9)病人服务管理:修改密码;查看挂号、交费、病情及处方信息,以留言的方式询问医疗信息。

二、输人输出要求

对于部份数据类型的数据输入,系统可自动判断其正确性并且给予提示。例如,字符、数值、日期的类型输入错误等等。但对于数据输入的格式,就由用户自行决定。这一方面,系统不作严格要求。

第三节 系统运行环境规定

一、 硬件环境

服务端微型计算机配置:

⑴ 操作系统:Windows2000 或 Windows XP ;

⑵ CPU:奔腾三 1GMHz或以上

⑶ 内存:512MB 或以上

⑷ 硬盘:80G 或以上

⑸ 数据库:Microsoft SQL Server 2000或以上

客户端微型计算机配置:

⑴ 操作系统:Windows2000 或 Windows XP ;

⑵ CPU::奔腾三 700MHz或以上

⑶ 内存:64MB 或以上

⑷ 硬盘:10G 或以上

二、软件环境

开发软件:Microsoft ASP 2008;

开发语言:ASP ;

数据库软件:Microsoft SQL Server 2000;

文档编写软件:Microsoft Word2.

三、系统用户界面设计

(1)简单明了原则:用户的操作要尽可能以最直接最形象最易于理解的方式呈现在用户面前。对操作接口,直接点击高于右键操作,文字表示高于图标示意,尽可能的符合用户对类似系统的识别习惯。

(2)方便使用原则:符合用户习惯为方便使用的第一原则。其它还包括,实现目标功能的最少操作数原则,鼠标最短距离移动原则等。

(3)用户导向原则:为了方便用户尽快熟悉系统,简化操作,应该尽可能的提供向导性质的操作流程。

(4)实时帮助原则:用户需要能随时响应问题的用户帮助。

(5)提供高级自定义功能:为熟悉计算机及软件系统的高级用户设置自定义功能,可以对已经确定的常规操作以及系统的方方面面进行符合自身习惯的自定义设置。包括常规操作、界面排版、界面样式等种种自定义。

(6)界面色彩要求:计算机屏幕的发光成像和普通视觉成像有很大的不同,应该注意这种差别作出恰当的色彩搭配。对于需用户长时间使用的系统,应当使用户在较长时间使用后不至于过于感到视觉疲劳为宜。例如轻松的淡彩为主配色,

灰色系为主配色等等。切忌色彩过多,花哨艳丽,严重妨碍用户视觉交互。

(7)界面平面版式要求:系统样式排版整齐划一,尽可能划分不同的功能区域于固定位置,方便用户导航使用;排版不宜过于密集,避免产生疲劳感。

第三章 社区服务系统设计

第一节 总体设计

总体设计的基本目的就是确定系统应该如何实现,因此总体设计又称为概要设计。总体设计过程通常由两个主要阶段组成:系统设计,确定系统的具体实现方案;结构设计,确定软件结构。这部分主要的设计思想是通过社区服务系统系的开发方案,利用现有的软硬件环境,提高系统的开发水平,充分的利用资源。系统需符合管理系统的规定,并操作方便直观。系统采用模块化的程序设计的方法,便于系统功能的各种组合和修改。社区系统模块图如图3-1所示

图3-1 社区系统模块图

一、社区网站管理

主要功能是管理社区网站的基本信息。管理员可以完成对社区网站的基本信息进行添加、修改、删除、查询的操作。权限仅限于管理员,普通用户不能对其进行添加、修改和删除,只能进行查询。社区网站管理模块如图3-2所示:

图3-2 社区网站图

二、病人管理

主要功能是管理社区网站的基本信息。管理员可以完成对的基本信息进行添加、修改、删除、查询的操作。权限仅限于管理员,普通用户不能对其进行添加、修改和删除,只能进行查询。管理模块如图3-3所示:

图3-3 管理模块图

三、权限管理

根据需求分析的要求,本系统应完成系统自身的管理。本次设计的主要界面包括管理员登录界面、普通用户登录界面。管理员和普通用户分别在各自的主页面就可以完成系统设定的功能,操作方便。

系统设计为两个子系统,即管理员子系统和普通用户子系统。系统功能结构,如图3-4所示。管理员子系统实现了管理员对各个信息进行添加、修改、删除、查询等操作。普通用户子系统实现了普通用户的注册、修改个人信息,以及查询信息的功能。

图3-4 权限管理图

第二节 系统设计

本系统软件主要以表单形式作为界面显示,并且提供菜单以便用户选择所需要的功能操作。在软件运行过程中,对于各功能操作的结果都会有提示信息。例如,操作成功或者失败等等。而对于数据的输入不正确都会有所提示。例如,退货数量信息只可以输入数值等等。另外,对于在运行过程中,系统所以出现的故障都有所提示。例如,由于网络问题而造成的服务器连接失败或者所连接的数据不存在等等。

一、系统用户接口

本系统软件主要以表单形式作为界面显示,并且提供菜单以便用户选择所需要的功能操作。在软件运行过程中,对于各功能操作的结果都会有提示信息。例如,操作成功或者失败等等。而对于数据的输入不正确都会有所提示。例如,退货数量信息只可以输入数值等等。另外,对于在运行过程中,系统所以出现的故障都有所提示。例如,由于网络问题而造成的服务器连接失败或者所连接的数据不存在等等。

二、N 层架构技术

一个N 层的应用程序通常有三层。三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI )、业务逻辑层(BLL )、数据访问层(DAL ),如图3-1所示。区分层次的目的即为了“高内聚,低耦合”的思想。

(1)表现层(UI ):表现层用于用户接口的展示,以及用业务层的类和对象来“驱动”这些接口。通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。在ASP.NET 中,该层包括aspx 页面、用户控制、服务器控制以及某些与安全相关的类和对象。

(2)业务逻辑层(BLL ):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。业务层用于访问数据层,从数据层取数据、修改数据以及删除数据,并将结果返回给表现层。业务逻辑层在数据访问层之上,也就是说BLL 调用DAL 的类和对象。DAL 访问数据并将其转给BLL 。在ASP.NET 中,该层包括使用SqlClient 或OleDb 从SQL Server或Access 数据库取数据、更新数据及删除数据,把数据通过DataSet 或DataReader 的形式给BLL ,BLL 处理数据给表现层。有的时候,例如直接把DataSet 或DataReader 送给表现层的时候,BLL 是一个透明层。

返回的数据也许只有一个整型数字,比如一个表的行记录数目,但这也要用数据层的数据进行计算。

(3)数据访问层(DAL ):有时候也称为是持久层,其功能主要是负责数据库的访问,可以访问数据库系统、二进制文件、文本文档或是XML 文档。数据层是数据库或者数据源。在.NET 中,通常它是一个SQL Server或Access 数据库,但不仅限于此两种形式,它还可能是Oracle ,MySQL ,甚至是XML 。该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。

另外,需要强调的是,业务逻辑层无疑是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统所应对的领域(Domain )逻辑有关,很多时候,也将业务逻辑层称为领域层。例如Martin Fowler在《Patterns of Enterprise

Application Architecture》一书中,将整个架构分为三个主要的层:表示层、领域层和数据源层。作为领域驱动设计的先驱Eric Evans,对业务逻辑层作了更细致地划分,细分为应用层与领域层,通过分层进一步将领域逻辑与领域逻辑的解决方案分离。

业务逻辑层在体系架构中的位置很关键,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是“无知”的,改变上层的设计对于其调用的底

层而言没有任何影响。如果在分层设计时,遵循了面向接口设计的思想,那么这种向下的依赖也应该是一种弱依赖关系。因而在不改变接口定义的前提下,理想的分层式架构,应该是一个支持可抽取、可替换的“抽屉”式架构。正因为如此,业务逻辑层的设计对于一个支持可扩展的架构尤为关键,因为它扮演了两个不同的角色。对于数据访问层而言,它是调用者;对于表示层而言,它却是被调用者。依赖与被依赖的关系都纠结在业务逻辑层上,如何实现依赖关系的解耦,则是除了实现业务逻辑之外留给设计师的任务。

第四章 数据库设计

第一节 结构设计

一、 概念结构设计

实体——联系方法(Entity—Relationship Approach)是最常用的表示概念性数据模型的方法。这种方法使用E-R 图来描述现实世界中的实体,而不涉及这些实体在系统中的实现方法,即使不熟悉计算机技术的用户也能理解它。

整个系统分为两类用户:前台用户和后台用户,前台用户即在本社区医院看过病的所有病人,病人可用病人门诊号(病人编号)及初始密码(六个0),登录本系统的前台。后台用户包括系统管理员(拥有最高权限,可使用后台所有的功能)、挂号员、收费员、医生、库存管理员,采购员等,各个用户之间存在的关系如图E-R 联系所示。

E-R 联系图

二 逻辑结构设计

为了编码方便,表名与字段名一律采用英文字符命名。另外,为了提高可扩展性,各表的各字段会因具体需要进行类型与长度的定义。

1)关于整型类型的编号方面的信息,各表将以IDENTITY (1, 1) 进行储存。2)关于字符类型的备注方面的信息,各表将以Varchar(32)进行储存;关于其他字符类型的信息,各表将以Varchar(64)进行储存。3)关于其数值类型的信息,各表将以Int 进行储存。4)关于其日期类型的信息,各表将以DateTime 进行储存。

在数据字典中,定义了各表的基本信息,具体情况可参见附录3数据字典主要内容。

逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R 图,转换为逻辑结构。

本系统的数据库通过physical design的数据库建模生成sql 语句文件,在通过SQL Server 2005 的查询分析器运行该文件生成数据库。

第二节 运用设计

一、数据字典设计

在表DataDict 中储存的各表的基本信息,当中包括表的名称、表的别名、字段的名称、字段的别名、字段是否主键、字段是否外键、字段的数据类型、字段长度、字段的可选项、字段的备注等等。这样能为编码过程中带来极大的方便,使编码工作变得简单。而且,对于语言的扩展也非常方便,只需要通过增加表的别名各字段的别名就可以实现。此数据字典将会放在数据库NickERP 中,程序可通过ODBC 对此数据字典进行访问。关于数据字典的主要内容,请参见附录1 数据字典主要内容。

二、安全保密设计

在系统的使用过程中,用户可以对服务器、用户名与密码进行设置,并且可以选择是否保存所设置的信息。系统测试连接成功后就能正常使用系统。数据库维护人员可通过对数据库的用户、密码、访问权限进行设置。还可以进行对数据库的导出、导入,并进行保密设置,具有一定的安全性。

作为一个企业物资社区服务,其中的产品数据资料属于内部资料,不能被外人所知,也不允许随意更改, 系统须有保密措施。系统数据库将设置操作员表,将管理员名称和密码记录在操作员表中,拥有管理员权限的操作员才能操作数据库,非操作人员将则不能。因此, 为保证系统正常运行,拥有权限的人员才能进行数据库操作。

对于一个数据库而言, 安全性是指保护数据库不被破坏、偷窃和非法使用的性能。一个设计良好的安全模式能使用户的合法操作变得很容易, 同时使非法操作和意外破坏很难或不可能发生。

三、安全性管理设计

数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。系统安全保护措施是否有效是数据库系统的主要指标之一。数据库的安全性和计算机系统的安全性,包括操作系统、网络系统,两者的安全性是紧密

联系、相互支持的。对于数据库管理员来说,是保护数据不受内部和外部侵害时的一项重要的工作。

各层ACCESS 安全控制策略是通过各层安全控制系统的身份验证实现的。身份验证是指当用户访问系统时,系统对该用户的账号和口令的确认过程。身份验证的内容包括确认用户的账号是否有效、能否访问系统、能访问系统的哪些数据等。数据库管理员可以通过以下两种途径确保数据库的安全[12]:

1.通过用户标识与验证实现

用户标识和验证是系统提供的最外层安全保护措施。其方法是由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供机器使用权。

2.通过ACCESS 身份验证方式实现

用户必须使用一个登录账号,才能连接到ACCESS 中。ACCESS 可以识别两类身份验证方式,即:ACCESS 身份验证方式和Windows 身份验证方式。当使用ACCESS 身份验证方式时,由ACCESS 系统管理员定义ACCESS 账号和口令,用户连接ACCESS 时,必须提供登录账号和口令。当使用Windows 身份验证方式时,用户不必提供ACCESS 的登录账号和口令就能连接到系统上。但是在连接之前,管理员必须将Windows NT/2000账号定义为ACCESS 的有效登录账号

电子科技大学毕业论文(设计) 基于

Web 的社区服务系统的设计与实现

第五章 系统的实现与调试

第一节 系统登录模块

社区服务系统开发方案是利用现有的软硬件环境,充分的利用资源制订的。系统需符合社区服务系统的规定,要求操作方便直观。系统采用模块化的程序设计的方法[13],便于系统功能的各种组合和修改。采用模块化的原理进行程序设计,可以使结构变得清晰,不仅容易设计实现,也容易阅读和理解,更容易进行维护和升级。

社区服务系统是一款面向管理员和普通用户的系统,依据访问的身份来判定登录的界面。本系统有两个子页面:管理员页面,普通用户页面。首先打开IE 浏览器输入地址,进入主页面——选择登录页面。登录者根据自己的身份选择是管理员登录还是普通用户登录。登录界面如图5-1所示:

图5-1 登录界面

第二节 用户注册模块

如果该普通用户还未注册,则没有登录权限,可以点击新用户注册链接,按照要求输入用户注册信息,输入完毕后,点击确认注册,会返回图5-2所示界面,输

图5-2注册界面

第三节 用户信息修改模块

当进入普通用户主页面后,点击系统管理,会进入对普通用户的信息查看及修改界面。当点击用户信息查看时,会显示出所有普通用户的基本信息。点击用户信息修改时,便可以对自己的登录名和密码进行修改,确认修改后会返回普通用户登录界面,输入修改后的用户名和密码,即可进入普通用户主页面。普通用户信息修改界面如图5-3所示界面

图5-3 用户修改界面

第四节 管理界面设计

此界面的功能就是:管理员可以查看、转移和删除论坛主题,可以查看、添加、修改和删除论坛板块,可以对论坛用户进行管理。如图5-4所示界面

图5-4管理界面

第五节 系统的主要代码

一、 数据库操作代码: } }

Dim Conn,Str,db

db = "data/Community.mdb"

Set Conn = Server.CreateObject("ADODB.Connection") Str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Conn.Open Str

Source="&Server.MapPath(""&db&"")

二、登录模块代码

if(document.loginFrm.User.value == "") { }

if(document.loginFrm.Pwd.value =="") {

alert('请输入密码!'); document.loginFrm.Pwd.focus(); return false;

alert('请输入用户名!'); document.loginFrm.User.focus(); return false;

}

if(document.loginFrm.dllb.value =="") {

alert('请选择登录类别!'); document.loginFrm.Pwd.focus(); return false;

}

id=Request("id")

Sub ChkLogin()

Dim User,Pwd,Rs,Sql

User = Trim(Request.Form("User")) dllb = Trim(Request.Form("dllb"))

Set Rs = Server.CreateObject("ADODB.Recordset")

if dllb="ys" then Sql = "Select * From [DB_ysInfo] Where if dllb="jm" then Sql = "Select * From [DB_jmInfo] Where Rs.Open Sql,Conn,2,3

Call ChkLogin() End If

Pwd = Trim(Request.Form("Pwd"))

name='"&User&"'" '登录类别为医生的数据记录 name='"&User&"'" '登录类别为居民的数据记录

If Rs.EOF And Rs.BOF Then '无此用户名, 则弹出提示

Response.Write "" Session("User") = User Session("dllb") = dllb Session("Userid")=Rs("ID") else '没有审核弹出提示 Response.Redirect dllb&"index.asp" Response.Write "" Else '密码错误弹出提示 Response.Write "" End If End If Rs.Close Set Rs = nothing End Sub %>

第六章 系统测试

第一节 测试的目的和作用

软件测试的作用在于发现软件的缺陷,从而提高软件质量,测试人员会告诉你他们的主要工作是发现bug 。但我们知道测试永远不能发现所有的bug ,而且不可能去测试软件质量。许多领域内专家也极力主张软件测试的目的主要是在于发现软件错误,希望在软件开发生命周期内尽可能早的发现尽可能多得bug 。这种认识源于我们没有办法对软件进行完全测试,即对程序的正确性进行完全证明,但遗憾的是,我们至今还没有使用的技术做到这一点。包括E.W.Dijkstra 指出“测试只能证明程序有错, 不能保证程序无错”。所以,人们认为能够发现程序缺陷的测试是成功的测试,测试的根本目的就是为了发现尽可能多地缺 测试原则

软件测试从不同的角度出发会派生出两种不同的测试原则,从用户的角度出发,就是希望通过软件测试能充分暴露软件中存在的问题和缺陷,从而考虑是否可以接受该产品,从开发者的角度出发,就是希望测试能表明软件产品不存在错误,已经正确地实现了用户的需求,确立人们对软件质量的信心。

中国软件评测中心的测试原则就是从用户和开发者的角度出发进行软件产品测试的,通过我们的测试,可以为用户提供放心的产品,并对优秀的产品进行认证。

为了达到上述的原则,那么需要注意以下几点:

(1).应当把“尽早和不断的测试”作为开发者的座右铭

(2).程序员应该避免检查自己的程序,测试工作应该由独立的专业的软件测试机构来完成。

(3).设计测试用例时应该考虑到合法的输入和不合法的输入以及各种边界条件,特殊情况下要制造极端状态和意外状态,比如网络异常中断、电源断电等情况。

(4).一定要注意测试中的错误集中发生现象,这和程序员的编程水平和习惯有很大的关系。

(5).对测试错误结果一定要有一个确认的过程,一般有A 测试出来的错误,一定要有一个B 来确认,严重的错误可以召开评审会进行讨论和分析。

(6).制定严格的测试计划,并把测试时间安排的尽量宽松,不要希望在极短的时间内完成一个高水平的测试。

(7).回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多的错误出现的现象并不少见。

(8).妥善保存一切测试过程文档,意义是不言而喻的,测试的重现性往往要靠测试文档。

第二节 测试方法和步骤

一、软件测试方法

第一种方法是黑盒测试,第二种方法是白盒测试 。

软件测试步骤: (1)单元测试(模块测试) (2)子系统测试(3)系统测试(4)验收测试(5)平行运行。

二、界面测试

很多人认为这是测试中最不重要的部分,但是恰恰相反界面测试是相当重要的确。包括页面在窗口中的显示是否正确、美观,表单样式大小,格式,是否对提交数据进行验证等连接的形式,位置,是否易于理解等。

三、. 功能测试

白盒测试技术(White Box Testing) 深入到代码一级的测试,使用这种技术发现问题最早,效果也是最好的。该技术主要的特征是测试对象进入了代码内部, 根据开发人员对代码和对程序的熟悉程度, 对有需要的部分进行在软件编码阶段,开发人员根据自己对代码的理解和接触所进行的软件测试叫做白盒测试。

黑盒测试技术(Black Box Testing)黑盒测试的内容主要有以下几个方面,但是主要还是功能部分。主要是覆盖全部的功能,可以结合兼容,性能测试等方面进行,根据软件需求,设计文档,模拟客户场景随系统进行实际的测试,这种测试技术是使用最多的测试技术涵盖了测试的方方面面,可以考虑以下方面:

正确性 (Correctness)、可用性 (Usability)、边界条件 (Boundary Condition) 、性能 (Performance)

结束语

本软件的开发比预期中延迟了一个星期。原因主要是对编码阶段所需的时间估计不准确。这主要由于在某些技术上的问题在设计过程中没有考虑到,导致在编码过程中需要花一些时间去考虑所遇到技术的问题延迟了完成的时间。

程序运行过程中,一般都只出现因操作错误而引起的错误。例如,对数据表增加有重复主键的记录等等。但这些错误都有进行特殊的处理以确保程序运行正常。另外,数据库的连接限制比较少,用户可以自由的进行连接设置,可以实现远程访问数据库。

在开发过程中比较少使用模板,而较多的使用类。因此,软件的模块划分符合高内聚、低耦合的特点,而且程序的内部有较为详细的注释和统一的编码格式。而且,开发过程中比较多的进行代码重用,大大避免了因为代码输入错误和不必要的重复编写。因此,大大提高了编码工作的进度。

在开发过程中,曾经由于数据字典设计不完善而导致数据表外键关联问题无法解决。结果,需要修改数据字典并重新导入,再通过对系统类库的运用才能比较完善的解决这个问题。

另外,还试过数据表的表结构设计不完善导致数据的关联问题无法解决。结果,修改建立的数据表的脚本语句,然后再重新建立数据表才解决了这个问题。

虽然这软件开发过程算是比较顺利,并没有遇到一些无法解决的问题。这也离不开开发前期的分析和设计,但是,由于设计时的考虑不够周全,也导致了开发的进度延迟。当然,另一方面由于时间紧迫,所以设计所花费的时间也不能太长。总的来说,在设计方面还应该多些思考各种可行的方案,以备遇到问题时可以灵活应对。同时,做好这一方面的工作,也可以避免解决完旧的问题就出了新的问题的这种情况

致谢

在毕业论文结束,毕业设计完成之际,我要特别感谢李德军老师,感谢他对我的支持,不仅是技术上的,还有心理上的鼓励和督促,他的指导和建议使我受益非浅,他时刻的督促使我不敢有丝毫的怠慢,对此我深表感激。还有要感谢在设计中给我帮助的同学们,在我设计过程中遇到问题时,给我伸出了援助之手。特别要感谢的是计算机系为我提供了这么优越的毕业设计环境,使我能和这么多同学一起奋斗在即将分别的日子里。最后,我再次感谢在毕业设计中为我提供帮助的所有朋友,是你们让我顺利完成毕业

参考文献

[1] 蔡淑琴. 管理信息系统. 第1版. 北京:科学出版社,2004

[2] 杨清源等. 对我国社区医疗发展的构想. 中华医院管理杂志. 第3期,2001

[3] 赵池龙、姜义平等. 软件工程实践教程. 北京:电子工业出版社,2007

[4] 刘亚姝,许小荣等.ASP 动态网站开发技术与实践. 北京:电子工业出版社,2007

[5] 萨师煊,王珊. 数据库系统概论. 第3版. 北京:高等教育出版社,2003

[6] 陈玉峰.ACCESS2000数据库开发教程. 北京:科学出版社,2000

[7] 郭瑞军、李杰等.ASP 数据库开发实例精粹. 北京:电子工业出版社,2005

[8] 石志国.ASP 动态网站编程[M].北京:清华大学出版社,2001

[9] 徐谡,徐立.ASP.NET 应用与开发案例教程. 第1版. 北京:清华大学出版社,2005

[10] David Buser, John Kauffman 等著,钟鸣,张文等译。ASP 初级教程. 北京:

机械工业出版社,2001

[11] 赵龙强、张雪风等. 数据库管理与应用. 上海:上海财经大学出版社,2001

[12] 叶俊民等. 软件工程. 北京:清华大学出版社,2006

[13] 徐罕, 吴玉新. 网站 ASP 后台解决方案[M].北京:人民邮电出社,2001

[14] Mickey Williams,Stephen Walther.ASP.NET Unleashed.2nd Edition.

United States:Sams Publishing,2003

[15] 杨志姝、李光海等.SQL 应用与开发标准教程. 北京:清华大学大学出版社,2006

[16] 王庆育等. 软件工程. 第1版. 北京:清华大学大学出版社,2004

[17] 杨志姝,冯小飞等.ASP+ACCESS基础练习+模型案例. 北京:清华大学出版社,2006

[18] 赵龙强、张雪风等. 数据库管理与应用. 上海:上海财经大学出版社,2001

电 子 科 技 大 学

毕 业 设 计(论 文)

论文题目: 基于Web 的社区服务系统的设计与实现

学习中心(或办学单位):四川科技职工大学学习中心

指导老师: 李德军 职 称: 讲师

学生姓名: 王 杰 学 号: v[1**********]

专 业: 计算机科学与技术

电 子 科 技 大

摘 要

随着社会的发展和生活水平的提高,医疗服务逐渐不断完善,并且朝着网络化、高效率化、系统化发展,使得医疗信息通过互联网快速传播,使病人与医生之间的沟通距离发生了革命性的变革,社区医疗管理必须做出不断的调整,使得社区医疗服务不能再墨守成规而是不断改善前进,在开发系统前,具体分析系统的性能需求、环境需求、功能需求,满足后阶段系统开发工作所需要的信息。

本文对按照软件开发的各个步骤进行具体介绍,其中着重介绍了软件需求分析、概要设计、详细设计中数据库的设计、实现与调试等。首先,在“前言”中对社区服务在现代网络系统中所处的地位进行简要的介绍,使读者对本课题有一个大致的了解;然后,按进行开发过程顺序的描述,其中包括部分主要图表以方便读者的阅读和理解;最后,对整个开发过程进行了总结。

关键词:构件化;社区服务;ASP ;

Abstract

With the social development and improvement of living standards , Medical services continue to improve gradually, and toward network-based, high efficiency, systematic development, making the rapid dissemination of medical information through the Internet, so that communication between patients and doctors a revolutionary change in the distance, community health management must make constant adjustment, making the community health service can no longer rigid but constantly improving forward, we must develop systems before the detailed analysis of system performance requirements, environmental requirements, functional requirements, the latter stage of system development to meet the information needed.

In this paper, the various steps in accordance with software development for specific description, which focuses on the software requirements analysis, outline design, detailed design, database design, implementation and commissioning. First, in the "Preface" in the community service in a modern network system in which the status of a brief introduction, the reader of this issue have a general understanding; then, according to the description of the order of the development process, including some of the main chart to convenience of the reader to read and understand; Finally, a summary of the entire development process.

Key words: component; community service; ASP;

第一章 概述

第一节 研究背景

随着生活水平的迅速发展,医疗服务逐渐不断完善,并且朝着网络化、高效率化、系统化发展,使得医疗信息通过互联网快速传播,使病人与医生之间的沟通距离发生了革命性的变革,社区医疗管理必须做出不断的调整,使得社区医疗服务不能再墨守成规而是不断改善前进,我们必须在开发系统前,具体分析系统的性能需求、环境需求、功能需求,满足后阶段系统开发工作所需要的信息。

该系统的开发主要适用于社区医疗服务机构,它主要满足一般医疗服务的需要和向社区居民提供医疗信息服务,所以该系统的开发必须符合社区医疗机构的常规使用。该系统必须能够有良好的性能,方便可靠及时的处理日程医疗问题。因此,要求病情统计管理、药品信息管理及社区医疗信息的管理等都必须及时体现在其发生阶段的情况,通过网络共享社区医疗资源和信息,方便居民和社区服务机构及时询问问题和及时公布社区医疗新闻、解决居民提出各种健康问题及其它问题的解决,为社区居民创造一个美好健康的生活环境。系统的总体设计遵循“统一规划,分布实施”的思想,使整个系统具有先进性、开放性、经济性、界面友好性、易于扩充和维护性等特点。先进性是目前世界上先进的高速网络及计算机系统技术,确保整个系统在运行若干年后,仍能基本满足用户的需要;开放性是整个网络系统采用开放式体系结构,保证异种数据库平台的通信;经济性要求既考虑系统的先进性,也要考虑系统的经济性,软硬件的配置在产出和投入的比例关系上要恰当;界面友好性是要求系统的开发采用人性化的设计方法,注重人机交互界面的友好性, 以便于系统的使用和推广;易于扩充和维护性是系统的设计应留有足够的扩充空间,以便于将来软硬件的升级, 用户进行系统维护应方便简单

从课题的现状来看,我们可以看出这种基于桌面应用程序系统的最大的一个特点,那就是信息之间无法共享,使得信息成了一个孤岛。为了改善这种信息孤岛模式,我们必须采用一些新技术来解决这些信息孤岛的问题。而近年来兴起Web 技术就给我们带来了时代的变迁,我们可以使用ASP 来开发该应用程序,该网站在响应速度上快,同时Web 技术的应用,不仅实现了数据的实时性和共享性,而且Web 服务的跨平台传输特性使得该软件的通用性更强,实用性更好。

第二节 国内外研究现状

当前,我国正处于急剧变化的社会转型期,转型带来的社会矛盾凸显、人口流动增强及互联网的迅速崛起,促进了网络论坛、BBS 等网络社区的发展。网络社区已成为人们信息发布、观点交流、权益维护、舆论监督的重要平台,在建设和谐社会中的作用渐显。

社区的概念及其网络化。“社区”一词是由英文Community 翻译而来,其拉丁语词源意指“共同的东西和亲密伙伴关系”。德国社会学家斐迪南? 滕尼斯最早将“社区”一词用于社会学研究,其名著《共同体与社会》中,社区被描述为“一种由共同价值观念的同质人口组成的密切、守望相助、存在一种人情味的社会关系的社会团体”。①二战后,美国经验主义社会学家将“社区”向地域共同体靠拢,突出其“地域”涵义。我国社会学界也较强调社区的地域性,认为社区是聚集在一定地域范围内的社会群体和社会组织,根据一套规范和制度结合而成的社会实体,是一定地域的社会生活共同体。

中国社会的急剧转型促使人口流动性加剧,而科技的进步让社会进入互联网时代。以上因素造成传统意义上以地缘为纽带的社区走向网络化,由地域观点出发的“社区”概念也随着时代的前进而改变。有社会学家提出:即使人们不住在一个地理区域或相互之间不进行社会交往,社区依然存在。②这类社区以网络论坛、BBS 、博客、贴吧为代表。它们突破了传统社区的地域性,让生活在不同地理区域的人们能够进行交往。

第三节 软件构件技术

构件(Component)是指应用系统中可以明确辨识的构成成分。而可复用构件(Reusable Component)是指具有相对独立的功能和可复用价值的构件。可复用构件应具备以下属性:①有用性(Usefulness):构件必须提供有用的功能;②可用性(Usability):构件必须易于理解和使用;③质量(Quality):构件及其变形必须能正确工作;④适应性(Adaptability):构件应该易于通过参数化等方式在不同语境中进行配置;⑤可移植性(Portability):构件应能在不同的硬件运行平台和软件环境中工作。

随着对软件复用理解的深入,构件的概念已不再局限于源代码构件,而是延伸到需求、系统和软件的需求规约、系统和软件的构架、文档、测试计划、测试案例和数据以及其他对开发活动有用信息。这些信息都可以称为可复用软件构件。 与传统的软件开发方式相比,基于构件的软件开发方法有什么突破呢?以下详述用构件化开发本系统的原因。

(1)体系结构:软件体系结构代表了系统公共的高层次的抽象,它是系统设计成败的关键。其设计的核心是能否使用重复的体系模式。传统的应用系统体系结构从基于主机的集中式框架,到在网络的客户端上通过网络访问服务器的框架,都不能适应目前企业所处的商业环境,原因是:企业过分地依赖于某个新闻的软件和硬件产品。这种单一新闻使得企业难以利用计算新闻的免费市场,将计算基础设施的重要决定交给第三方处理,这显然不利于企业在合作伙伴之间共享信息。不能适应远程访问的分布式、多层次异构系统。封装的应用系统在出现某种组织需要时,难以用定制来维护系统,从而难以满足多变的需求。不能实现分析、设计核心功能重用,最多只能实现代码重用。如今,应用系统已经发展成为在

Intranet 和Internet 上的各种客户端可远程访问的分布式、多层次异构系统。CBSD 为开发这样的应用系统提供了新的系统体系结构。它是标准定义的、分布式、模块化结构,使应用系统可分成几个独立部分开发,可用增量方式开发。 这样的体系结构实现了CBSD 的以下几点目标: 能够通过内部开发的、第三方提供的或市场上购买的现有构件,来集成和定制应用软件系统。 鼓励在各种应用系统中重用核心功能, 努力实现分析、设计的重用。系统都应具有灵活方便的升级和系统模块的更新维护能力。 封装最好的实践案例,并使其在商业条件改变的情况下,还能够被采用,并能保留已有资源。由此看出,CDSD 从系统高层次的抽象上解决了复用性与异构互操作性,这正是分布式网络系统所希望解决的难题。

(2)开发过程:传统的软件开发过程在重用元素、开发方法上都与CBSD 有很大的不同。虽然面向对象技术促进了软件重用,但是,只实现了类和类继承的重用。在整个系统和类之间还存在很大的缺口。为填补这个缺口,人们曾想了许多方法,如系统体系结构、框架、设计模式等。自从构件出现以来,软件的重用才得到了根本改变。CBSD 实现了分析、设计、类等多层次上的重用。在分析抽象层上,重用元素有子系统、类;在设计层上重用元素有系统体系结构、子系统体系结构、设计模式、框架、容器、构件、类库、模板、抽象类等。 在软件开发方法上,CBSD 引导软件开发从应用系统开发转变为应用系统集成。建立一个应用系统需要重用很多已有的构件模块,这些构件模块可能是在不同的时间、由不同的人员开发的,并有各种不同的用途。在这种情况下,应用系统的开发过程就变成对构件接口、构件上下文以及框架环境一致性的逐渐探索过程。例如,在J2EE 平台上,用EJB 框架开发应用系统,主要工作是将应用逻辑, 按session Bean 、entity Bean 设计开发, 并利用JTS 事务处理的服务实现应用系统。其主要难点是事务划分、构件的部署与开发环境配置。概括地说,传统的软件开发过程是串行瀑布式、流水线的过程; 而CBSD 是并发进化式,不断升级完善的过程。

(3)软件方法学:软件方法学是从各种不同角度、不同思路去认识软件的本质。传统的软件方法学是从面向机器、面向数据、面向过程、面向功能、面向数

据流、面向对象等不断创新的观点反映问题的本质。整个软件的发展历程使人们越来越认识到应按客观世界规律去解决软件方法学问题。直到面向对象方法的出现,才使软件方法学迈进了一大步。但是,高层次上的重用、分布式异构互操作的难点还没有解决。CBSD 发展到今天,才在软件方法学上为解决这个难题提供了机会。它把应用业务和实现分离,即逻辑与数据的分离,提供标准接口和框架,使软件开发方法变成构件的组合。因此,软件方法学是以接口为中心,面向行为的设计。归纳起来,CBSD 的软件开发方法学应包括下面几方面: 对构件有明确的定义。 基于构件的概念需要有构件的描述技术和规范,如UML 、JavaBean 、EJB 、Servlet 规范等。开发应用系统必须按构件裁剪划分组织,包括分配不同的角色。 有支持检验构件特性和生成文档的工具,确保构件规范的实现和质量测试。总之,传统的软件方法学从草稿自顶向下进行,对重用没有提供更多的辅助。CBSD 的软件方法学要丰富得多,它是即插即用,基于体系结构,以接口为中心,将构件有机组合,它把自顶向下和自底向上方法结合起来进行开发。

(4)开发组织机构:传统软件的开发组织一般由分析员、设计员、程序员和测试员组成。对一个小的应用系统来说,一个熟练的开发人员,可能兼顾以上多个角色。但对CBSD 来说, 因为构件开发与应用系统集成往往是分开进行的,因此整个开发过程由六个角色来完成,他们是:构件开发者也是构件供货商,这些大多数是中间件构件提供(续致信网上一页内容) 者。应用构件集成者 针对某应用领域将已有构件组合成更大的构件模块或容器,作为系统部署的基本单元。应用系统部署者 将系统部署基本单元放入选定的平台环境或基本框架中,完成软件定制的要求。 开发平台服务器新闻 提供服务器、操作系统和数据库等基本软件。 应用系统开发工具新闻 提供构件公共设施服务。系统管理员 配置硬件、网络和操作系统,监督和维护应用系统者。这六个角色的工作专业性很强,要兼顾成为多面手很不容易。目前已形成构件开放市场,而且还很火红。这也是当今软件人才大战所遇的一个困惑。因此,在CBSD 中,如何组织好开发队伍尤为重要,必须按本企业所具备人才来组织。特别重要的是:开发初期必须选好标准框架,以及统一的开发指导方针,保证在整个开发过程中, 各角色能随时互相沟通。一般来说,CBSD 的人员素质决定了构件的重用率。

(5)构造方法:传统应用软件的构造是用白盒子方法,应用系统的实现全在代码中,应用逻辑和数据粘结在一起。而CBSD 的构造是用白盒子和黑盒子相结合的方法。基于构件的框架是用两个概念来支持演变:第一个概念是构件有很强的性能接口,使构件逻辑功能和构件模型的实现都隐藏起来。这样,只要接口相同,构件就可以被替换。第二个概念是隐式调用,即在基于构件的框架中,从来不直接给构件的接口分配地址,只在识别构件用户后才分配地址。因此,构件用户只要了解接口要求和为构件接口提供的引用后的返回信息 (该引用可能是一个构

件,也可能是一个构件代理。对构件用户来说,构件代理就是构件,不用区分) 。 构件接口的信息并不存入构件内,而是存入构件仓库或注册处。这样才能保证构件替换灵活,并很容易利用隐式调用去重新部署构件。由于构件的实现对用户透明,因此也使构件能适应各种不同的个性化要求。为此,构件提供自检和规范化两个机制。自检保证在不了解构件的具体实现时,就能获得构件接口信息。例如,JavaBean 提供的自检机制是Reflection 和BeanInfo ,通过Reflection 可直接获得Bean 构件的全部方法,通过BeanInfo 可直接获得构件的许多复杂信息。规范化允许不访问构件就可以修改它,如JavaBean 提供的规范化是property sheet和customizer(定制器) 。通过property sheet提供一组简单参数,修改Bean 的属性。复杂的修改由用户通过定制器设置参数完成。

第四节 技术简介

一、 ASP的简介

ASP 全称为Active Server Pages,即动态服务器页面,它是一套微软开发的服务器端脚本环境,ASP 内含于IIS 3.0以上版本之中,通过ASP 我们可以结合HTML 网页、ASP 指令和ActiveX 元件建立动态、交互且高效的Web 服务器应用程序。ASP 文件(即*.asp文件)与HTML 文件类似,但ASP 文件可以包含脚本命令,脚本命令放在之间。当用户请求一个*.asp主页时,WWW 响应HTTP 请示调用ASP 引擎,解释被申请的文件,当遇到与ActiveX Scripting兼容的脚本

(VBScript 或JavaScript )时ASP 引擎调用相应的脚本引擎进行处理。ASP 脚本在服务器端解释执行,结果自动生成符合HTML 语言的主页去响应用户的请求。ASP 目前已成为目前应用最广泛的动态网页开发工具,同时应用ASP 进行网络化的信息管理系统也逐步得到推广。

二、 ASP的特点

1.使用VBScript 、JavaScript 等简单易懂的脚本语言,同时结合HTML 代码,即可快速地完成网站的应用程序。

2.使用普通的文本编辑器,如Windows 的记事本,即可进行编辑设计,而利用诸如FrontPage 或者Dream weaver等所见即所得的网页编辑软件可以快捷方便地进行编辑,易学易用。

3.与浏览器无关(Browser Independence),用户端只要使用可执行HTML 代码的浏览器,即可浏览ASP 所设计的网页内容。ASP 所使用的脚本语言(VBScript 、JavaScript )均在Web 服务器端执行,用户端的浏览器不需要能够执行这些脚本语言。

4.Active Server Pages能与任何ActiveX Scripting语言相容。ActiveX Server Components (ActiveX 服务器元件)具有无限可扩充性。可以使用Visual Basic 、Java 、Visual C++、COBOL 等编程语言来编写你所需要的ActiveX Server Components 。

5.Active Server Pages 的源程序,不会被传到客户端浏览器,因而可以避免所写的源程序被他人剽窃,也提高了程序的安全性。ASP 的奇妙之处真是不胜枚举,更为重要的是,ASP 是一种“无须编程”的软件开发工具,用简单的几个语句,即可对数据库进行操作。另外,ASP 程序员的数量惊人,所以当你遇到问题时,可以请求他人帮你解决。

三、 ASP的六大对象

1.Application 对象是一个应用程序级的对象,用在所有用户间共享信息,并可以在Web 应用程序运行期间持久地保持数据。

2.ObjectContext 对象用于控制Active Server的事务处理。事务处理由

Microsoft Transaction Server(MTS )管理。

3.Request 对象用于接受所有从浏览器发往服务器的请求内的所有信息。

Request 对象是ASP 中最基本和最常用的对象。

4.Response 对象用于向客户端浏览器发送数据,用户可以使用该对象将服务器的数据以HTML 的格式发送到用户端的浏览器,它与Request 组成了一对接收、发送数据的对象,这也是实现动态的基础。

5.Server 对象是ASP 中一个很重要的对象,许多高级功能都是靠它来完成的。它提供了对ASP 及其方法的使用。

6.Session 其实指的就是访问者从到达某个特定主页到离开为止的那段时间。每位访问者都会单独获得一个Session 。在Web 应用程序中,当一个用户访问该应用时,Session 类型的变量可以供这个用户在该Web 应用的所有页面中共享数据;如果另一个用户也同时访问该Web 应用,他也拥有自己的Session 变量,但两个用户之间无法通过Session 变量共享信息,而Application 类型的变更则可以实现站点多个用户之间在所有页面中共享信息。

四、ASP 与ACCESS 的连接

数据库的访问方式

ASP 的访问数据库的功能是非常强大的,能够快速有效地对数据库进行访问和管理,访问数据库的方式有两种:

(1)通过标准的数据库接口进行数据库的连接

这些接口包括ODBC 、JDBC 和OLEDB 等。标准的数据库接口是通过一个遵循标准的驱动程序(ODBC、JDBC) ,或是通过数据提供器(OLEDB)与数据库联系通信的。遵循标准的驱动程序或数据提供了一些标准的API 定义的抽象函数,可以将一个数据请求调用转化成为一个特定数据库所能理解的操作。

(2)通过数据库的专用接口来直接连接数据库

它使用数据库专用的API 与数据库联系通信,这种方式效率很高。通过我们连接大型数据库时采取的是这一种方式,例如:Oracle 、Informix 等。

五、IIS 简介

IIS 是Internet Information Server的缩写,它是微软公司主推的服务器,最新的版本是Windows2000里面包含的IIS 5,IIS 与Window NT Server完全集成在一起,因而用户能够利用Windows NT Server和NTFS (NT File System,NT 的文件系统)内置的安全特性,建立强大,灵活而安全的Internet 和Intranet 站点。

IIS 支持HTTP (Hypertext Transfer Protocol ,超文本传输协议),FTP (File Transfer Protocol ,文件传输协议)以及SMTP 协议,通过使用CGI 和ISAPI ,IIS 可以得到高度的扩展。

IIS 支持与语言无关的脚本编写和组件,通过IIS ,开发人员就可以开发新一代动态的,富有魅力的Web 站点。IIS 不需要开发人员学习新的脚本语言或者编译应用程序,IIS 完全支持VBScript ,JavaScript 开发软件以及Java ,它也支持CGI 和WinCGI ,以及ISAPI 扩展和过滤器。

六、DreamWeaver MX 2004的简介

一个可视化的网页设计和网站管理工具,支持最新的Web 技术,包含HTML 检查、HTML 格式控制、HTML 格式化选项、Home Site/BBEdit捆绑、可视化网页设计、图像编辑、全局查找替换、全FTP 功能、处理Flash 和Shockwave 等流媒体格式和动态HTML 、基于团队的Web 创作。在编辑上你可以选择可视化方式或者你喜欢的源码编辑方式。 Dream weaver MX 2004 的十大新特性:

1. 动态跨浏览器验证:自动检测标签和CSS 规则来适应所有主流浏览器!

2. 更强大的CSS 支持。

3. 内建的图形编辑引擎:修剪, 改变大小, 尺寸, 旋转角度, 调节明暗度都不需要离开Dream weaver环境, 因为它本身集成了FW 的基本图形编辑技术.(这一点有模仿FrontPage 的嫌疑, 但这个功能确实很实用) 。

4. 安全FTP:完全加密传输保证文件和账号信息的安全。

5. 增强对当今技术的支持:支持当今主流的开放环

境:ColdFusion,J2EE,PHP,.NET,和其他主流的服务器技术.Dream weaver 现在加入了XML 命名空间支持,ASP.NET 表单控件对象, 新的参考书内容和新的PHP 服务器端行为。

6. 无缝整合外部文件和代码:直接将Word 和Excel 文档复制和粘贴到Dream weaver 中, 会保留字体, 颜色,CSS 样式表信息. 使用, 使用系统支持的编码保存任何字体, 包括双字节字符集。

7. 紧密整合MM 的其他工具:加强了和MM 其他几款产品的协同工作能力. 例如:你可以通过DW 直接设置Flash 组件的参数。

8. 基本支持改良:插入条, 表格工具都有改进。

9. 增强代码编写工具:编辑代码更省时, 例如右键编写代码工具, 增强的查找和替换, 高效的属性面板。

10. 改进的设计开放环境:一个改良的用户界面, 更高的实用性, 非常亲切和有逻辑, 让你快速找到你想要的东西, 一个新的开始屏幕让你快速访问最近的文件和教程资源。

七、VbScript 、 JavaScript简介

Visual Basic的Scripting 版本(VBScript ),Active Sever Pages的缺省脚本语言。VBScript 通过变量, 操作符,循环,分支,函数和子例程,扩展了HTML 。通过在HTML 网页中加人VBScript 脚本,你可以使静态的HTML 网页成为动态网页。VBScript 与Basic 语言有密切关系。如果你熟悉BASIC ,你将会发现

VBScript 很容易学习和使用。VBScript 是Microsoft Visual Basic的简化版本。VBScript 是一种脚本语言。这意味着这种语言比BASIC 语言的成熟版本容易使用又难于使用。编制简单的程序时,脚本语言是容易使用的。脚本语言的句法比较简单。但是,简单的句法也使开发大的应用程序变得很困难。你可以在HTML 文件中直接嵌入VBScript 脚本。这使你能够扩展HTML ,使它不仅仅是一种页面格式语言。带有VBScript 脚本的网页在每次下载到浏览器时都可以是不同的,而且可以对用户的操作做出反应。VBScript 是Active Sever Pages的缺省语言

JavaScript 是一种解释性的,基于对象的脚本语言(an interpreted,

object-based scripting language)。HTML 网页在互动性方面能力较弱,例如下拉菜单,就是用户点击某一菜单项时,自动会出现该菜单项的所有子菜单,用纯HTML 网页无法实现;又如验证HTML 表单(Form)提交信息的有效性,用户名不能为空,密码不能少于4位,邮政编码只能是数字之类,用纯HTML 网页也无法实现。要实现这些功能,就需要用到JavaScript 。

JavaScript 是一种脚本语言,比HTML 要复杂。不过即便你先前不懂编程,也不用担心,因为JavaScript 写的程序都是以源代码的形式出现的,也就是说你在一个网页里看到一段比较好的JavaScript 代码,恰好你也用得上,就可以直接拷贝,然后放到你的网页中去。正因为可以借鉴、参考优秀网页的代码,所以让JavaScript 本身也变得非常受欢迎,从而被广泛应用。原来不懂编程的人,多参考JavaScript 示例代码,也能很快上手。

JavaScript 主要是基于客户端运行的,用户点击带有JavaScript 的网页,网页里的JavaScript 就传到浏览器,由浏览器对此作处理。前面提到的下拉菜单、验证表单有效性等大量互动性功能,都是在客户端完成的,不需要和Web Server发生任何数据交换, 因此,不会增加Web Server的负担。

几乎所有浏览器都支持JavaScript ,如Internet Explorer(IE),Fire fox, Netscape ,Opera 等。

第二章 需求分析

需求分析是程序设计中最关键的一个步骤,是其他步骤的基础。需求分析的主要任务是“为了解决这个问题,目标系统必须做什么”。它主要是确定目标系统具有哪些功能。具体地说,应该确定系统必须具有的功能和性能,系统要求的运行环境,并且预测系统发展的前景;必须仔细分析系统中的数据,既要分析系统中的数据流,又要分析长期使用的数据存储,通过分析应该得出用功能模块图、数据库表描述所定义的详细的系统逻辑模型。

第一节 任务概述

一、系统实现目标

系统能够对不同的系统后台使用设置不同的使用权限,通过不同权限人员的人员使用,实现系统特定的功能,如挂号工作人员实现病人挂号的看病的第一步骤、病人通过医生的诊断开具处方、到收费人员那里交费然后领取药品、社区信息管理人员记录病人的看病情况、公布社区医疗新闻、回复居民的留言等功能。为避免相应信息资料的丢失或者遭到非法破坏,系统必须具有安全设置功能,如对使用人员进行用户验证。另外系统具有较强的查询统计功能,能够建立有效的医疗服务机构与网站访问人员的交流渠道,实现系统的高效的使用。

二、系统用户的特点

社区服务适用于普通社区。本系统的主要用户有管理员、居民和社区医生。管理员需要具备一定的计算机知识,而且熟练撑握SQL 语言,能够对数据库进行维护。而居民和社区医生,只需要了解一些计算机的基本操作就可以了。另外,管理员可根据本文档对软件在运行过程中出现的错误进行处理,而且可以基于本软件的基础进行扩展。

三、假定和约束

社区服务必须在五月中旬完成,而且包括毕业论文。在开发过程期间,需要与辅导老师进行密切交流。以便对开发过程中遇到的问题能顺利解决。在完成用户的全部需求的前提下,合理对系统进行扩展,使系统更加完善。

第三节 需要规定

一、对功能的规定

基于Web 的社区医疗管理信息系统包括数据管理、机构管理、挂号管理、收费统计管理、药品管理、疾病管理、信息管理、前台用户管理、病人服务管理。

(1)数据管理:系统信息的设置,包括修改系统名称,修改前台首页和每个项目的每页显示记录数、后台每页显示记录数、公告;系统用户,包括修改后台系统用户信息、删除后台系统用户;添加后台系统,包括设置系统用户的登陆名称和密码,授予不同的系统用户权限; 修改用户密码。

(2)机构管理:添加机构职务;添加机构部门,设置其是否属于医疗部门(若是医疗部门,在挂号时选择不同种类挂号科室),并分配不同的部门负责人;添加机构员工,并设置其详细信息。

(3)挂号管理:添加新的病人的个人资料;添加、修改、删除挂号类型:挂号、改号、退号,打印挂号单据;按照挂号时间、挂号类型、操作员、科室、医生查询挂号信息,查询挂号收入。

(4)收费统计管理:添加、修改、删除费用类型;通过病人姓名可以查看病人详细信息,修改、查看、删除病人就近信息;选择处方名单,计算收费情况,打印收费单据;按收费时间、月份、季度、年份查询收费情况及总收入。

(5)药品管理:添加、修改、删除药品单位、药库、药品产地、药品供货单位、药品类型、药品信息;添加入库药品、改出库药品;分别查询低于下限和高于上限的药品、查询过期药品;按入库时间、供货单位、采购人员查询入库情况;按照购药时间、月份、季度、年份查询药品的需求,退药。

(6)疾病管理:添加、删除疾病;按时间断查询疾病的发生率。

(7)信息管理:添加、删除社区信息类别;添加社区详细信息;查看、修改、删除社区信息; 删除、回复留言。

(8)前台用户管理:浏览社区医生信息、健康处方和公告、社区新闻;查询社区信息。

(9)病人服务管理:修改密码;查看挂号、交费、病情及处方信息,以留言的方式询问医疗信息。

二、输人输出要求

对于部份数据类型的数据输入,系统可自动判断其正确性并且给予提示。例如,字符、数值、日期的类型输入错误等等。但对于数据输入的格式,就由用户自行决定。这一方面,系统不作严格要求。

第三节 系统运行环境规定

一、 硬件环境

服务端微型计算机配置:

⑴ 操作系统:Windows2000 或 Windows XP ;

⑵ CPU:奔腾三 1GMHz或以上

⑶ 内存:512MB 或以上

⑷ 硬盘:80G 或以上

⑸ 数据库:Microsoft SQL Server 2000或以上

客户端微型计算机配置:

⑴ 操作系统:Windows2000 或 Windows XP ;

⑵ CPU::奔腾三 700MHz或以上

⑶ 内存:64MB 或以上

⑷ 硬盘:10G 或以上

二、软件环境

开发软件:Microsoft ASP 2008;

开发语言:ASP ;

数据库软件:Microsoft SQL Server 2000;

文档编写软件:Microsoft Word2.

三、系统用户界面设计

(1)简单明了原则:用户的操作要尽可能以最直接最形象最易于理解的方式呈现在用户面前。对操作接口,直接点击高于右键操作,文字表示高于图标示意,尽可能的符合用户对类似系统的识别习惯。

(2)方便使用原则:符合用户习惯为方便使用的第一原则。其它还包括,实现目标功能的最少操作数原则,鼠标最短距离移动原则等。

(3)用户导向原则:为了方便用户尽快熟悉系统,简化操作,应该尽可能的提供向导性质的操作流程。

(4)实时帮助原则:用户需要能随时响应问题的用户帮助。

(5)提供高级自定义功能:为熟悉计算机及软件系统的高级用户设置自定义功能,可以对已经确定的常规操作以及系统的方方面面进行符合自身习惯的自定义设置。包括常规操作、界面排版、界面样式等种种自定义。

(6)界面色彩要求:计算机屏幕的发光成像和普通视觉成像有很大的不同,应该注意这种差别作出恰当的色彩搭配。对于需用户长时间使用的系统,应当使用户在较长时间使用后不至于过于感到视觉疲劳为宜。例如轻松的淡彩为主配色,

灰色系为主配色等等。切忌色彩过多,花哨艳丽,严重妨碍用户视觉交互。

(7)界面平面版式要求:系统样式排版整齐划一,尽可能划分不同的功能区域于固定位置,方便用户导航使用;排版不宜过于密集,避免产生疲劳感。

第三章 社区服务系统设计

第一节 总体设计

总体设计的基本目的就是确定系统应该如何实现,因此总体设计又称为概要设计。总体设计过程通常由两个主要阶段组成:系统设计,确定系统的具体实现方案;结构设计,确定软件结构。这部分主要的设计思想是通过社区服务系统系的开发方案,利用现有的软硬件环境,提高系统的开发水平,充分的利用资源。系统需符合管理系统的规定,并操作方便直观。系统采用模块化的程序设计的方法,便于系统功能的各种组合和修改。社区系统模块图如图3-1所示

图3-1 社区系统模块图

一、社区网站管理

主要功能是管理社区网站的基本信息。管理员可以完成对社区网站的基本信息进行添加、修改、删除、查询的操作。权限仅限于管理员,普通用户不能对其进行添加、修改和删除,只能进行查询。社区网站管理模块如图3-2所示:

图3-2 社区网站图

二、病人管理

主要功能是管理社区网站的基本信息。管理员可以完成对的基本信息进行添加、修改、删除、查询的操作。权限仅限于管理员,普通用户不能对其进行添加、修改和删除,只能进行查询。管理模块如图3-3所示:

图3-3 管理模块图

三、权限管理

根据需求分析的要求,本系统应完成系统自身的管理。本次设计的主要界面包括管理员登录界面、普通用户登录界面。管理员和普通用户分别在各自的主页面就可以完成系统设定的功能,操作方便。

系统设计为两个子系统,即管理员子系统和普通用户子系统。系统功能结构,如图3-4所示。管理员子系统实现了管理员对各个信息进行添加、修改、删除、查询等操作。普通用户子系统实现了普通用户的注册、修改个人信息,以及查询信息的功能。

图3-4 权限管理图

第二节 系统设计

本系统软件主要以表单形式作为界面显示,并且提供菜单以便用户选择所需要的功能操作。在软件运行过程中,对于各功能操作的结果都会有提示信息。例如,操作成功或者失败等等。而对于数据的输入不正确都会有所提示。例如,退货数量信息只可以输入数值等等。另外,对于在运行过程中,系统所以出现的故障都有所提示。例如,由于网络问题而造成的服务器连接失败或者所连接的数据不存在等等。

一、系统用户接口

本系统软件主要以表单形式作为界面显示,并且提供菜单以便用户选择所需要的功能操作。在软件运行过程中,对于各功能操作的结果都会有提示信息。例如,操作成功或者失败等等。而对于数据的输入不正确都会有所提示。例如,退货数量信息只可以输入数值等等。另外,对于在运行过程中,系统所以出现的故障都有所提示。例如,由于网络问题而造成的服务器连接失败或者所连接的数据不存在等等。

二、N 层架构技术

一个N 层的应用程序通常有三层。三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI )、业务逻辑层(BLL )、数据访问层(DAL ),如图3-1所示。区分层次的目的即为了“高内聚,低耦合”的思想。

(1)表现层(UI ):表现层用于用户接口的展示,以及用业务层的类和对象来“驱动”这些接口。通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。在ASP.NET 中,该层包括aspx 页面、用户控制、服务器控制以及某些与安全相关的类和对象。

(2)业务逻辑层(BLL ):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。业务层用于访问数据层,从数据层取数据、修改数据以及删除数据,并将结果返回给表现层。业务逻辑层在数据访问层之上,也就是说BLL 调用DAL 的类和对象。DAL 访问数据并将其转给BLL 。在ASP.NET 中,该层包括使用SqlClient 或OleDb 从SQL Server或Access 数据库取数据、更新数据及删除数据,把数据通过DataSet 或DataReader 的形式给BLL ,BLL 处理数据给表现层。有的时候,例如直接把DataSet 或DataReader 送给表现层的时候,BLL 是一个透明层。

返回的数据也许只有一个整型数字,比如一个表的行记录数目,但这也要用数据层的数据进行计算。

(3)数据访问层(DAL ):有时候也称为是持久层,其功能主要是负责数据库的访问,可以访问数据库系统、二进制文件、文本文档或是XML 文档。数据层是数据库或者数据源。在.NET 中,通常它是一个SQL Server或Access 数据库,但不仅限于此两种形式,它还可能是Oracle ,MySQL ,甚至是XML 。该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。

另外,需要强调的是,业务逻辑层无疑是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统所应对的领域(Domain )逻辑有关,很多时候,也将业务逻辑层称为领域层。例如Martin Fowler在《Patterns of Enterprise

Application Architecture》一书中,将整个架构分为三个主要的层:表示层、领域层和数据源层。作为领域驱动设计的先驱Eric Evans,对业务逻辑层作了更细致地划分,细分为应用层与领域层,通过分层进一步将领域逻辑与领域逻辑的解决方案分离。

业务逻辑层在体系架构中的位置很关键,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是“无知”的,改变上层的设计对于其调用的底

层而言没有任何影响。如果在分层设计时,遵循了面向接口设计的思想,那么这种向下的依赖也应该是一种弱依赖关系。因而在不改变接口定义的前提下,理想的分层式架构,应该是一个支持可抽取、可替换的“抽屉”式架构。正因为如此,业务逻辑层的设计对于一个支持可扩展的架构尤为关键,因为它扮演了两个不同的角色。对于数据访问层而言,它是调用者;对于表示层而言,它却是被调用者。依赖与被依赖的关系都纠结在业务逻辑层上,如何实现依赖关系的解耦,则是除了实现业务逻辑之外留给设计师的任务。

第四章 数据库设计

第一节 结构设计

一、 概念结构设计

实体——联系方法(Entity—Relationship Approach)是最常用的表示概念性数据模型的方法。这种方法使用E-R 图来描述现实世界中的实体,而不涉及这些实体在系统中的实现方法,即使不熟悉计算机技术的用户也能理解它。

整个系统分为两类用户:前台用户和后台用户,前台用户即在本社区医院看过病的所有病人,病人可用病人门诊号(病人编号)及初始密码(六个0),登录本系统的前台。后台用户包括系统管理员(拥有最高权限,可使用后台所有的功能)、挂号员、收费员、医生、库存管理员,采购员等,各个用户之间存在的关系如图E-R 联系所示。

E-R 联系图

二 逻辑结构设计

为了编码方便,表名与字段名一律采用英文字符命名。另外,为了提高可扩展性,各表的各字段会因具体需要进行类型与长度的定义。

1)关于整型类型的编号方面的信息,各表将以IDENTITY (1, 1) 进行储存。2)关于字符类型的备注方面的信息,各表将以Varchar(32)进行储存;关于其他字符类型的信息,各表将以Varchar(64)进行储存。3)关于其数值类型的信息,各表将以Int 进行储存。4)关于其日期类型的信息,各表将以DateTime 进行储存。

在数据字典中,定义了各表的基本信息,具体情况可参见附录3数据字典主要内容。

逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R 图,转换为逻辑结构。

本系统的数据库通过physical design的数据库建模生成sql 语句文件,在通过SQL Server 2005 的查询分析器运行该文件生成数据库。

第二节 运用设计

一、数据字典设计

在表DataDict 中储存的各表的基本信息,当中包括表的名称、表的别名、字段的名称、字段的别名、字段是否主键、字段是否外键、字段的数据类型、字段长度、字段的可选项、字段的备注等等。这样能为编码过程中带来极大的方便,使编码工作变得简单。而且,对于语言的扩展也非常方便,只需要通过增加表的别名各字段的别名就可以实现。此数据字典将会放在数据库NickERP 中,程序可通过ODBC 对此数据字典进行访问。关于数据字典的主要内容,请参见附录1 数据字典主要内容。

二、安全保密设计

在系统的使用过程中,用户可以对服务器、用户名与密码进行设置,并且可以选择是否保存所设置的信息。系统测试连接成功后就能正常使用系统。数据库维护人员可通过对数据库的用户、密码、访问权限进行设置。还可以进行对数据库的导出、导入,并进行保密设置,具有一定的安全性。

作为一个企业物资社区服务,其中的产品数据资料属于内部资料,不能被外人所知,也不允许随意更改, 系统须有保密措施。系统数据库将设置操作员表,将管理员名称和密码记录在操作员表中,拥有管理员权限的操作员才能操作数据库,非操作人员将则不能。因此, 为保证系统正常运行,拥有权限的人员才能进行数据库操作。

对于一个数据库而言, 安全性是指保护数据库不被破坏、偷窃和非法使用的性能。一个设计良好的安全模式能使用户的合法操作变得很容易, 同时使非法操作和意外破坏很难或不可能发生。

三、安全性管理设计

数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。系统安全保护措施是否有效是数据库系统的主要指标之一。数据库的安全性和计算机系统的安全性,包括操作系统、网络系统,两者的安全性是紧密

联系、相互支持的。对于数据库管理员来说,是保护数据不受内部和外部侵害时的一项重要的工作。

各层ACCESS 安全控制策略是通过各层安全控制系统的身份验证实现的。身份验证是指当用户访问系统时,系统对该用户的账号和口令的确认过程。身份验证的内容包括确认用户的账号是否有效、能否访问系统、能访问系统的哪些数据等。数据库管理员可以通过以下两种途径确保数据库的安全[12]:

1.通过用户标识与验证实现

用户标识和验证是系统提供的最外层安全保护措施。其方法是由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供机器使用权。

2.通过ACCESS 身份验证方式实现

用户必须使用一个登录账号,才能连接到ACCESS 中。ACCESS 可以识别两类身份验证方式,即:ACCESS 身份验证方式和Windows 身份验证方式。当使用ACCESS 身份验证方式时,由ACCESS 系统管理员定义ACCESS 账号和口令,用户连接ACCESS 时,必须提供登录账号和口令。当使用Windows 身份验证方式时,用户不必提供ACCESS 的登录账号和口令就能连接到系统上。但是在连接之前,管理员必须将Windows NT/2000账号定义为ACCESS 的有效登录账号

电子科技大学毕业论文(设计) 基于

Web 的社区服务系统的设计与实现

第五章 系统的实现与调试

第一节 系统登录模块

社区服务系统开发方案是利用现有的软硬件环境,充分的利用资源制订的。系统需符合社区服务系统的规定,要求操作方便直观。系统采用模块化的程序设计的方法[13],便于系统功能的各种组合和修改。采用模块化的原理进行程序设计,可以使结构变得清晰,不仅容易设计实现,也容易阅读和理解,更容易进行维护和升级。

社区服务系统是一款面向管理员和普通用户的系统,依据访问的身份来判定登录的界面。本系统有两个子页面:管理员页面,普通用户页面。首先打开IE 浏览器输入地址,进入主页面——选择登录页面。登录者根据自己的身份选择是管理员登录还是普通用户登录。登录界面如图5-1所示:

图5-1 登录界面

第二节 用户注册模块

如果该普通用户还未注册,则没有登录权限,可以点击新用户注册链接,按照要求输入用户注册信息,输入完毕后,点击确认注册,会返回图5-2所示界面,输

图5-2注册界面

第三节 用户信息修改模块

当进入普通用户主页面后,点击系统管理,会进入对普通用户的信息查看及修改界面。当点击用户信息查看时,会显示出所有普通用户的基本信息。点击用户信息修改时,便可以对自己的登录名和密码进行修改,确认修改后会返回普通用户登录界面,输入修改后的用户名和密码,即可进入普通用户主页面。普通用户信息修改界面如图5-3所示界面

图5-3 用户修改界面

第四节 管理界面设计

此界面的功能就是:管理员可以查看、转移和删除论坛主题,可以查看、添加、修改和删除论坛板块,可以对论坛用户进行管理。如图5-4所示界面

图5-4管理界面

第五节 系统的主要代码

一、 数据库操作代码: } }

Dim Conn,Str,db

db = "data/Community.mdb"

Set Conn = Server.CreateObject("ADODB.Connection") Str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Conn.Open Str

Source="&Server.MapPath(""&db&"")

二、登录模块代码

if(document.loginFrm.User.value == "") { }

if(document.loginFrm.Pwd.value =="") {

alert('请输入密码!'); document.loginFrm.Pwd.focus(); return false;

alert('请输入用户名!'); document.loginFrm.User.focus(); return false;

}

if(document.loginFrm.dllb.value =="") {

alert('请选择登录类别!'); document.loginFrm.Pwd.focus(); return false;

}

id=Request("id")

Sub ChkLogin()

Dim User,Pwd,Rs,Sql

User = Trim(Request.Form("User")) dllb = Trim(Request.Form("dllb"))

Set Rs = Server.CreateObject("ADODB.Recordset")

if dllb="ys" then Sql = "Select * From [DB_ysInfo] Where if dllb="jm" then Sql = "Select * From [DB_jmInfo] Where Rs.Open Sql,Conn,2,3

Call ChkLogin() End If

Pwd = Trim(Request.Form("Pwd"))

name='"&User&"'" '登录类别为医生的数据记录 name='"&User&"'" '登录类别为居民的数据记录

If Rs.EOF And Rs.BOF Then '无此用户名, 则弹出提示

Response.Write "" Session("User") = User Session("dllb") = dllb Session("Userid")=Rs("ID") else '没有审核弹出提示 Response.Redirect dllb&"index.asp" Response.Write "" Else '密码错误弹出提示 Response.Write "" End If End If Rs.Close Set Rs = nothing End Sub %>

第六章 系统测试

第一节 测试的目的和作用

软件测试的作用在于发现软件的缺陷,从而提高软件质量,测试人员会告诉你他们的主要工作是发现bug 。但我们知道测试永远不能发现所有的bug ,而且不可能去测试软件质量。许多领域内专家也极力主张软件测试的目的主要是在于发现软件错误,希望在软件开发生命周期内尽可能早的发现尽可能多得bug 。这种认识源于我们没有办法对软件进行完全测试,即对程序的正确性进行完全证明,但遗憾的是,我们至今还没有使用的技术做到这一点。包括E.W.Dijkstra 指出“测试只能证明程序有错, 不能保证程序无错”。所以,人们认为能够发现程序缺陷的测试是成功的测试,测试的根本目的就是为了发现尽可能多地缺 测试原则

软件测试从不同的角度出发会派生出两种不同的测试原则,从用户的角度出发,就是希望通过软件测试能充分暴露软件中存在的问题和缺陷,从而考虑是否可以接受该产品,从开发者的角度出发,就是希望测试能表明软件产品不存在错误,已经正确地实现了用户的需求,确立人们对软件质量的信心。

中国软件评测中心的测试原则就是从用户和开发者的角度出发进行软件产品测试的,通过我们的测试,可以为用户提供放心的产品,并对优秀的产品进行认证。

为了达到上述的原则,那么需要注意以下几点:

(1).应当把“尽早和不断的测试”作为开发者的座右铭

(2).程序员应该避免检查自己的程序,测试工作应该由独立的专业的软件测试机构来完成。

(3).设计测试用例时应该考虑到合法的输入和不合法的输入以及各种边界条件,特殊情况下要制造极端状态和意外状态,比如网络异常中断、电源断电等情况。

(4).一定要注意测试中的错误集中发生现象,这和程序员的编程水平和习惯有很大的关系。

(5).对测试错误结果一定要有一个确认的过程,一般有A 测试出来的错误,一定要有一个B 来确认,严重的错误可以召开评审会进行讨论和分析。

(6).制定严格的测试计划,并把测试时间安排的尽量宽松,不要希望在极短的时间内完成一个高水平的测试。

(7).回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多的错误出现的现象并不少见。

(8).妥善保存一切测试过程文档,意义是不言而喻的,测试的重现性往往要靠测试文档。

第二节 测试方法和步骤

一、软件测试方法

第一种方法是黑盒测试,第二种方法是白盒测试 。

软件测试步骤: (1)单元测试(模块测试) (2)子系统测试(3)系统测试(4)验收测试(5)平行运行。

二、界面测试

很多人认为这是测试中最不重要的部分,但是恰恰相反界面测试是相当重要的确。包括页面在窗口中的显示是否正确、美观,表单样式大小,格式,是否对提交数据进行验证等连接的形式,位置,是否易于理解等。

三、. 功能测试

白盒测试技术(White Box Testing) 深入到代码一级的测试,使用这种技术发现问题最早,效果也是最好的。该技术主要的特征是测试对象进入了代码内部, 根据开发人员对代码和对程序的熟悉程度, 对有需要的部分进行在软件编码阶段,开发人员根据自己对代码的理解和接触所进行的软件测试叫做白盒测试。

黑盒测试技术(Black Box Testing)黑盒测试的内容主要有以下几个方面,但是主要还是功能部分。主要是覆盖全部的功能,可以结合兼容,性能测试等方面进行,根据软件需求,设计文档,模拟客户场景随系统进行实际的测试,这种测试技术是使用最多的测试技术涵盖了测试的方方面面,可以考虑以下方面:

正确性 (Correctness)、可用性 (Usability)、边界条件 (Boundary Condition) 、性能 (Performance)

结束语

本软件的开发比预期中延迟了一个星期。原因主要是对编码阶段所需的时间估计不准确。这主要由于在某些技术上的问题在设计过程中没有考虑到,导致在编码过程中需要花一些时间去考虑所遇到技术的问题延迟了完成的时间。

程序运行过程中,一般都只出现因操作错误而引起的错误。例如,对数据表增加有重复主键的记录等等。但这些错误都有进行特殊的处理以确保程序运行正常。另外,数据库的连接限制比较少,用户可以自由的进行连接设置,可以实现远程访问数据库。

在开发过程中比较少使用模板,而较多的使用类。因此,软件的模块划分符合高内聚、低耦合的特点,而且程序的内部有较为详细的注释和统一的编码格式。而且,开发过程中比较多的进行代码重用,大大避免了因为代码输入错误和不必要的重复编写。因此,大大提高了编码工作的进度。

在开发过程中,曾经由于数据字典设计不完善而导致数据表外键关联问题无法解决。结果,需要修改数据字典并重新导入,再通过对系统类库的运用才能比较完善的解决这个问题。

另外,还试过数据表的表结构设计不完善导致数据的关联问题无法解决。结果,修改建立的数据表的脚本语句,然后再重新建立数据表才解决了这个问题。

虽然这软件开发过程算是比较顺利,并没有遇到一些无法解决的问题。这也离不开开发前期的分析和设计,但是,由于设计时的考虑不够周全,也导致了开发的进度延迟。当然,另一方面由于时间紧迫,所以设计所花费的时间也不能太长。总的来说,在设计方面还应该多些思考各种可行的方案,以备遇到问题时可以灵活应对。同时,做好这一方面的工作,也可以避免解决完旧的问题就出了新的问题的这种情况

致谢

在毕业论文结束,毕业设计完成之际,我要特别感谢李德军老师,感谢他对我的支持,不仅是技术上的,还有心理上的鼓励和督促,他的指导和建议使我受益非浅,他时刻的督促使我不敢有丝毫的怠慢,对此我深表感激。还有要感谢在设计中给我帮助的同学们,在我设计过程中遇到问题时,给我伸出了援助之手。特别要感谢的是计算机系为我提供了这么优越的毕业设计环境,使我能和这么多同学一起奋斗在即将分别的日子里。最后,我再次感谢在毕业设计中为我提供帮助的所有朋友,是你们让我顺利完成毕业

参考文献

[1] 蔡淑琴. 管理信息系统. 第1版. 北京:科学出版社,2004

[2] 杨清源等. 对我国社区医疗发展的构想. 中华医院管理杂志. 第3期,2001

[3] 赵池龙、姜义平等. 软件工程实践教程. 北京:电子工业出版社,2007

[4] 刘亚姝,许小荣等.ASP 动态网站开发技术与实践. 北京:电子工业出版社,2007

[5] 萨师煊,王珊. 数据库系统概论. 第3版. 北京:高等教育出版社,2003

[6] 陈玉峰.ACCESS2000数据库开发教程. 北京:科学出版社,2000

[7] 郭瑞军、李杰等.ASP 数据库开发实例精粹. 北京:电子工业出版社,2005

[8] 石志国.ASP 动态网站编程[M].北京:清华大学出版社,2001

[9] 徐谡,徐立.ASP.NET 应用与开发案例教程. 第1版. 北京:清华大学出版社,2005

[10] David Buser, John Kauffman 等著,钟鸣,张文等译。ASP 初级教程. 北京:

机械工业出版社,2001

[11] 赵龙强、张雪风等. 数据库管理与应用. 上海:上海财经大学出版社,2001

[12] 叶俊民等. 软件工程. 北京:清华大学出版社,2006

[13] 徐罕, 吴玉新. 网站 ASP 后台解决方案[M].北京:人民邮电出社,2001

[14] Mickey Williams,Stephen Walther.ASP.NET Unleashed.2nd Edition.

United States:Sams Publishing,2003

[15] 杨志姝、李光海等.SQL 应用与开发标准教程. 北京:清华大学大学出版社,2006

[16] 王庆育等. 软件工程. 第1版. 北京:清华大学大学出版社,2004

[17] 杨志姝,冯小飞等.ASP+ACCESS基础练习+模型案例. 北京:清华大学出版社,2006

[18] 赵龙强、张雪风等. 数据库管理与应用. 上海:上海财经大学出版社,2001


相关文章

  • PPT---------硕士毕业答辩
  • PPT---------硕士毕业答辩 本文由泪的遐思贡献 Sichuan Normal University 硕 士 学 位 论 文 答 辩 基于移动互联网的Web学习资源 基于移动互联网的Web学习资源 Web 转换系统设计 答 辩 人: ...查看


  • 基于Web技术的监控组态软件设计
  • 基于Web技术的监控组态软件设计 摘 要: 介绍了网络控制系统的基本概念,阐述了Web的体系结构并以微软的最新Web开发技术Asp.NetAsp.Net作为系统开发工具,提出一种基于Web的监控组态软件监控组态软件设计方法.用户可通过浏览器 ...查看


  • 本科计算机论文题目
  • 基于asp 语言的测试项目 学生信息管理系统的设计与实现 基于ASP.NET 的社区人口管理系统 基于ASP.NET 的课程教学网站设计 公司会议网站 C#高校工资管理系统 C#在线点歌系统 <数据库原理>精品课程网站设计 教师 ...查看


  • 科技写作科研(论文)选题题目名称参考
  • 科技写作科研(论文)选题题目名称参考 1. 基于Struts 的企业人力资源管理系统的设计与实现 2. 基于云计算的HIS 系统-挂号子系统的设计与开发 云平台下的HIS 系统,使用Java 或C++. 3. 基于云计算的HIS 系统-收费 ...查看


  • Web信息采集技术研究与发展
  • 第27卷第12期2009年12月 情报科学 Vol. 27, No. 12December,2009 ·综述· Web 信息采集技术研究与发展 庞景安 (中国科学技术信息研究所, 北京100038) 摘要:本文对Web 信息采集技术的重要研 ...查看


  • 基于web的项目管理系统:调研报告
  • 研究生课程论文(调研报告) 调研题目: 基于Web 的项目管理系统的分析与研究 调研目的: 分析项目管理系统模块的设计与实现 调研对象: 项目管理系统 调研方法: 通过文献.文档及网络等研究分析 调研时间: 2015.11.15 - 201 ...查看


  • 论文相似性检测报告
  • 论文相似性检测报告 报告编号:301baab5-bd1b-401a-80e4-a3c001726053题 名:301baab5-bd1b-401a-80e4-a3c001726053报告编号: 作 者:46,441原文字数: 论文相似性检测 ...查看


  • 外文翻译-基于Android智能家居系统
  • 通信工程学院 毕业设计外文翻译 毕业设计题目基于ANDRIO的智能家居系统的设计与实现 外文题目UBIQUITOUS SMART HOME SYSTEM USING ANDROID APPLICATION 专业:通信工程 学号: 学生姓名: ...查看


  • 基于Web+Service的工作流补偿机制
  • 第35卷第24期 VoL35 No.24 计算机工程 ComputerEngineering 文章编号:lot加卜-_3428(2(109)24_一0099-04 文献标识码l A 2009年12月 December2009 中图分类号l ...查看


  • 面向服务的战场态势感知与协同技术研究
  • 第2期2012 年4月 Journal of CAEIT Vol.7No.2Apr.2012 檵檵0 共用态势图(COP )简称态势图,是军事指挥部门了解战场态势的主要手段,是广泛的战场态势感知系统.服务和应用的一个关键部分,是服务于决策制 ...查看


热门内容