验收交付与过程改进_第1页
验收交付与过程改进_第2页
验收交付与过程改进_第3页
验收交付与过程改进_第4页
验收交付与过程改进_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六章验收交付与过程改进验收交付与过程改进共34页,您现在浏览的是第1页!软件缺陷按严重程度可以分为三个等级、分别是什么?生成TreeView菜单可以按哪两个过程来实现?用户控件文件的后缀是什么?回顾验收交付与过程改进共34页,您现在浏览的是第2页!预习检查项目验收时还有哪些工作要做?如何实例化用户控件?如何从.aspx页面向.ascx页面传递参数?验收交付与过程改进共34页,您现在浏览的是第3页!本章目标了解项目验收的常见流程了解项目维护的日常事项了解过程改进的概念及实践会给角色分配权限验收交付与过程改进共34页,您现在浏览的是第4页!项目实施什么是项目实施?定义:实施是指将软件系统部署到客户方的计算机上,协助客户准备基础数据,使软件系统顺利上线运行。项目实施时的准备保证软件符合需求,质量过关

全面做好测试工作(集成测试、系统测试、性能测试)制定实施计划

要发布的代码版本、数据库创建方式、基础数据准备方式准备好程序代码和相关文档

用户手册、测试用例文档在开发接近尾声的时候就要开始准备实施了!验收交付与过程改进共34页,您现在浏览的是第5页!项目验收项目验收客户对系统的“接收测试” 对系统进行范围核实(看看需求是否全部实现)和质量核实 最后,客户在验收报告上签字,一切尘埃落定,每个人都长出一口气,心想“这些琐琐碎碎的单据、报表与我再无瓜葛了”!大中型的项目会有一个签字验收仪式。然后我们的项目正式进入“维护阶段”!验收交付与过程改进共34页,您现在浏览的是第6页!为什么需要“维护阶段”?可能的原因包括软件的原有功能和性能可能不再适应用户的要求

例:企业业务流程调整软件的工作环境改变了 例:国家对某些单据的打印规格的规定调整了软件运行中发现错误,需要修改 例:单据编号发现重号用户操作不方便,影响效率。这些问题都需要在项目的“维护阶段”来解决!系统上线了,项目验收了,客户使用软件的过程中可能会遇到一些问题

!验收交付与过程改进共34页,您现在浏览的是第7页!如何做项目维护(1)项目交付项目结束时,开发团队将项目交付到维护团队手中客户已经签字验收维护团队对项目检验通过维护团队要迅速熟悉项目的业务、技术和客户维护流程1、客户提出维护申请2、对确实需要修改系统解决的问题进行业务上和技术上的论证3、对修改方案论证和审批通过后,报给客户修改和发布的计划验收交付与过程改进共34页,您现在浏览的是第8页!如何做项目维护(3)维护记录做维护时,需记录维护的记录,以利于在维护过程中发现问题、解决问题维护报告对维护工作做总结,归纳问题以便改进今后工作“大力”的案例(二)验收交付与过程改进共34页,您现在浏览的是第9页!为什么要做过程管理?某个项目进行的非常成功,还是原班人马,承担的下一个项目居然失败了。同等规模的项目,乙部门总是比甲部门周期长,成本高,而且容易风险发生的频率高。同类的错误反复重犯。要么是需求没有控制好,要么是项目压力大人员纷纷离职。项目组似乎对错误“没有记性”。很多软件企业的软件开发过程中,都存在着这样那样的问题:犯错误不可怕,可怕的是没“记性”,相同的错误再犯。我们需要过程管理!验收交付与过程改进共34页,您现在浏览的是第10页!能力成熟度模型(CMM)什么是CMMCMM(CapabilityMaturityModel),意思是软件成熟度模型CMM通过审查一个组织开发软件的过程的规范程度,来评价这个组织的软件开发能力CMM的五个等级级:初始级第二级:可重复级第三级:以定义级第四级:已控制级第五级:优化级验收交付与过程改进共34页,您现在浏览的是第11页!角色分配权限(1)实现这个功能主要是通过一个用户对应一个角色,一个角色对应多个权限控制的。系统管理员登录后看到的菜单普通用户登录后看到的菜单通过RoleRight中的NodeId从SysFun表查找对应的菜单信息如何给不同的角色分配不同的权限验收交付与过程改进共34页,您现在浏览的是第12页!角色分配权限(3)选择父菜单时,其对应的所有子菜单全被选中选择子菜单时,父菜单也被选中验收交付与过程改进共34页,您现在浏览的是第13页!角色分配权限(5)由多个父子菜单组成把一个父子菜单的组合做成用户控件Hidden1:用来存放父菜单IdHidden2:用来存放角色IdCheckBox:用来显示父菜单CheckBoxList:用来显示子菜单新建“RoleUserControl.ascx”<%@ControlLanguage="C#"AutoEventWireup="true"CodeFile="RoleUserControl.ascx.cs"Inherits="RoleUserControl"%><asp:checkboxid="chkParentMenu"runat="server"onclick="CheckAll(this.id)"Font-Bold="True"></asp:checkbox><asp:checkboxlistid="chklstChildMenu"runat="server"onclick="CheckOnly(this.id)"RepeatDirection="Horizontal“RepeatColumns="5"CellPadding="0"CellSpacing="0"></asp:checkboxlist><inputid="hidParentMenu"type="hidden"runat="server"/><inputid="hidRoleId"type="hidden"runat="server"/><hrstyle="color:#66CCFF">选择父节点时,选中其对应的全部子节点选择任何一个子节点时,其对应的父菜单也被选中用户控件页面对应的关键HTML代码验收交付与过程改进共34页,您现在浏览的是第14页!显示所有的父子菜单(2)protectedvoidPage_Load(objectsender,EventArgse){if(!Page.IsPostBack){DisplayRoleRightMenu();}}protectedvoidDisplayRoleRightMenu(){intnodeId=int.Parse(hidParentMenu.Value);

