软件技术设计.docx
《软件技术设计.docx》由会员分享,可在线阅读,更多相关《软件技术设计.docx(42页珍藏版)》请在冰豆网上搜索。
软件技术设计
软件工程课程设计
一.课程设计开题报告…………………………………………3
二.需求分析……………………………………………………9
三.动态图和静态类图…………………………………………16
动态图……………………………………………………………16
用况描述…………………………………………………………20
静态类图…………………………………………………………22
四.概要设计……………………………………………………23
五.详细设计……………………………………………………31
六.测试分析报告………………………………………………40
需求分析说明书
一.网站设计的功能要求
网站设计的总目标是:
在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的网站,目的在于解决当前世界面临的世界饥饿问题呼吁更多的人来关注问题,早日解决全世界人民的温饱问题。
根据可行性研究的结果和客户的要求,分析现有情况及问题,采用Client/Server结构,将网站的设计分为两个方面的内容:
客户端,服务器端。
下面分析各个子系统的功能需求:
客户端流程图:
服务器端流程图
1.客户端子系统:
在客户端的功能实现上,可以分为以下几个部分:
[1]用户访问网站:
用户可以通过网络搜索到网站,进入网站的主页面,在主页面里可以选择接下来的功能,包括浏览网页,注册用户,用户登陆,发表留言
[2]用户浏览网页:
用户可以通过主页面,找到自己感兴趣的新闻,或者查看当前最新消息及浏览次数最多的新闻,进行浏览及找到自己需要的新闻。
[3]用户注册:
用户可以通过进入主页面后选择注册用户,请用户输入自己的邮箱及密码,如果通过系统检查,则系统提示用户注册成功。
注册后用户登陆后可以享受注册用户的功能。
[4]用户登陆:
用户进入主页面后可以选择用户登陆,用户输入自己的邮箱和密码,系统检测无误后会自动提示登陆成功。
登陆后用户可以享受一些注册用户的功能,例如对所看到的新闻发表自己的评论。
[5]用户发表留言:
这一功能要在用户登陆的基础上完成,当用户登陆成功后,用户再浏览网页就会出现用户对新闻发表自己的看法,用户发表留言后,系统会提示留言是否成功。
2.服务器端的功能要求:
通过计算机网络将客户端与服务器的数据库相连,将从客户端得到的信息进行处理,实现对用户账户的管理(新注册的用户添加;保存用户的信息,当用户再次进行登陆时进行比对;长期未登陆用户清除),对用户留言的管理(是否是已注册用户,留言是否包含不健康信息),对信息进行分类管理(并可以根据点击次数对网站新闻进行排序,将过时信息清除)
在客户端系统的功能实现上,可以分为以下几个部分:
[1]用户账户管理:
通过客户端的申请,将用户信息录入到服务器的数据库中。
当此用户超过一定时间没有登陆时,从服务器的数据库中将此用户的信息清除。
[2]用户留言管理:
当登陆用户对所看到的新闻发表自己的看法提交到服务器时,由服务器检测用户是否符合留言的条件,如果符合,则反馈用户留言成功地提示信息;如果不符合,则反馈用户留言不符合条件。
[3]对新闻进行分类管理:
管理员登陆进入后台操作后,对新闻进行更新,并借助数据库对信息按照点击量从高到低进行排序。
[4]网站的定期维护:
管理员登陆进入后台操作后,对网站进行进行定期维护,有效的系统维护对网站的运行及发展有着不可替代的作用,系统维护是一项不可或缺的环节。
二.网站的性能需求
为了保证系统能够长期、安全、稳定、可靠、高效的运行,网站应该满足以下的性能需求:
1.系统处理的准确性和及时性
系统处理的准确性和及时性是系统的必要性能。
在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足客户对信息处理的需求。
由于用户个人账户信息又影响用户对网站的信任程度,这对于整个网站的功能和性能完成举足轻重。
作为系统的很多数据来源,各种新闻的管理和及时更新功能其及时性和准确性很大程度上决定了网站发展的成败。
在系统开发过程中,必须采用一定的方法保证系统的准确性。
2.系统的开放性和系统的可扩充性
网站设计在开发过程中,应该充分考虑以后的可扩充性。
例如新用户的注册,以及新闻的更新操作,用户对于新闻的独到见解。
所有这些,都要求网站提供足够的手段进行功能的调整和扩充。
而要实现这一点,应由网站的的开放性来完成,既网站应是具有开放性的,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。
通过软件的修补、替换完成对于网站管理的升级和更新换代。
3.系统的易用性和易维护性
网站是直接面对用户的,而使用人员往往对计算机都较为熟悉。
但是也需要尽量能够提供良好的用户接口,易用的人机交互界面,使得用户更加方便地使用。
要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对网站的熟悉的过程。
网站客户的账户信息是非常重要的信息,系统要提供方便的手段供系统维护人员进行数据的备份,日常的安全管理,系统意外崩溃时数据的恢复等工作。
4.系统的标准性
系统在设计开发使用过程中都要涉及到很多计算机硬件、软件。
所有这些都要符合主流国际、国家和行业标准。
例如在开发中使用的操作系统、网络系统、开发工具都必须符合通用标准。
如规范的数据库操纵界面、作为业界标准的TCP/IP网络协议及ISO9002标准所要求的质量规范等;同时,在自主开发本系统时,要进行良好的设计工作,制订行之有效的软件工程规范,保证代码的易读性、可操作性和可移植性。
5.系统的先进性
目前计算系统的技术发展相当快,做为机票预定系统工程,应该保证系统在下个世纪仍旧是先进的,在系统的生命周期尽量做到系统的先进,充分完成企业信息处理的要求而不至于落后。
这一方面通过系统的开放性和可扩充性,不断改善系统的功能完成。
另一方面,在系统设计和开发的过程中,应在考虑成本的基础上尽量采用当前主流并先进且有良好发展前途的产品。
6.系统的响应速度
网站在日常处理中的响应速度为秒级,达到实时要求,以及时反馈信息。
在进行统计分析时,根据所需数据量的不同而从秒级到分钟级,原则是保证操作人员不会因为速度问题而影响工作效率。
三.网站设计的数据需求
网站设计的数据需求包括如下几点:
1.数据录入和处理的准确性和实时性
数据的输入是否准确是数据处理的前提,错误的输入会导致系统输出的不正确和不可用,从而使用户及管理员不能正常使用网站。
数据的输入来源是手工输入。
手工输入要通过系统界面上的安排系统具有容错性,并且对后台操作人员要进行系统的培训。
在系统中,数据的输入往往是大量的,因此系统要有一定的处理能力,以保证迅速的处理数据。
2.数据的一致性与完整性
由于系统的数据是共享的,在不同的客户端中,网页是共享数据,所以如何保证这些数据的一致性,是系统必须解决的问题。
要解决这一问题,要有一定的人员维护数据的一致性,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。
对于输入的数据(新用户注册的帐户信息以及登录用户对于新闻的留言),要为其定义完整性规则,如果不能符合完整性约束及系统要求,系统应该拒绝该数据。
3.数据的共享与独立性
整个网站的设计的数据是共享的。
然而,从系统开发的角度上看,共享会给设计和调试带来困难。
因此,应该提供灵活的配置,使各个网页能够独立运行,而通过人工干预的手段进行系统数据的交换。
这样,也能提供系统的强壮性。
四.网站设计的逻辑模型
网站设计的逻辑模型如下图所示:
1
五.网站服务器和客户端的运行要求
网站设计中的各个子系统的硬件和软件的配置如下:
1.服务器端子系统的运行要求:
系统软件:
WindowNTServer
数据库管理系统:
SQLServer
硬件要求:
PentiumIII450以上,258MRAM,14GHD
2.客户端子系统的运行要求:
系统软件:
WindowNTWorkstation
数据库管理系统:
SQLServer
硬件要求:
Pentium133以上,32MRAM,4.3GHD
六.建立网站的约束
1.Client/Server结构总体设计方案对它的约束:
网站设计包括客户端和服务器两方面的设计,不可避免的要受到Client/Server结构的约束。
在其实施的各个阶段都要服从它的一些规划,包括功能设计、系统配置和计划。
同时,由于信息的共享,机票预定系统还受到其它系统的信息约束。
2.人力、资金、时间的约束
网站设计实施的目标就是要通过网站宣传来提高人们对世界饥饿问题的重视,并且让更多的人为解决世界饥饿问题作出自己的贡献,其开发过程中也要考虑到人力、资金和时间的约束。
3.技术发展规律的约束
计算机技术和产品的发展日新月异,将会给信息处理带来更多的手段,同时也会带来更加丰富的信息表达形式。
例如图象和语音技术的进步,多媒体技术的发展,这些都要求系统在设计时考虑技术变化的可能性,为可能的变化预留一定的系统处理能力。
动态图:
浏览:
用户个人信息修改:
用户留言:
用户注册:
用况描述
【1】用户注册用况描述
用况名称:
注册
参与执行者:
浏览用户
前置条件:
网络系统运行正常
事件流:
1.当选择用户界面的注册功能时用况开始
2.输入用户信息(姓名或昵称、地址、邮箱和密码等)
3.用户信息添加到后台数据库中,完成新注册用户的添加操作
4.注册成功后自动跳至站点首页(若无法跳至首页用户手动点击链接至首页)
后置条件:
在网站数据库注册用户区添加新用户的记录资料数据信息
【2】用户登陆用况的描述
用况名称:
用户登陆
参与执行者:
注册用户
前置条件:
该用户此操作前已完成了网站的注册操作,即网站数据库内已经存有用户的登陆信息
事件流:
1.当用户选择用户界面登陆功能时用况开始
2.当输入注册用户信息(注册名、密码)后
(a)如果注册信息与注册用户不一致,显示错误信息,提示可以重新输入或用况结束
(b)如果输入信息与注册用户信息一致,则继续用户相关操作
3.用户进入网站页面进行浏览:
(a)文本信息的浏览
(b)图片信息的浏览
4.用户对网站内的信息发表自己的观点与建设性见解
可选路径:
用户在2步骤成功完成后可跳过步骤3直接进入步骤4的操作
后置条件:
如果用户登陆成功,则用户可以对站点内提供的新闻信息进行留言、探讨(用户发表的信息应不包含不健康信息和有害于构建和谐社会的信息)
【3】管理员登陆用况描述
用况名称:
管理员登陆
参与的执行者:
管理员
前置条件:
网站后台数据库中存储有管理人员的相关信息(姓名、密码、权限、编号等)
事件流:
1.当管理员选择管理员登陆功能时用况开始
2.管理员输入登陆信息后
(a)如果管理员输入的信息与数据库中管理员存储信息区的数据匹配发生错误,则显示“登陆错误”可以重新输入或用况结束
(b)如果管理员输入的信息与数据库中管理员存储信息区的数据匹配成功,则显示“登陆成功”管理员进行自己权限内的职能操作
后置条件:
管理员登陆成功后系统记录管理员登陆期间的操作
【4】用户信息管理用况描述
参与的执行者:
管理员
前置条件:
一个已合法的站点管理员成功登陆该站点
事件流:
1.当管理员选择用户信息管理时用况开始
2.修改用户在数据库中的信息(即注册为网站用户时填写的相关信息)
3.添加用户在数据库中的信息(即注册为网站用户时填写的相关信息)
4.删除用户在数据库中的信息(即注册为网站用户时填写的相关信息)
5.操作SQLSERVER
3.管理员进行页面信息的管理:
(a)对现有页面信息得修改
(b)对现有图片信息进行修改
静态类视图:
概要设计说明书
1.引言
1.1编写目的
本阶段在需求分析的基础上,对网站制作项目做概要设计。
主要解决了实现该项目需求的程序模块设计问题。
包括如何把该项目划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。
在以下的概要设计报告中将对在本阶段中对该项目所做的所有概要设计进行详细的说明。
在下一阶段的详细设计中,程序设计员可参考此概要设计报告,在概要设计对网站设计项目所做的模块结构设计的基础上,对该项目进行详细设计。
在以后的软件测试以及软件维护阶段也可参考此说明书,以便于了解在概要设计过程中所完成的各模块设计结构,或在修改时找出在本阶段设计的不足或错误。
1.2项目背景
该项目是挑战微软创新杯,以“科技可以解决我们当今面临的最棘手的问题”为宗旨。
以“贫困与饥饿”为主题制作一个动态网站。
网站制作项目是将由四部分组成:
用户登陆模块,非正式用户注册模块,用户浏览页面模块,管理员管理模块。
其关系如下:
1.3定义
1.3.1专门术语
SQLSERVER:
系统服务器所使用的数据库管理系统(DBMS)。
SQL:
一种用于访问查询数据库的语言
事务流:
数据进入模块后可能有多种路径进行处理。
主键:
数据库表中的关键域。
值互不相同。
外部主键:
数据库表中与其他表主键关联的域。
ROLLBACK:
数据库的错误恢复机制。
1.3.2缩写
系统:
若未特别指出,指该项目系统。
SQL:
StructuredQueryLanguage(结构化查询语言)。
1.4参考资料
以下列出在概要设计过程中所使用到的有关资料:
(1)网站制作项目需求分析报告
(2)软件工程钱乐秋、赵文耘、牛军钰编著清华大学出版社
(3)《网页编程技术》邵丽萍、张后杨、柯新生清华大学出版社
(4)ASP.NET动态网站开发基础教程(C#篇)周湘贞、曾宪权清华大学出版社
(5)数据库系统概论王珊、萨师煊著高等教育出版社
(6)《ASP.NET动态网站开发基础教程》(C#篇)郭兴峰、陈建伟编著清华大学出版社
(7)《ASP.NET2.0应用开发技术》孟宪会、张慧妍编著人民邮电出版社
(8)《C#编程语言详解》(美)AndersHejlsberg,ScottWiltamuth,PeterGolde著电子工业出版社
2.任务概述
2.1目标
围绕“贫穷与饥饿”这一主题制作一个专题网站,尽可能多的搜集关于该主题的新闻与消息,呼吁世界各国人民关注贫穷与饥饿问题,共同去解决世界上最棘手的问题。
2.2运行环境
运用技术结合c#编程制作该网站,要求在visiostudio2005平台上进行操作,在windowsxp环境下运行
2.3需求概述
围绕宗旨“科技解决世界最棘手的问题”来完成以“贫穷与饥饿”为主题的网站,浏览用户可以很轻松地得到关于该主题的信息。
用户进入网站之后可以随意浏览网页,获取用户想要的信息,在进入网站之后如果用户想在网站上留言可以进行注册,登陆,注册时要输入用户名,密码,邮箱等重要信息,经系统处理后,检验信息的正确性,如无误就返回注册成功提示,更新数据库,否则要求用户重新注册;登陆时要输入用户名和密码,系统验证,无误就登陆成功,在登陆后就可以对网站内的文章、新闻留言,对此系统要对该留言进行过滤,将不健康信息滤除,如果信息留言无误就留言成功。
3.总体设计
3.1处理流程
下面将使用(结构化设计)面向数据流的方法对网站制作项目的处理流程进行分析。
系统可以分为四个模块:
用户登陆模块,非正式用户注册,用户浏览页面和管理员管理模块。
3.1.1用户登陆模块
功能解释
1.键入站点。
进入网站站点界面,准备登陆。
2.SQL身份验证。
输入登陆信息,数据库根据输入的信息核对数据库,查看是否存在该用户。
若存在则登陆成功,否则,显示新用户注册界面。
3.1.2非正式用户注册
功能解释
3.提示注册要求。
注册用户要遵守网站规则,在用户注册之前要提示用户一定的注册要求。
4.用户填写信息。
显示注册页面,列举出用户注册要填写的信息。
5.用户站内昵称。
也称位用户名,用户昵称用于将来登陆时用,同时用户在网站上留言时也显示该用户的用户名。
6.个人学历水平。
7.用户家庭住址。
8.用户个人邮箱。
填写用户邮箱有助于当用户忘记密码时用系统可以将密码发到用户邮箱内。
9.密码申请。
登陆时除了要输入用户名也要输入密码,用于鉴别用户身份。
10.用户年龄。
11.状态(学生或工作)。
12.系统错误检测。
检测输入信息是否正确,比如邮箱或格式,如果输入信息错误,重新注册,否则,注册成功。
13.注册成功。
14.重新输入注册信息。
15.返回浏览页面。
注册成功之后,就成为网站的正式用户了,就可以随意浏览网页,同时也可以为之留言。
3.1.3用户进入页面浏览
功能解释
16.进入主页面。
网站的主页显示一些网站的相关信息以及最新消息。
17.点击相关连接。
浏览网页时用户可以点击感兴趣的相关连接。
18.页面文本浏览。
主要浏览文本。
19.页面图片浏览。
主要浏览图片。
20.信息浏览。
用户浏览网页时可以对浏览的相关信息进行留言。
3.1.4管理员管理模块
21.进入登陆页面。
管理员要登录才能进入,系统要鉴别管理员的身份。
22.键入密码。
输入密码以便登陆。
23.SQL查询验证。
验证一下管理员的身份。
如果管理员输入的信息是错误的,则显示登陆失败,可以重新登陆,否则,登陆成功,进入操作页面。
24.显示登陆失败。
25.显示登陆成功。
26.页面管理信息。
登陆成功之后进入页面管理信息,管理员可以在该页面上针对网站管理进行相应的操作。
27.添加页面信息。
可以添加一些最新的消息,新闻等。
28.删除页面信息。
对于一些过时的信息,管理员可以进行定期的处理。
29.修改页面信息。
管理员可以对页面进行文本信息修改和图片信息修改。
30.文本信息修改。
31.图片信息修改。
3.2总体结构和外部模块设计用户
下面一结构图来描述网站制作项目系统的软件总体结构。
框内注明了模块的名字;方框之间的直线表示模块的调用关系。
四.接口设计
4.1外部接口
4.1.1用户界面
在用户界面部分,根据需求分析的结果,用户需要一个用户友善界面。
在界面设计上,应做到简单明了,易于操作,并且要注意到界面的布局,应突出的显示重要以及出错信息。
外观上也要做到合理化,考虑到用户多对WINDOW风格较熟悉,应尽量向这一方向靠拢。
在设计语言上,已决定使用java进行编程,在界面上可使用html所提供的可视化组件,向WINDOWS风格靠近。
总的来说,系统的用户界面应作到可靠性、简单性、易学习和使用
4.1.2软件接口
连接数据库使用一个DB.java类。
通过类中的函数进行对数据库的访问。
4.1.3硬件接口
在输入方面,对于键盘、鼠标的输入,像一般的网页输入一样即可。
在输出方面,打印机的连接及使用。
4.2内部接口
内部接口方面,各模块之间采用函数调用、参数传递、返回值的方式进行信息传递。
接口传递的信息将是以类结构封装了的数据,以参数传递或返回值的形式在各模块间传输。
五.数据结构设计
物理数据结构设计主要是设计数据在模块中的表示形式。
数据在模块中都是以结构的方式表示。
1.页面信息:
点击次数:
int
更新日期:
object
类别:
object
2.系统用户:
登录名:
string
密码:
string
3.用户信息:
登录名:
string
密码:
string
权限:
string
4.一般用户:
登录名:
string
密码:
string
昵称:
string
性别:
string
5.一般用户注册
用户名:
string
密码:
string
性别:
string
邮箱:
string
六.运行设计
6.1运行控制
运行控制将严格按照各模块间函数调用关系来实现。
在各事务中心模块中,需对运行控制进行正确的判断,选择正确的运行控制路径。
用户和管理员所做的每一项操作都要先根据相应的条件从数据库中找到正确的数据,然后显示到页面上。
6.2运行时间
本系统的运行时间主要用在对数据库的访问方面。
登录时要把用户名和密码与数据库中的相应表对照,当输入有错时,就要遍历数据库中的整张表,时间开销的问题不能忽视。
另外,不论是用户还是管理员,进行的每种操作都要总数据库中提取信息。
根据用户提供的条件从数据库中找到正确的信息也是需要花费时间的,特别是当数据库中内容较多时,要耗费更多的时间。
种种情况都将影响系统的运行速度。
七.出错处理设计
有可能出错的地方就是用户登录的时候和在网页上留言时。
权限,用户名,密码错误时系统本身会在核对完数据库没有发现正确用户时给以提示,然后提示用户重新输入登录信息。
留言时,当留言信息中有不健康信息时,系统本身也会在核对完数据库发现不健康信息是提示用户留言不成功。
八.安全保密设计
由于系统本身的局限性,在保密方面能做的就是尽量不显示出用户的密码。
对于密码的更改,本系统暂未涉及太多,以后会加以完善。
九.维护设计
维护方面主要是对数据库中冗余的数据的处理。
此模块由系统管理员来完成。
由于时间限制,此模块将会在以后加以补充。
详细设计说明书
1.引言
1、1编写目的
在前期阶段(概要设计说明书)中,已解决了建立网站各模块之间的设计问题。
包括浏览用户如何进行注册,登陆,网页浏览(图片浏览与文字浏览)和信息留言。
以及管理员的登陆,用户信息管理(新用户添加,删除和修改),页面信息管理(页面添加,删除和修改),管理员与信息管理系统协调作用完成不良信息的功能。
由整体框架把握各个模块之间的衔接、模块之间传递的信息,以及数据结构、模块结构的设计等。
在以下的详细设计报告中将对在本阶段中对系统所做的所有详细设计进行说明。
在本阶段中,确定应该如何具体地实现所要求的网站信息系统,从而在编码阶段可以把这个描述直接翻译成用具体的程序语言书写的程序。
主要的工作有:
根据在《需求分析说明书》中所描述的数据、功能、运行、性能需求,并依照《概要设计说明书》所确定的处理流程、总体结构和模块外部设计,设计网站系统的结构、逐个模块的程序描述(包括各模块的功能、性能、输入、输出、算法、程序逻辑、接口等等),解决如何
1.接受:
用户注册信息和管理员修改后的信息;
2.输出:
供用户浏览的图片信息与文字信息;
3.信息过滤:
对浏览用户的信息留言与数据库内特定数据块的数据进行字符匹配,滤过匹配的信息。
4.分辨信息的种类并采取相应的处理步骤;
5.判断信息的正误并采取相应的处理步骤;
6.进行数据库的查询、修改工作;
7.接受并判断错误,输出相应的出错消息;
在以下的各个阶段中,《用户操作手册》将与本阶段的工作紧密结合,努力作到让用户易懂易学。
《测试报告》和《维护报告》也将参考本说明书,检验本系统的各项性能指标,及时发现纰漏及时修补,一定要把功能强大、稳定可靠、便于维护的机票预定系统交到用户手中。
1、2项目背景
本项目(网站管理信息系统)时由XXX公司委托,由《》软件开发小组负责开发。
本网站信息管理系统项目主要由两部分形成:
1.浏览用户注册、登陆与网页浏览,信息留言的前台客户页面;
2.网站管理员对网