资源预览内容
第1页 / 共40页
第2页 / 共40页
第3页 / 共40页
第4页 / 共40页
第5页 / 共40页
第6页 / 共40页
第7页 / 共40页
第8页 / 共40页
第9页 / 共40页
第10页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
2019年6月13日,第1页,第12章 简易微博系统,教学目标 本章内容,2019年6月13日,第2页,教学目标,进一步熟悉ASP.NET编程技术 掌握网站设计与实现的基本流程 通用类的创建 业务逻辑与界面展示的分离 使用母版页 综合运用本书所学知识,2019年6月13日,第3页,本章内容,12.1 系统设计 12.2 系统实现 12.3 系统运行效果,2019年6月13日,第4页,本章内容,12.1 系统设计 12.2 系统实现 12.3 系统运行效果,2019年6月13日,第5页,12.1 系统设计,一个完整的软件系统开发过程分为软件定义阶段、软件开发阶段和软件运行维护阶段。 软件定义阶段主要决定将要开发软件的功能和特性。它又可以细分为问题的定义、可行性研究、需求分析3个阶段。 软件开发阶段又可细分为总体设计、详细设计、程序编制和软件测试4个阶段。 软件运行维护阶段的主要任务是通过各种必要的维护活动使系统持久地满足用户的需求。 我们要开发的是一个简易的微博系统,将重点介绍需求分析和总体设计以及编码实现。,2019年6月13日,第6页,需求分析,微博是一个基于用户关系的信息分享、传播以及获取平台。它十分简单,也十分便捷,即时通讯功能非常强大,一般发布的消息只是由简单的只言片语组成,对用户的技术要求门槛很低,而且在语言的编排组织上不需要长篇大论,只需要反映自己的心情即可。 在本微博系统中,用户可以发表、转发或评论消息(由于篇幅所限,本系统只支持文本消息),随时看到被关注者的最新动态,还可以浏览非关注者发表的最新消息。用户之间可以收听或者取消收听。用户对自己发表的消息可以进行删除操作。,2019年6月13日,第7页,系统用例图,2019年6月13日,第8页,数据库设计,本系统涉及的数据实体有用户、消息、评论。另外还有一个用户与用户之间的关系。,2019年6月13日,第9页,用户表,2019年6月13日,第10页,评论表,2019年6月13日,第11页,用户关注表,2019年6月13日,第12页,本章内容,12.1 系统设计 12.2 系统实现 12.3 系统运行效果,2019年6月13日,第13页,12.2 系统实现,数据访问类 数据实体类 设计母版页 首页 注册页面 查找用户页面 个人资料页面 个人信息维护页面 转播和评论消息页面,2019年6月13日,第14页,数据访问类,因为几乎所有页面都涉及数据库的访问,所有我们把访问数据库的操作抽象为一个独立的公共类文件DB.cs。并把数据库连接字符串存放到web.config配置文件中。 在“解决方案资源管理器”窗口中,为项目添加ASP.NET文件夹App_Code,在App_Code目录中,添加一个C#类文件DB.cs。 该类中包括一个构造函数DB(),打开数据库连接方法open(),关闭连接方法close(),执行非查询SQL语句方法ExecuteSQLNonQuery(string sqlStr),执行带有参数的SQL语句方法ExecuteSQLNonQueryWithParam,获取DataTable对象的查询方法 GetDataTable(string sqlStr)以及获取DataRow的查询方法GetDataRow(string sqlStr)以及事务处理相关的几个方法。,2019年6月13日,第15页,数据实体类,在微博系统中的操作可分为两类:一类是针对用户的,一类是针对消息的。所以我们把用户和消息分别封装为不同的实体类,然后在类中实现相应的操作。,2019年6月13日,第16页,用户实体类,在App_Code目录中添加新的类文件Zuser.cs。在该类中添加操作Z_USER表所需的成员变量。通常类成员变量定义为私有的,然后定义相应的属性来访问这些私有变量,本书为了使程序简化,直接将成员定义为自动属性。 除了对于Z_USER表字段的自动属性之外,上述代码还定义了一个errorMsg属性,该属性的作用是,当对用户的操作失败或出现异常时,反馈错误信息给调用者。,2019年6月13日,第17页,用户相关的操作,注册新用户,包括注册前的检查用户名和个人微博地址是否可用; 用户登录系统,登录成功后获取用户收听的用户数、用户的听众数、用户发表的消息数等信息; 个人信息维护; 发表新消息; 收听和取消收听其他用户,包括检查是否已经收听某用户; 查找用户。,2019年6月13日,第18页,消息实体类,与消息相关的操作主要有如下几个: 获取消息,包括获取所有用户的消息、获取指定用户的消息和获取登录用户及其收听用户的消息; 删除自己的消息; 转播或评论消息; 获取某消息的所有转播或评论记录。,2019年6月13日,第19页,设计母版页,为了使网站的所有页面都具有相同的布局风格和外观,所以添加母版页,然后基于该母版页创建其他页面。 新建母版页,名称为MasterPage.master。在母版页中有两个ContentPlaceHolder控件,一个位于标记中,一个位于中。删除标记中的标记,这样,在内容页中可以设置每个内容页的标题信息。,2019年6月13日,第20页,设计母版页,在母版页的后台代码中需要实现如下功能:加载页面时,根据用户当前是否登录显示或隐藏相应的Panel控件,实现用户的快速登录功能,登录成功后,将用户信息保存至Session变量中。,2019年6月13日,第21页,首页,由于该页需要多次后台交互,所以设计为异步刷新,在内容区域中首先添加ScriptManager和UpdatePanel控件。后面添加的控件都放置在UpdatePanel控件内。 该页面通过两个来进行布局,一个id为left,一个id为right,左边的包含一个Panel控件,用于显示登录用户的相关信息;右边的包含一个MultiView控件,该MultiView控件中包含2个View控件,其中View1包含2个Panel控件,一个用于发表新消息,一个用于显示已发表的消息,View2用于显示用户的听众或用户收听的用户列表。在“源”视图中,可以看到页面的代码层次结构如图12-2所示。,2019年6月13日,第22页,2019年6月13日,第23页,注册页面,注册页面Register.aspx比较简单,只需提供用户注册所需的表单即可。,2019年6月13日,第24页,查找用户页面,查找用户页面Search.aspx用于根据姓名和所在地进行模糊查询,查找自己感兴趣的用户,进而进行收听。,2019年6月13日,第25页,个人资料页面,个人资料页面UserInfo.aspx与Index.aspx页面非常相似,只是该页显示的不是当前登录用户的信息,而是查询出来的某个普通用户的基本信息以及他所发表的消息。,2019年6月13日,第26页,个人资料页面,2019年6月13日,第27页,个人信息维护页面,个人信息维护页面Modify.aspx与第5章的例5-8类似,所不同的是这里设置为异步刷新,后台的数据库操作封装到实体类中实现。,2019年6月13日,第28页,转播和评论消息页面,转播和评论消息页面Reply.aspx将根据请求参数显示指定消息和对该消息的所有评论,同时,上方提供文本框,用户可以输入转播评论进行再次转播。,2019年6月13日,第29页,本章内容,12.1 系统设计 12.2 系统实现 12.3 系统运行效果,2019年6月13日,第30页,12.3 系统运行效果,设置启动选项 测试微博系统的功能,2019年6月13日,第31页,设置启动选项,选择“网站”|“启动选项”命令,打开站点的属性页,在左侧列表中选择“启动选项”,然后从右侧区域,选择“特定页”单选按钮,单击右侧的浏览按钮,打开“选择页码以开始”对话框,这里选择Index.aspx页面作为起始页。,2019年6月13日,第32页,首页效果图,2019年6月13日,第33页,注册页效果图,2019年6月13日,第34页,登录后个人首页效果图,2019年6月13日,第35页,找人页效果图,2019年6月13日,第36页,个人资料页效果图,2019年6月13日,第37页,收听新用户后首页效果图,2019年6月13日,第38页,转播消息页效果图,2019年6月13日,第39页,个人信息维护页效果图,2019年6月13日,第40页,本章内容,12.1 系统设计 12.2 系统实现 12.3 系统运行效果,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号