asp课程设计社区信息管理报告书.docx
《asp课程设计社区信息管理报告书.docx》由会员分享,可在线阅读,更多相关《asp课程设计社区信息管理报告书.docx(24页珍藏版)》请在冰豆网上搜索。
asp课程设计社区信息管理报告书
社区信息管理系统
1.系统概述
小区住户管理系统的目标是保障小区业务管理、基建所需的各类小区物业的供应工作,通过有效的管理、提高小区的工作效率,降低资金占用。
随着市场经济的发展和人们生活水平的提高,人们对生活环境要求日益提高,尤其是对居住环境不断提出新的需求,因此住宅小区已经成为人们安家置业的优选,小区的经营不仅需要坚实的硬件基础,还要有一套高效的管理住处的网络系统,以便在小区内快速地发布和获取住处并以最快地速度响应用户的需求,及时为用户提供服务,为住户提供一个高效、舒适的居住、生活环境。
在这样的市场需求下,通过计算机操作的小区住户管理系统来实现小区物业的管理,以达到小区管理者对物业管理进行宏观的和微观的细致管理,成为了当今管理的最佳方案。
随着科学技术的不断提高,计算机科学技术日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着举足轻重的作用。
作为计算机应用的一部分,使用计算机对企业单位的各项信息进行管理,具有着手工具所无法比拟的优点。
例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高工作的效率,也是企业的科学化、正规管理与世界接轨的重要条件。
2.可行性分析
2.1经济可行性
随着我国国民经济的飞速发展,社区信息管理已经作为一个新兴的服务行业,经过几十年的发展,已经逐步形成企业化经营,专业化管理和社会化服务的运行机制。
社区管理也是伴随着改革开放和房地产业的发展而涌现的新生事物,也是城市管理体制改革的重要内容。
使用计算机对企业单位的各项信息进行管理,具有着手工管理所无法比拟的优点。
例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
目前,几乎所有的社区物业都建立了针对部门职能工作的管理信息系统,如物业管理系统,售楼管理系统等等。
这些系统在很大程度上提高了部门的工作效率和管理水平。
社区居民信息管理系统的开发,是为了规范社区的管理工作,为社区管理提供一套高效、快捷的应用软件,社区管理质量的好坏不仅关系到工作和居民生活的质量,也关系到社区管理行业的发展。
所以社区居民信息管理系统的开发一定会得到社区物业的支持。
开发所需要的硬件设备和软件能够很快地得到配置,从而保证了开发和设计工作的顺利开展。
2.2技术可行性
(1)完善的社区网络
随着我国经济的迅速发展,网络已经走进了每个人的生活。
电脑的普及已经使电脑融入了每个居民家里,为用户上网提供了良好的硬件支持。
(2)功能强大的信息平台
目前的管理信息系统开发平台的功能已十分强大。
MicrosoftSQL2000企业版是性能稳定的服务器平台[6];而MicrosoftVisualStudio2005更是具有Web开发的强大优势。
SQLServer+ASP.NET正是开发信息系统的黄金组合[7]。
3.系统设计
社区信息管理系统的开发目标必须以满足用户需求为前提,而在系统开发的第一阶段中,用户需求往往是不完善的、不明确的,需要开发者协助用户对需求做进一步的理解乃至创造并归纳出较为详细的需求说明。
面向对象开发的特点是可以在整个开发过程中回头补充调整阶段的工作,因此用户需求分析在最初并不显得像结构化方法那么重要。
但是,一个相对完整、准确的用户信息系统开发带来良好的开端,也会使开发过程少走好多弯路。
3.1系统需求角色分析
社区信息管理系统设计的目标是:
管理功能完整、数据共享和信息传递方便快捷。
结合社区管理的工作特点,实现社区管理员对社区信息的网上管理,并实现业主能够及时获取社区的各方面信息。
在设计过程中,为了确保决策的最优化,进行一些先期规划是必要的。
首先要对系统进行分析,确定系统角色,即各类用户在系统中所承担的职责。
本系统的角色包括了以下两个角色:
社区管理员:
社区管理、房屋管理、居民信息管理、候选人信息管理、系统管理、日常工作管理、查询管理和日志管理等,还有社区通知发布、新闻更新等等,以及对相关数据进行增、删、改、查和导出等操作。
3.2系统功能模块设计及分析
图1功能模块图
从功能模块图中可以看出系统的中的各部分功能都是在管理员和普通用户权限下完成操作管理员和普通用户的具体操作权限如下两点:
普通用户:
1、注册和管理帐号:
可以注册帐号,并且在帐号管理里可以查看和更改自己的信息。
2、居民和外来人员:
可以查看人员的相关信息。
3、公告栏:
可以查看管理员所发布的信息。
4、意见反馈:
可以发表意见,并且可以查看自己所有发表的意见和管理员对他的回复。
5、交流论坛:
可以发表帖子,查看和回复别人的帖子。
管理员:
1、注册和管理帐号:
可以查看和删除普通用户的帐号,管理员自己的帐号则是在后台数据库里写的,不可以在网页里随意注册和更新。
2、居民和外来人员:
可以对居民和外来人员信息进行操作,包括:
注册,插入,更新和删除。
3、公告栏:
可以查看和发布信息。
4、意见反馈:
可以查看所有用户发表的意见并对其回复。
(1)小区管理
主要功能是管理小区的基本信息。
管理员可以完成对小区的基本信息进行添加、修改、删除、查询的操作。
权限仅限于管理员,普通用户不能对其进行添加、修改和删除,只能进行查询。
小区管理模块如图2所示:
图2小区管理功能模块
(2)楼房管理
主要功能是管理小区楼房的基本信息。
管理员可以完成对楼房的基本信息进行添加、修改、删除、查询的操作。
权限仅限于管理员,普通用户不能对其进行添加、修改和删除,只能进行查询。
楼房管理模块如图3所示:
图3楼房管理功能模块
(3)居民管理
主要功能是管理小区住宅居民的基本信息。
管理员可以完成对居民的基本信息进行添加、修改、删除、查询的操作。
权限仅限于管理员,普通用户不能对其进行添加、修改和删除,只能进行查询。
居民管理模块如图4所示:
图4居民管理功能模块
(4)基础设施管理管理
主要功能是管理小区周边基础设施的基本信息。
管理员可以完成对基础设施的基本信息进行添加、修改、删除、查询的操作。
权限仅限于管理员,普通用户不能对其进行添加、修改和删除,只能进行查询。
基础设施管理模块如图5所示:
图5基础设施管理功能模块
(5)系统管理
根据需求分析的要求,本系统应完成系统自身的管理。
本次设计的主要界面包括管理员登录界面、普通用户登录界面。
管理员和普通用户分别在各自的主页面就可以完成系统设定的功能,操作方便。
系统设计为两个子系统,即管理员子系统和普通用户子系统。
系统功能结构,如图所示。
管理员子系统实现了管理员对各个信息进行添加、修改、删除、查询等操作。
普通用户子系统实现了普通用户的注册、修改个人信息,以及查询信息的功能。
图6系统功能模块图
(6)流动人口管理
主要功能是管理小区流动人口基本信息。
管理员可以完成对流动人口的基本信息进行添加、修改、删除、查询的操作。
权限仅限于管理员,普通用户不能对其进行添加、修改和删除,只能进行查询。
流动人口管理模块如图7所示:
图7流动人口理功能模块
(7)查询管理
查询管理是一个系统的核心,一个良好的查询系统可以方便用户的使用,在本系统的查询中,管理员和普通用户可以查询到小区、楼房、居民、用户、基础设施、流动人口的详细信息,其功能模块如图8所示:
图8查询管理功能模块图
4.详细设计
4.1管理员登录界面
图9管理员登录界面图
部分代码如下:
publicpartialclass_Default:
System.Web.UI.Page
{
#regionWeb
overrideprotectedvoidOnInit(EventArgse)
{
//
//
InitializeComponent();
base.OnInit(e);
}
///
///
privatevoidInitializeComponent()
{
}
#endregion
protectedvoidPage_Load(objectsender,EventArgse)
{
}
protectedvoidBtn_Login_Click(objectsender,EventArgse)
{
if(TxtUser.Text.Trim()=="")
{
Response.Write("");
return;
}
useruserLogin=newuser();
boolisok=false;
if(rb_admin.Checked)
{
stringsql="select*fromTb_User_Loginwhereisnull(userName,'')='"+TxtUser.Text.Trim()+"'andisnull(userPass,'')='"+TxtPwd.Text.Trim()+"'andisnull(userRole,'')='"+rb_admin.Text+"'";
SqlDataReadermyReader=userLogin.Login(sql);
if(myReader.Read())
{
Session["Name"]=myReader["userName"].ToString().Trim();//Session["Pass"]=myReader["userPass"].ToString().Trim();Session["Role"]=myReader["userRole"].ToString().Trim();
isok=true;
}
myReader.Close();
}
else
{
stringsql="select*fromTb_User_Loginwhereisnull(userName,'')='"+TxtUser.Text.Trim()+"'andisnull(userPass,'')='"+TxtPwd.Text.Trim()+"'andisnull(userRole,'')='"+rb_user.Text+"'";
SqlDataReadermyReader=userLogin.Login(sql);
if(myReader.Read())
{
Session["Name"]=myReader["userName"].ToString().Trim();Session["Pass"]=myReader["userPass"].ToString().Trim();//
Session["Role"]=myReader["userRole"].ToString().Trim();isok=true;
}
myReader.Close();
}
if(!
isok)
{
lbMessage.Text="用户名称密码错误,登陆失败!
";
return;
}
else
{
Response.Redirect("Index.aspx");
}
}
protectedvoidBtn_Cancel_Click(objectsender,EventArgse)
{
TxtUser.Text="";
TxtPwd.Text="";
lbMessage.Text="";
}
}
4.2用户登陆界面
图10用户登陆界面
4.3发布新闻动态页面
图11发布新闻动态页面
4.4荣誉榜页面
主要发布社区所获得的荣誉,如图12所示:
图12发布荣誉榜页面
4.5社区党务界面
图13社区党务界面
4.6社区服务界面
图14社区服务界面
5.课程设计体会
经过几天的课程设计,在老师们的指导帮助下,我完成了人事管理系统的程序设计,在这次课程设计中,我收获良多。
课程设计不同于平时的编程实验,它的要求更多更全面,需要程序编写者在前期做出准确的需求分析,还有后期全面的程序测试,这些都是在过去的学习中很少接触到的。
通过老师的讲解和自身在编程中的实践,我深刻体会到需求分析可以使得程序更贴近生活,更具实用性,而全面到位的程序设计则可以保证程序的实用性和健壮性。
这次课程设计使我加强了自身的编程能力的同时,也让我认识到要将所学灵活的应用到实际生活中去,不可以凭空想象,要着眼实际,找到生活所需,理论里联系实际,才可以编写出真正有价值的程序。
感谢老师在这些天来对我的指导和帮助,让我及时看到错误并得以改正。
在今后的学习中我会更加仔细认真,真正做到学以致用。
6.参考文献
[1]《软件工程导论(第5版)》,张海藩编,清华大学出版社,2008.256-78
[2]《软件工程面向对象和传统的方法(第7版)》,stephenR.Schach编,邓迎春译,机械工业出版社,2007.850-74
[3]《ASP.NET(c#)程序设计》,李华编,清华大学出版社,2014.923-45
[4]《软件工程实验教程》,窦万峰编,机械工业出版社,2009.555-89
[5]《ASP.NETWeb程序设计蒋培》王笑梅编,清华大学出版社.2007.6.32-45
[6]《Dreamweaver8完美网页设计》——ASP动态网页设计篇朱印宏,熊利荣编,中国电力出版社.2006.1065-77
[7]《ASP.NET2.0经典教程》——C#篇.孟宪瑞,易磊编北京:
人民邮电出版社.2007.288-101
[8]《软件工程》张海藩,人民邮电出版社,2002.1114-121
附录:
部分源代码
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Data.SqlClient;
publicpartialclassDefault:
System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,System.EventArgse)
{//在此处放置用户代码以初始化页面
}
#regionWeb窗体设计器生成的代码
overrideprotectedvoidOnInit(EventArgse)
{//CODEGEN:
该调用是ASP.NETWeb窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}///
///设计器支持所需的方法-不要使用代码编辑器修改
///此方法的内容。
///
privatevoidInitializeComponent()
{
}#endregion
protectedvoidLoginBtn_Click(objectsender,System.EventArgse)
{PMS.Components.UserUser=newPMS.Components.User();
///如果页面输入合法
if(Page.IsValid==true)
{stringName=UserName.Text.Trim();
stringPwd=Password.Text.Trim();
if(User.Login(Name,Pwd))
{Session["UserID"]=Name;
Response.Redirect("~/DesktopModules/Main.aspx");
}else
{///显示错误信息
Message.Text="你输入的用户名称或者密码有误,请重新输入!
";
}
}
}
protectedvoidCancelBtn_Click(objectsender,System.EventArgse)
{///清空用户名称和密码输入框
UserName.Text=Password.Text="";
}
}
}
publicpartialclassNews:
System.Web.UI.Page
{
protectedCuteEditor.EditorEditor1;
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
IsPostBack)
{
btn_value.Text="添加";
if(Session["AdminLevel"]==null||Session["AdminLevel"].ToString()!
="1")
{
Response.Redirect("logon.aspx");
}
else
{
stringaction=Request.QueryString["Action"];
if(action=="Add")
{
btn_value.Text="添加";
}
elseif(action=="Edit")
{
btn_value.Text="编辑";
GetNews();
}
elseif(action=="LogOut")
{
Session.Abandon();
Response.Redirect("Default.aspx");
}
classlist();
newslist();
//绑定类别下拉列表
if(Request.QueryString["ClassID"]!
=null)
{
Bind_ddl(Request.QueryString["ClassID"].ToString());
}
else
{
Bind_ddl("4");
}
}
}
}
//为下拉列表添加数据
publicvoidBind_ddl(stringBigClassID)
{
stringstrConnection=@"Provider=Microsoft.Jet.OleDb.4.0;DataSource="+Server.MapPath("DB_51aspx\\Data.mdb");
//创建数据库连接对象
OleDbConnectionmyconn=newOleDbConnection(strConnection);
myconn.Open();
//创建查询语句
stringsql="select*fromBigClass";
OleDbDataAdapterda=newOleDbDataAdapter(sql,myconn);
DataSetds=newDataSet();
da.Fill(ds,"BigClass");
ddl_class.DataSource=ds.Tables["BigClass"].DefaultView;
ddl_class.DataValueField="BigClassID";
ddl_class.DataTextField="BigClassName";
ddl_class.SelectedValue=BigClassID;
ddl_class.DataBind();
myconn.Close();
}
publicvoidGetNews()
{
intid=Convert.ToInt32(Request.QueryString["id"]);
stringstrConnection=@"Provider=Microsoft.Jet.OleDb.4.0;DataSource="+Server.MapPath("DB_51aspx\\Data.mdb");
//创建数据库连接对象
OleDbConnectionmyconn=newOleDbConnection(strConnection);
myconn.Open();
//创建查询语句
stringsql="select*fromNewsWhereID="+id;
//创建数据库命令
OleDbCommandmycmd=newOleDbCommand(sql,myconn);
OleDbDataReaderresult=mycmd.ExecuteReader();
if(result.Read())
{
tbx_title.Text=result["Title"].ToString();
Editor1.Text=result["Content"].ToString();
tbx_author.Text=result["Author"].ToString();
lbl_addtime.Visible=true;
lbl_addtime.Text=result["AddTime"].ToString();
Bind_ddl(result["BigClassID"].ToString());
}
myconn.Close();
}
publicvoidclasslist()
{
stringstrConnection=@"Provider=Microsoft.Jet.OleDb.4.0;DataSource="+Server.MapPath("DB_51aspx\\Data.mdb");
//创建数据库连接对象
OleDbConnectionmyconn=newOleDbConnection(strConnection);
myconn.Open();
//创建查询语句
stringsql="select*fromBigClass";
//创建数据库命令
OleDbCommandmycmd=newOleDbCommand(sql,myconn);
OleDbDataReaderresult=mycmd.ExecuteReader();
rpCalss.Dat