IList<SysFun>sysFuns=SysFunManager.GetSysFunByParentNodeId(nodeId);foreach(SysFunsysFuninsysFuns){ListItemli=newListItem();li.Value=sysFun.NodeId.ToString();li.Text=sysFun.DisplayName;chklstChildMenu.Items.Add(li);}}得到父节点Id根据父节点Id得到对应的所有子节点信息将子节点循环追加到CheckBoxList控件中用户控件页面RoleUserControl.ascx关键后台代码运行程序,即可实现系统菜单归类显示验收交付与过程改进共34页,您现在浏览的是第15页!选中当前角色已经拥有的权限(2)实现这个功能,我们只要在原来的基础上进行修改即可查看修改后的关键代码IList<RoleRight>currentRoleParentNodes=RoleRightManager.GetParentNodesByRoleId(roleId);ArrayListarrRoleParentNodes=newArrayList();foreach(RoleRightroleRightincurrentRoleParentNodes){arrRoleParentNodes.Add(roleRight.SysFun.NodeId.ToString());}根据角色Id获得当前角色拥有的权限信息

循环将该角色拥有的父节点添加到角色权限数组中if(arrRoleParentNodes.Contains(nodeId)){chkParentMenu.Checked=true;}判断生成的父节点是否已经在数组中

验收交付与过程改进共34页,您现在浏览的是第16页!保存角色权限(1)初始普通用户的权限情况给普通用户重新分配权限保存角色权限的思路是:查找当前角色拥有的节点Id放进一个数组,“提交”时循环判断:若选中的节点不在数组中,则添加到数据库,否则不执行操作;若不选的节点在数据库中存在,则从数据库删除。验收交付与过程改进共34页,您现在浏览的是第17页!小结4请简单描述一下用户表、角色表、系统功能表和角色权限表之间的业务关系。说一下实现角色权限分配的思路?验收交付与过程改进共34页,您现在浏览的是第18页!本章任务给角色分配权限验收交付与过程改进共34页,您现在浏览的是第19页!项目接近尾声...在开发阶段接近尾声的时候,是项目组战斗气氛最浓郁的时候!不时有电话打过来,声音急促有力,“需要支援!测试组需要再加一个人手!返测任务重,《用户手册》又要改!工区内人们走来走去,都是匆忙的脚步。项目组长高呼一声“还有10个‘紧急’BUG,今天一定要改完!”。

我们满怀信心和希望,项目组聚餐会有的!公费集体出游会有的

!项目调休和项目奖金也一定会兑现的!

项目验收交付时,还有最后三项工作等着我们:实施、培训、验收!验收交付与过程改进共34页,您现在浏览的是第20页!客户培训培训人员的选择行业积累雄厚,对客户方业务很了解,对我们的系统很了解培训时注意事项准备好培训内容不可临时抱佛脚,丢了面子制定好培训计划了解客户时间,做好沟通,协调好,安排好系统装好了,基础数据也已准备齐全。接下来就是组织客户培训了,教他们怎么使用我们的系统。验收交付与过程改进共34页,您现在浏览的是第21页!小结1项目验收交付时,还有哪三项工作要做?项目实施时,有哪些注意事项?(列举出一、两点即可)验收交付与过程改进共34页,您现在浏览的是第22页!“维护阶段”做什么?“维护阶段”做什么?校正性维护

