1、1阶段项目阶段项目 MyQQ 阶段项目简介阶段项目简介任务:任务:MyQQ 聊天工具聊天工具系统结构:系统结构:C/S,通过数据库交换聊天消息,通过数据库交换聊天消息小组形式完成小组形式完成学时:学时:24学时学时项目实施和课程安排项目实施和课程安排课程进度课程进度描述描述课时课时第一次课第一次课项目讲解项目讲解2 2项目准备阶段项目准备阶段2 2第二次课第二次课任务讲解任务讲解4 4第一次集中编码第一次集中编码第三次课第三次课任务讲解任务讲解4 4第二次集中编码第二次集中编码第四次课第四次课任务讲解任务讲解4 4第三次集中编码第三次集中编码第五次课第五次课任务讲解任务讲解4 4第四次集中编码
2、第四次集中编码第六次课第六次课总结和答辩总结和答辩4 4软件开发流程软件开发流程比尔盖子是一名建筑工人比尔盖子是一名建筑工人起初只干一些比较简单的起初只干一些比较简单的建筑工作建筑工作凭个人技术和经验,不需要特凭个人技术和经验,不需要特别设计,可以顺利完成别设计,可以顺利完成如同编写早期比较小的程序如同编写早期比较小的程序软件开发流程软件开发流程新任务:建造一间非常美新任务:建造一间非常美丽而完整的房间丽而完整的房间工作变得复杂许多工作变得复杂许多像不断发展的软件,功能像不断发展的软件,功能越来越多,越来越复杂越来越多,越来越复杂软件开发流程软件开发流程软件复杂性软件复杂性图形用户界面图形用户
3、界面客户客户/服务器结构服务器结构分布式应用分布式应用数据通信数据通信超大型关系型数据库超大型关系型数据库项目团队中的角色项目团队中的角色比尔想到需要更多的人手帮他比尔想到需要更多的人手帮他终于组成了自己工作团队终于组成了自己工作团队就像软件中的项目团队就像软件中的项目团队软件项目团队中的角色软件项目团队中的角色项目经理项目经理 技术负责人技术负责人 软件架构师软件架构师 项目团队项目团队 分析师分析师 设计人员设计人员 开发人员开发人员 测试人员测试人员项目人员构成比例项目人员构成比例例子:例子:微软微软 EXCHANGE 2000 SERVER 的开发:的开发:项目经理:项目经理:25人人
4、开发人员:开发人员:140人人测试人员:测试人员:350人人WINDOWS 2000:项目经理:项目经理:250人人开发人员:开发人员:1700人人测试人员:测试人员:3200人人软件工程师的工作软件工程师的工作项目设计与分析项目设计与分析编码编码编写文档编写文档测试测试团队管理团队管理软件工程师的素质软件工程师的素质 良好的编码能力良好的编码能力规范化编码习惯规范化编码习惯规范意识规范意识团队精神团队精神 具有软件工程的概念具有软件工程的概念 求知欲、进取心求知欲、进取心和学习总结的能力和学习总结的能力团队组织和管理能力团队组织和管理能力软件开发过程软件开发过程“这次不能盲目开工,这次不能盲
5、目开工,我们需要首先好好设我们需要首先好好设计一下!计一下!”构想构想分析分析设计设计构造构造评估评估软件的制作过程也非常相似软件的制作过程也非常相似软件开发过程软件开发过程软件开发软件开发可行性研究与计划可行性研究与计划 需求分析需求分析 设计设计 开发开发 评估评估/测试测试 维护维护 建造房屋建造房屋构想构想分析分析设计设计构造构造评估评估维护维护 软件开发过程模型软件开发过程模型 软件开发需要经历几个步骤软件开发需要经历几个步骤具体如何实施,具体项目不同,有所区别具体如何实施,具体项目不同,有所区别软件开发过程模型:软件开发过程模型:制作具体软件时,开发步骤的具体实制作具体软件时,开发
6、步骤的具体实施方法施方法瀑布模型瀑布模型 瀑布模型瀑布模型瀑布模型瀑布模型“线性顺序模型线性顺序模型”将每个阶段都清楚定义了起止点将每个阶段都清楚定义了起止点产生明确的交付成果产生明确的交付成果阶段之间通过文档进行沟通阶段之间通过文档进行沟通每个阶段都必需完成全部规定的任务(文档)后才能够进每个阶段都必需完成全部规定的任务(文档)后才能够进入下一个阶段入下一个阶段 可行性研究与计划可行性研究与计划 需求分析需求分析 设计设计 开发开发 测试测试 维护维护 可行性研究报告可行性研究报告需求说明书需求说明书设计文档设计文档程序程序测试报告测试报告可行性研究与计划阶段可行性研究与计划阶段 确定项目目
7、的确定项目目的了解系统中客户的期望了解系统中客户的期望确定系统的规模确定系统的规模论证项目可行性论证项目可行性技术可行性技术可行性 经济可行性经济可行性 操作可行性操作可行性社会可行性社会可行性需求分析阶段需求分析阶段需求是产品的根源需求是产品的根源需求工作的优劣对产品影响最大需求工作的优劣对产品影响最大获取需求获取需求客户客户同行、专家同行、专家已经存在的同类软件产品已经存在的同类软件产品行业标准、规则行业标准、规则Internet相关资料相关资料可能遇到的问题可能遇到的问题 用户说不清楚需求用户说不清楚需求误解需求误解需求分析需求分析需求功能需求记录在客户需求说明书中功能需求记录在客户需求
8、说明书中需求分析阶段需求分析阶段文档介绍文档介绍产品功能性需求产品功能性需求产品介绍产品介绍 产品应当遵循的标准和规范产品应当遵循的标准和规范其他需求其他需求需求说明书需求说明书产品非功能性需求产品非功能性需求需求分析阶段需求分析阶段设计阶段设计阶段 目的:根据用户的需要制定标准,划分并分配任务目的:根据用户的需要制定标准,划分并分配任务设计设计GUI标准标准 设计数据库设计数据库 设计过程模块设计过程模块 设计编码标准设计编码标准 构建原型构建原型 分配任务和监督任务分配任务和监督任务 设计阶段涉及的活动设计阶段涉及的活动 开发阶段开发阶段 开发阶段开发阶段 对用户界面对用户界面进行最后的修
9、改进行最后的修改 构建数据库构建数据库 通过添加代码通过添加代码使其具备功能使其具备功能 评估评估/测试阶段测试阶段 本阶段测试每个单元的功能本阶段测试每个单元的功能 测试阶段涉及的活动测试阶段涉及的活动 单元测试单元测试 数据验证测试数据验证测试 安全性测试安全性测试 强度测试强度测试 集成测试集成测试 维护阶段维护阶段 为客户提供故障诊断支持为客户提供故障诊断支持网络网络电话电话上门上门应用程序要求的任何软件升级应用程序要求的任何软件升级 版本版本补丁补丁软件开发过程软件开发过程比尔通过类似软件瀑布模型的方比尔通过类似软件瀑布模型的方式成功完成了自己的建筑项目式成功完成了自己的建筑项目阶段
10、项目需求描述及效果展示阶段项目需求描述及效果展示用户注册用户注册用户登录用户登录个人信息编辑个人信息编辑查找查找/添加好友添加好友好友列表好友列表聊天聊天技术实现:技术实现:WinForms+ADO.NET需求分析需求分析数据库分析数据库分析需要的数据表:需要的数据表:Users:用户表:用户表 Friends:好友表:好友表 Star:星座表:星座表 BloodType:血型表:血型表 FriendshipPolicy:好友策略表:好友策略表 Messages:消息表:消息表 MessageType:消息类型表:消息类型表 需求分析需求分析功能分析功能分析主要功能:主要功能:注册与登录注册与
11、登录 好友管理好友管理 消息管理消息管理 个人设置个人设置 需求分析需求分析界面分析界面分析需要的界面:需要的界面:注册界面注册界面 登录界面登录界面 登录后的主界面登录后的主界面 查找查找/添加好友界面添加好友界面 聊天界面聊天界面 系统消息界面系统消息界面 个人设置界面个人设置界面 头像列表界面头像列表界面 需求分析需求分析辅助类分析辅助类分析需要添加的辅助类:需要添加的辅助类:DBHelper类类 UserHelper 类类 MyQQ 聊天工具聊天工具组长组长 A组员组员 B组员组员 C注注册册窗窗体体聊聊天天窗窗体体个个人人信信息息窗窗体体登登录录后后主主窗窗体体查找查找/添加功能编码
12、添加功能编码登登录录窗窗体体头头像像列列表表窗窗体体系系统统消消息息窗窗体体查查找找/添添加加好好友友界面设计、辅助功能界面设计、辅助功能辅辅助助类类查查找找/添添加加好好友友协助协助协助协助小组分工小组分工阶段划分阶段划分项目准备阶段项目准备阶段(2学时)学时)项目框架、建库、建表、提交计划项目框架、建库、建表、提交计划第一次集中编码第一次集中编码(4学时)学时)注册、登录功能注册、登录功能第二次集中编码第二次集中编码(4学时)学时)查找查找/添加好友、部分聊天功能添加好友、部分聊天功能第三次集中编码第三次集中编码(4学时)学时)个人信息显示、完整聊天功能个人信息显示、完整聊天功能第四次集中
13、编码第四次集中编码(4学时)学时)个人信息修改、完善整个功能个人信息修改、完善整个功能项目答辩、总结(项目答辩、总结(4学时)学时)项目准备阶段:项目准备阶段:A任务任务搭建项目框架搭建项目框架提交小组计划提交小组计划 项目准备阶段:项目准备阶段:B任务任务建库建库建表建表UsersFriendsFriendShipPolicy建关系建关系项目准备阶段:项目准备阶段:C任务任务建表建表Star BloodType Messages MessageType 第一次集中编码:第一次集中编码:A任务任务设计注册窗体界面设计注册窗体界面实现用户注册功能实现用户注册功能第一次集中编码:第一次集中编码:B
14、任务任务设计登录后主窗体设计登录后主窗体显示好友列表显示好友列表第一次集中编码:第一次集中编码:C任务任务设计登录窗体设计登录窗体实现登录功能实现登录功能第一次集中编码:难点分析第一次集中编码:难点分析注册功能难点注册功能难点/获取自动生成的获取自动生成的IdId值值 /查询新增加的记录的标识号的查询新增加的记录的标识号的 SQL 语句语句sql=SELECT Identity FROM Users;/执行查询语句执行查询语句myQQNum=Convert.ToInt32(command.ExecuteScalar();第一次集中编码:难点分析第一次集中编码:难点分析好友列表好友列表第三方控件
15、第三方控件 SideBarGroups 属性属性SbGroup 类型类型Items属性属性SbItem 类型类型第一次集中编码:难点分析第一次集中编码:难点分析SideBar/命名空间命名空间 using Aptech.UI;/添加组添加组 sbFriends.AddGroup(我的好友我的好友);sbFriends.AddGroup(陌生人陌生人);/添加项添加项 SbItem item=new SbItem(string)dataReaderNickName,(int)dataReaderFaceId);sbFriends.Groups0.Items.Add(item);显示的文字显示的文
16、字显示的图像索引显示的图像索引第二次集中编码:第二次集中编码:A任务任务查找查找/添加好友窗体设计添加好友窗体设计第二次集中编码:第二次集中编码:B任务任务查找查找/添加好友功能实现添加好友功能实现第二次集中编码:第二次集中编码:C任务任务聊天窗体设计及功能实现聊天窗体设计及功能实现第二次集中编码:难点分析第二次集中编码:难点分析添加好友判断流程添加好友判断流程第二次集中编码:难点分析第二次集中编码:难点分析操作显示查询好友结果的操作显示查询好友结果的 DataGridView/判断是否有单元格选中判断是否有单元格选中 if(dgvBasicResult.SelectedRows.Count=
17、0)/判断选中行的第一个单元格是否有值判断选中行的第一个单元格是否有值if(dgvBasicResult.SelectedRows0.Cells0!=null)/表示空表示空/获得选中行的第一个单元格的值获得选中行的第一个单元格的值dgvBasicResult.SelectedRows0.Cells0.Value第三次集中编码:第三次集中编码:A任务任务设计个人信息窗体设计个人信息窗体显示个人信息显示个人信息第三次集中编码:第三次集中编码:B任务任务完善登录后主窗体,扫描未读聊天消息完善登录后主窗体,扫描未读聊天消息利用利用 Timer 实现实现控制好友头像闪烁控制好友头像闪烁来消息,头像闪烁
18、来消息,头像闪烁第三次集中编码:第三次集中编码:C任务任务头像列表窗体设计及功能实现头像列表窗体设计及功能实现第三次集中编码:难点分析第三次集中编码:难点分析头像闪烁效果:头像闪烁效果:改变头像显示的图片,用改变头像显示的图片,用Timer控制切换控制切换头像列表:头像列表:ListView 控件控件View 属性:属性:LargeIconLargeImageList 属性:指定存放大头像图片的图像列表控件属性:指定存放大头像图片的图像列表控件/判断判断 ListView 中是否有选中的中是否有选中的项项if(lvFaces.SelectedItems.Count=0)/获得选中的头像的索引获
19、得选中的头像的索引int faceId=lvFaces.SelectedItems0.ImageIndex;第四次集中编码:第四次集中编码:A任务任务个人信息修改功能个人信息修改功能第四次集中编码:第四次集中编码:B任务任务完善登录后主窗体:完善登录后主窗体:扫描未读系统消息扫描未读系统消息右键菜单右键菜单工具条按钮功能工具条按钮功能第四次集中编码:第四次集中编码:C任务任务添加好友请求窗体设计及功能实现添加好友请求窗体设计及功能实现第四次集中编码:难点分析第四次集中编码:难点分析登录主窗体的右键菜单中登录主窗体的右键菜单中删除好友功能删除好友功能从从 SideBar 中移除一项中移除一项/从从SideBar中将选中的项移除中将选中的项移除sbFriends.SeletedItem.Parent.Items.Remove(sbFriends.SeletedItem);大小头像切换大小头像切换 SideBar 的的 View 属性属性/小头像小头像sbFriends.View=SbView.SmallIcon;总结及项目答辩总结及项目答辩教员对项目完成情况作总结教员对项目完成情况作总结学员以小组形式按要求答辩学员以小组形式按要求答辩Thank you
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。