已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MyQQ 聊天工具的设计与实现 软件开发流程回顾项目简介任务:MyQQ 聊天工具系统结构:C/S,通过数据库交换聊天消息 ,项目需求描述及效果展示用户注册 用户登录 个人信息编辑 查找/添加好友 查找 添加好友 好友列表 聊天技术实现: 技术实现:WinForms+ADO.NET需求分析功能分析 需求分析功能分析 主要功能:注册与登录 好友管理 消息管理 个人设置需求分析界面分析 需求分析界面分析 需要的界面:注册界面 登录界面 登录后的主界面 查找/添加好友界面 查找 添加好友界面 聊天界面 系统消息界面 个人设置界面 头像列表界面需求分析数据库分析 需求分析数据库分析 需要的数据表:Users:用户表 : Friends:好友表 : Star:星座表 : BloodType:血型表 : FriendshipPolicy:好友策略表 : Messages:消息表 : MessageType:消息类型表 :需求分析辅助类分析 需求分析辅助类分析 需要添加的辅助类:DBHelper类 类 UserHelper 类小组分工MyQQ 聊天工具组员 B协助组长 A协助组员 C登 录 后 主 窗 体查 找 / 添 加 好 友注 册 窗 体查 找 / 添 加 好 友个 人 信 息 窗 体辅 助 类登 录 窗 体聊 天 窗 体头 像 列 表 窗 体系 统 消 息 窗 体查找/添加功能编码 查找 添加功能编码界面设计、 界面设计、辅助功能项目计划项目准备项目框架、建库、建表、 项目框架、建库、建表、提交计划第一次集中编码注册、 注册、登录功能第二次集中编码查找/添加好友、 查找/添加好友、部分聊天功能 添加好友第三次集中编码个人信息显示、 个人信息显示、完整聊天功能第四次集中编码个人信息修改、 个人信息修改、完善整个功能项目总结项目准备: 项目准备:A任务搭建项目框架 提交小组计划项目准备: 项目准备:B任务建库 建表Users Friends FriendShipPolicy Star BloodType Messages MessageType建关系第一次集中编码: 第一次集中编码:A任务设计注册窗体界面 实现用户注册功能第一次集中编码: 第一次集中编码:B任务设计登录后主窗体 显示好友列表第一次集中编码: 第一次集中编码:C任务设计登录窗体 实现登录功能第一次集中编码: 第一次集中编码:难点分析注册功能难点/ 获取自动生成的Id值 获取自动生成的Id Id值 / 查询新增加的记录的标识号的 SQL 语句 sql = SELECT Identity FROM Users; / / 执行查询语句 myQQNum = Convert.ToInt32(command.ExecuteScalar();第一次集中编码: 第一次集中编码:难点分析好友列表第三方控件 SideBar 第三方控件 好友列表SbGroup 类型 Items 属性 Groups 属性 SbItem 类型第一次集中编码: 第一次集中编码:难点分析SideBar/ 命名空间 using Aptech.UI; / 添加组 sbFriends.AddGroup(我的好友 我的好友); 我的好友 sbFriends.AddGroup(陌生人 陌生人); 陌生人 显示的文字 / 添加项 SbItem item = new SbItem(string)dataReaderNickName, (int)dataReaderFaceId); sbFriends.Groups0.Items.Add(item); 显示的图像索引第二次集中编码: 第二次集中编码:A任务查找/添加好友窗体设计 查找 添加好友窗体设计第二次集中编码: 第二次集中编码:B任务查找/添加好友功能实现 查找 添加好友功能实现第二次集中编码: 第二次集中编码:C任务聊天窗体设计及功能实现第二次集中编码: 第二次集中编码:难点分析添加好友判断流程第二次集中编码: 第二次集中编码:难点分析操作显示查询好友结果的 DataGridView/ 判断是否有单元格选中 if (dgvBasicResult.SelectedRows.Count = 0) / / 判断选中行的第一个单元格是否有值 if (dgvBasicResult.SelectedRows0.Cells0 != null) / 表示空 / 获得选中行的第一个单元格的值 dgvBasicResult.SelectedRows0.Cells0.Value第三次集中编码: 第三次集中编码:A任务设计个人信息窗体 显示个人信息第三次集中编码: 第三次集中编码:B任务完善登录后主窗体, 完善登录后主窗体,扫描未读聊天消息利用 Timer 实现控制好友头像闪烁来消息, 来消息,头像闪烁第三次集中编码: 第三次集中编码:C任务头像列表窗体设计及功能实现第三次集中编码: 第三次集中编码:难点分析头像闪烁效果: 头像闪烁效果:改变头像显示的图片, 改变头像显示的图片,用Timer控制切换 控制切换头像列表: 头像列表:ListView 控件 View 属性:LargeIcon 属性: LargeImageList 属性:指定存放大头像图片的图像列表控件 属性:/ 判断 ListView 中是否有选中的项 中是否有选中的项 if (lvFaces.SelectedItems.Count = 0) / / 获得选中的头像的索引 int faceId = lvFaces.SelectedItems0.ImageIndex;第四次集中编码: 第四次集中编码:A任务个人信息修改功能第四次集中编码: 第四次集中编码:B任务完善登录后主窗体: 完善登录后主窗体:扫描未读系统消息 右键菜单 工具条按钮功能第四次集中编码: 第四次集中编码:C任务添加好友请求窗体设计及功能实现第四次集中编码: 第四次集中编码:难点分析登录主窗体的右键菜单中删除好友功能从 SideBar 中移除一项 从 删除好友功能/ 从SideBar中将选中的项移除 中将选中的项移除 sbFriends.SeletedItem.Parent.Items.Remove( sbFriends.SeletedItem);大小头像切换 SideBar 的 View 属性 大小头像切换/ 小头像 sbFriends.View = SbView.SmallIcon;本讲内容MyQQ 聊天工具的设计与实现 软件开发流程回顾软件开发流程比尔盖子是一名建筑工人 起初只干一些比较简单的 建筑工作 凭个人技术和经验, 凭个人技术和经验,不需要特 别设计,可以顺利完成 别设计,如同编写早期比较小的程序软件开发流程新任务: 新任务:建造一间非常美 丽而完整的房间 工作变得复杂许多像不断发展的软件,功能 像不断发展的软件, 越来越多, 越来越多,越来越复杂软件开发流程软件复杂性图形用户界面 客户/服务器结构 客户 服务器结构 分布式应用 数据通信 超大型关系型数据库项目团队中的角色比尔想到需要更多的人手帮他 终于组成了自己工作团队 就像软件中的项目团队软件项目团队中的角色项目团队项目经理 技术负责人 软件架构师 分析师 设计人员 开发人员 测试人员项目人员构成比例例子: 例子: 的开发: 微软 EXCHANGE 2000 SERVER 的开发:项目经理: 人 项目经理:25人 开发人员: 开发人员:140人 人 测试人员: 测试人员:350人 人WINDOWS 2000: :项目经理: 项目经理:250人 人 开发人员: 开发人员:1700人 人 测试人员: 测试人员:3200人 人软件工程师的工作项目设计与分析 编码 编写文档 测试 团队管理软件工程师的素质团队组织和管理能力良好的编码能力 规范化编码习惯 具有软件工程的概念规范意识 团队精神求知欲、 求知欲、进取心 和学习总结的能力软件开发过程“这次不能盲目开工, 这次不能盲目开工, 这次不能盲目开工 我们需要首先好好设 计一下! 计一下!” 构想 分析 设计 构造 评估软件的制作过程也非常相似软件开发过程建造房屋 构想 分析 设计 构造 评估 维护软件开发 可行性研究与计划 需求分析 设计 开发 评估/测试 评估 测试 维护软件开发过程模型软件开发需要经历几个步骤 具体如何实施,具体项目不同, 具体如何实施,具体项目不同,有所区别 软件开发过程模型:制作具体软件时, 软件开发过程模型:制作具体软件时,开发步骤的具体实 施方法瀑布模型瀑布模型瀑布模型 “线性顺序模型” 线性顺序模型” 瀑布模型 线性顺序模型 可行性研究报告 可行性研究与计划 将每个都清楚定义了起止点 产生明确的交付成果 需求分析 之间通过文档进行沟通 需求说明书 每个都必需完成全部规定的任务(文档) 每个都必需完成全部规定的任务(文档)后才能够进入下 设计文档 设计 一个开发 程序测试测试报告 维护可行性研究与计划确定项目目的 了解系统中客户的期望 确定系统的规模 论证项目可行性技术可行性 经济可行性 操作可行性 社会可行性需求分析需求是产品的根源 需求工作的优劣对产品影响最大获取需求 客户 同行、 同行、专家 已经存在的同类软件产品 行业标准、 行业标准、规则 Internet相关资料 相关资料 可能遇到的问题 用户说不清楚需求 误解需求分析需求功能需求记录在客户需求说明书中 功能需求记录在客户需求说明书中需求分析文档介绍 产品功能性需求需求说明书产品介绍产品非功能性需求产品应当遵循的标准和规范其他需求设计目的:根据用户的需要制定标准, 目的:根据用户的需要制定标准,划分并分配任务构建原型 设计GUI标准
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农业经理人经营策略分析试题及答案
- 道路安全教育课件
- 小班家长会安全课件模板
- 五年级数学(小数乘除法)计算题专项练习及答案汇编
- 合浦中考科目试卷及答案
- 2025时事政治热点必考题库和答案
- 保育专业理论测试题及答案
- 现代农业农村产业融合发展示范项目施工方案
- 2025年激光精密加工和蚀刻成套设备项目发展计划
- 城市雨水收集与再利用系统设计
- 2015海湾消防JB-QB-GST200 火灾报警控制器(联动型)安装使用说明书
- GB/T 36709-2018减振复合钢板
- GB/T 21650.1-2008压汞法和气体吸附法测定固体材料孔径分布和孔隙度第1部分:压汞法
- GA/T 416-2003道路交通防撞墩
- 木制品招标文件
- 小学心理健康《不做小拖拉》
- 工艺管道3PE技术交底
- 国际贸易第七版ppt课件(完整版)
- 《施工现场建筑垃圾减量分类全过程管理标准》
- CEMS比对监测和质量控制
- 软件模块化设计ppt课件
评论
0/150
提交评论