诊断、校正软件错误的过程适应性维护

为适应环境的变更(计算机设备更新)而修改软件的维护活动完善性维护

为满足用户提出的新功能、性能要求而进行的维护预防性维护

为进一步改进可维护性、可靠性而进行的维护活动验收交付与过程改进共34页,您现在浏览的是第23页!如何做项目维护(2)范围管理严格定义系统的边界,明确什么需要给客户做,什么不需要做软件需求变更和膨胀是项目的杀手功能性膨胀例:客户业务流程(CRM和HR系统要集成)变化所需系统做调整非功能性膨胀例:培训要求、文档要求、性能要求保持一致性系统中一个小小的调整,导致牵一发而动全身 “大力”的案例(一)验收交付与过程改进共34页,您现在浏览的是第24页!小结2为何在项目维护时,“保持一致性”很重要?“维护流程”有哪三步流程?验收交付与过程改进共34页,您现在浏览的是第25页!过程定义菜谱里只写了做菜的原料和关键步骤。你买了菜谱并不会有个人去帮你做菜,那为什么菜谱还那么好卖?因为菜谱定义了一个做菜的标准过程:什么时候放油,放多少,下一步炒什么,炒多久...同样,CMM(菜谱)帮助我们定义软件开发过程(做菜步骤)。验收交付与过程改进共34页,您现在浏览的是第26页!小结3CMM分为哪五个等级?飞行员驾驶飞机的时候,其操作步骤要遵循事先严格定义好的过程。请问这样做的好处在哪里?验收交付与过程改进共34页,您现在浏览的是第27页!角色分配权限(2)下面我们来看一下整个权限分配的处理过程从角色管理页面点“权限分配”超连接RoleRight表中已经存在的菜单默认被选中菜单分类显示验收交付与过程改进共34页,您现在浏览的是第28页!角色分配权限(4)使用母版页,在SysManage文件夹下新建页面“DistributeRole.aspx”<divstyle="background-color:#DAF1FC"align="center"><divstyle="width:99%;height:30px;"><b>分配角色权限</b></div><divstyle="width:99%;text-align:left">权限分配(选定后保存)<strong>当前角色-></strong><asp:labelid="lblCurrentRole"runat="server"></asp:label></div><divstyle="width:99%;background-color:#B4E5FD"><asp:PlaceHolderID="phRoleDistribute"runat="server"></asp:PlaceHolder></div><div> <inputid="btnSave"type="submit"runat="server"value="提交" onserverclick="btnSave_ServerClick"/> <inputid="btnRet"type="submit"runat="server"value="返回" onserverclick="btnRet_ServerClick"/> </div> </div>用于装载所有的权限菜单关键HTML代码验收交付与过程改进共34页,您现在浏览的是第29页!显示所有的父子菜单(1)下面编写代码实现:展示所有的父子菜单使用用户控件时,需要把“RoleUserControl.ascx”拖到权限管理页面上,注册一下父子菜单归类显示实现思路:首先获得所有的父节点信息,对每一个父节点查找它的所有子节点,把父子节点一起生成一个用户控件,然后放入PlaceHolder容器protectedvoidPage_Load(objectsender,EventArgse){……DisplayRoleRightInfo();}protectedvoidDisplayRoleRightInfo(){

IList<SysFun>sysFuns=SysFunManager.GetAllParentNodeInfo();foreach(SysFunsysFuninsysFuns){stringnodeId=sysFun.NodeId.ToString();stringdisplayName=sysFun.DisplayName;

RoleUserControlroleCotrol= (RoleUserControl)LoadControl(@"RoleUserControl.ascx"); HtmlInputHiddenhidParentMenu= (HtmlInputHidden)roleCotrol.FindControl("hidParentMenu");hidParentMenu.Value=nodeId; CheckBoxchkParentMenu= (CheckBox)roleCotrol.FindControl("chkParentMenu");chkParentMenu.Text=displayName;

phRoleDistribute.Controls.Add(roleCotrol);}}实例化隐藏域,用以存储父节点Id实例化用户控件得到所有父级节点信息实例化用户控件中的CheckBox

,以显示父菜单名称

权限分配主页面Distribu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论