1、.1.2项目案例项目案例(1/3)n任务任务负责组织负责组织*大学图书大学图书馆管理系统的开发馆管理系统的开发n时间限制时间限制6个月个月n人员人员4个技术人员个技术人员n成本成本控制在控制在40万元之内万元之内小王小王老王老王.3项目案例项目案例(2/3)n小王的长处小王的长处精湛的技术,尤其是软件设计和精湛的技术,尤其是软件设计和程序设计技术程序设计技术丰富的软件开发经验,参加过许丰富的软件开发经验,参加过许多项目的开发多项目的开发有成功的项目开发案例,对个人有成功的项目开发案例,对个人技术信心十足技术信心十足n小王的欠缺小王的欠缺从来没有完整组织过一个软件项从来没有完整组织过一个软件项目
2、的开发,不知道如何开展软件目的开发,不知道如何开展软件项目的开发工作以及需要注意哪项目的开发工作以及需要注意哪些问题些问题小王小王.4项目案例项目案例(3/3)n小王很茫然,面临许多问题小王很茫然,面临许多问题如何着手开展工作?如何着手开展工作?能否以及如何保证在规定的时间约束范能否以及如何保证在规定的时间约束范围内完成工程?围内完成工程?如何保证所开发的软件系统的质量?如何保证所开发的软件系统的质量?怎么去组织手下的技术人员,让他们充怎么去组织手下的技术人员,让他们充满激情地工作?满激情地工作?如何确保项目不会失控?如何确保项目不会失控?如何在实施过程中处理各种应急事如何在实施过程中处理各种
3、应急事件?件? n这些问题都是软件项目开发必须解决的,这些问题都是软件项目开发必须解决的,而且不是纯粹的技术性问题而且不是纯粹的技术性问题小王小王?.5本章概览本章概览n互联网软件开发过程互联网软件开发过程nWebWeb开发过程的项目规划开发过程的项目规划n项目人员管理项目人员管理n互联网软件开发项目管理互联网软件开发项目管理.6互联网概念nWebnhttpn服务器和客户机nC/S结构nB/S结构.71.1互联网软件开发过程1.1.1 第一阶段:规划1.1.2 第二阶段:设计1.1.3 第三阶段:建设和测试1.1.4 第四阶段:投入使用1.1.5 第五阶段:运行及后续维护.8规划;设计; 建设
4、和测试;投入使用;运行及后续维护;理念规划判断点1设计判断点2建设和测试判断点3投入使用运行及后续维护是是是否否否Web开发过程有五个基本阶段.91.1互联网软件开发过程1、开发小组可以把一个开发小组可以把一个WebWeb应用划分为若干部分,应用划分为若干部分,一些小组成员在某一部分可以提前进入建设阶一些小组成员在某一部分可以提前进入建设阶段,而其他成员可能还处于设计阶段。段,而其他成员可能还处于设计阶段。2 2、在阶段转换时出现的判断点也称为、在阶段转换时出现的判断点也称为“界标界标”,因为他们标志着一个阶段的完成。因为他们标志着一个阶段的完成。3 3、 WebWeb开发过程的第一阶段是规划
5、阶段。这一阶开发过程的第一阶段是规划阶段。这一阶段的段的目的是生成项目计划目的是生成项目计划。项目计划的内容包。项目计划的内容包括:确定日程表;确定项目的高级时间期限和括:确定日程表;确定项目的高级时间期限和每个阶段的最后期限;明确项目目标、每个阶段的最后期限;明确项目目标、 WebWeb应应用的目标、开发方法、项目任务分配、项目设用的目标、开发方法、项目任务分配、项目设想和风险。想和风险。.101.1互联网软件开发过程4、 WebWeb开发过程的第二阶段是设计阶段。在这一阶段,对于开发过程的第二阶段是设计阶段。在这一阶段,对于网站的外观、网站结构、站点定位、网站的外观、网站结构、站点定位、
6、WebWeb应用要完成的应用要完成的任务及必要的数据资料,任务及必要的数据资料,必须经过用户的认可必须经过用户的认可。完成设计阶段的完成设计阶段的任务清单任务清单:功能分析功能分析确定用户在确定用户在WebWeb应用中要做的事情。应用中要做的事情。数据建模数据建模确定确定WebWeb应用要存储哪些数据,并设计数据应用要存储哪些数据,并设计数据库的物理结构。库的物理结构。信息结构信息结构站点结构图,对站点结构以及用户、站点、站点结构图,对站点结构以及用户、站点、数据库交互进行建模分析。数据库交互进行建模分析。.111.1互联网软件开发过程技术分析技术分析根据项目目标和需求,选择项目所根据项目目标
7、和需求,选择项目所需的硬件和软件。需的硬件和软件。构造开发和测试环境构造开发和测试环境在服务器和本地工作站在服务器和本地工作站上安装开发软件,设置安全措施,在非正式服上安装开发软件,设置安全措施,在非正式服务器上开辟建设和测试区。务器上开辟建设和测试区。确定设计目标确定设计目标确定选项。确定选项。确定风格规范确定风格规范确定站点外观,包括布局、图确定站点外观,包括布局、图形、字体和色彩等。形、字体和色彩等。确定技术标准确定技术标准明确文件和目录命名规则。明确文件和目录命名规则。设计原型设计原型把设计想法变成部分实体,创建网把设计想法变成部分实体,创建网页或者模板。页或者模板。.121.1互联网
8、软件开发过程可用性测试可用性测试根据用户使用情况,写出测试报根据用户使用情况,写出测试报告。告。生成项目设计规范生成项目设计规范详细描述每个详细描述每个WebWeb应用的页应用的页面,划分应用以便小组成员同时展开工作。面,划分应用以便小组成员同时展开工作。测试规划测试规划详细描述软件、硬件和商业功能的详细描述软件、硬件和商业功能的测试环境和测试数据。测试环境和测试数据。.131.1互联网软件开发过程5、WebWeb开发过程的第三阶段是建设和测试阶段。这开发过程的第三阶段是建设和测试阶段。这一阶段的目的是开发符合项目设计规划的高质量一阶段的目的是开发符合项目设计规划的高质量的的WebWeb应用。
9、由于应用被划分为若干个部分,所以应用。由于应用被划分为若干个部分,所以一些小组成员有可能已经在应用的某个部分进入一些小组成员有可能已经在应用的某个部分进入了建设阶段,而其他成员可能还处在其他部分的了建设阶段,而其他成员可能还处在其他部分的设计阶段中。在本阶段的判断点上,设计阶段中。在本阶段的判断点上,整个应用或整个应用或者某一部分进入运行阶段之前必须得到用户认可者某一部分进入运行阶段之前必须得到用户认可。.141.1互联网软件开发过程n主要任务:主要任务:确定开发规则确定开发规则决定是否采用源码控制技术、决定是否采用源码控制技术、文件备份计划、小组成员通信方法。文件备份计划、小组成员通信方法。
10、创建骨干页面创建骨干页面创建骨干页面,确定网站结构。创建骨干页面,确定网站结构。测试准备测试准备为每个测试环境设计分步指令,并为每个测试环境设计分步指令,并向测试数据库中填写真实数据。向测试数据库中填写真实数据。生成内容生成内容根据设计规范生成根据设计规范生成Web Web 应用需要的应用需要的图形、文本、音频和视频文件。图形、文本、音频和视频文件。技术设计技术设计按照项目设计规范中的信息设计技按照项目设计规范中的信息设计技术规划。术规划。.151.1互联网软件开发过程编程编程创建创建HTMLHTML页面、脚本、组件、页面、脚本、组件、ActiveXActiveX控控件、数据库。件、数据库。集
11、成集成在开发服务器上集成在开发服务器上集成HTMLHTML页面、脚本、页面、脚本、组件、组件、ActiveXActiveX控件、数据库、进行集成测试,控件、数据库、进行集成测试,保证站点正常工作。保证站点正常工作。测试测试项目小组认为站点功能可以接受时,项目小组认为站点功能可以接受时,把开发站点上的内容映射到测试服务器上。把开发站点上的内容映射到测试服务器上。测试测试项目小组认为站点的项目小组认为站点的版本已经可以版本已经可以接受,用开发服务器上的内容替换测试服务器接受,用开发服务器上的内容替换测试服务器上的内容。上的内容。纠正错误纠正错误记录和纠正在记录和纠正在和和测试报告中出测试报告中出现
12、的错误。现的错误。.161.1互联网软件开发过程6 6、WebWeb开发过程的第四个阶段是投入使用阶段。这开发过程的第四个阶段是投入使用阶段。这一阶段的目标是一阶段的目标是把全面测试过的把全面测试过的版版WebWeb应用发布应用发布到运营服务器上到运营服务器上。如果设计到数据库,特别要注。如果设计到数据库,特别要注意不要丢失或破坏数据。一旦文件安装完毕,小意不要丢失或破坏数据。一旦文件安装完毕,小组应立即投入测试工作,保证各部分正常工作。组应立即投入测试工作,保证各部分正常工作。 如果测试工作顺利,则项目小组的任务就结如果测试工作顺利,则项目小组的任务就结束了。在小组解散之前,要召开会议总结经
13、验,束了。在小组解散之前,要召开会议总结经验,以便提高项目开发水平。以便提高项目开发水平。 此外,还要此外,还要对整个开发坏境、源文件、开发对整个开发坏境、源文件、开发工具和文档进行备份工具和文档进行备份。.171.1互联网软件开发过程7 7、WebWeb开发的最后一个阶段是运行及后续维开发的最后一个阶段是运行及后续维护阶段。这一阶段的目标是保证站点内容护阶段。这一阶段的目标是保证站点内容及时更新并保证其正常平稳运行。管理员及时更新并保证其正常平稳运行。管理员监视监视WebWeb应用运行,确保性能指标处于最优。应用运行,确保性能指标处于最优。在许多站点,都需要一个或多个人在运行在许多站点,都需
14、要一个或多个人在运行过程中维护页面,保证站点时实行。过程中维护页面,保证站点时实行。.181.2 项目规划本节内容本节内容1.2.1 1.2.1 确定项目目标确定项目目标1.2.2 1.2.2 确定确定WebWeb应用的目标应用的目标1.2.3 1.2.3 确定目标用户确定目标用户1.2.4 1.2.4 确定项目的规模确定项目的规模1.2.5 1.2.5 确定客户重点确定客户重点1.2.6 1.2.6 取得一致的开发方法取得一致的开发方法1.2.7 1.2.7 编写项目计划编写项目计划.191.2项目规划 规划是整个规划是整个WebWeb开发过程中最重要的阶段。开发过程中最重要的阶段。这个阶段
15、需要了解项目要做什么?如何做?什么这个阶段需要了解项目要做什么?如何做?什么时间做?时间做?.201.2 项目规划完成规划阶段涉及到的完成规划阶段涉及到的典型问题典型问题:n确定项目目标;确定项目目标;n确定确定WebWeb应用的目标;应用的目标;n确定目标用户;确定目标用户;n项目的范围;项目的范围;n明确用户重点;明确用户重点;n统一方法;统一方法;n创建项目计划。创建项目计划。.211.2项目规划1.2.1 1.2.1 确定项目目标确定项目目标n项目规划的首要工作就是明确项目的目标。通过项目规划的首要工作就是明确项目的目标。通过和客户的几次讨论,有了一份用户认可的项目目和客户的几次讨论,
16、有了一份用户认可的项目目标清单。虽然它并不完善,但重要的是双方都理标清单。虽然它并不完善,但重要的是双方都理解这些目标,并认为这些目标能够实现。解这些目标,并认为这些目标能够实现。.221.2 项目规划1.2.2 1.2.2 确定确定WebWeb应用的目标应用的目标 要确定要确定WebWeb应用本身的目标。要考虑应用本身的目标。要考虑WebWeb应用的商应用的商业需求,业需求,ITIT部门、最终用户和技术方面的需求,部门、最终用户和技术方面的需求,此外,还要判断如何已经达到目标。此外,还要判断如何已经达到目标。nWebWeb应用的商业目的是什么?应用的商业目的是什么?建立市场部分的合作共识;建
17、立市场部分的合作共识;利用新的渠道促销产品或者服务;利用新的渠道促销产品或者服务;在在InternetInternet上提供产品或者服务;上提供产品或者服务;在在InternetInternet上出售产品获取利润。上出售产品获取利润。.231.2项目规划n为取得成果,为取得成果,WebWeb应用需要做什么?应用需要做什么?n各部门是否有遵循的标准或者原则?各部门是否有遵循的标准或者原则?n为什么应用要在为什么应用要在InternetInternet上使用?上使用?1.2.3 1.2.3 确定目标用户确定目标用户 了解了解WebWeb应用的使用者是谁,不同的用户想在网上做些什么。应用的使用者是谁
18、,不同的用户想在网上做些什么。通过这些信息以便确定需要实现的功能、安全级别、解决通过这些信息以便确定需要实现的功能、安全级别、解决方案的规模、建设网站需要使用的技术手段以及如何测试方案的规模、建设网站需要使用的技术手段以及如何测试网站等。网站等。.241.2项目规划为了确定目标用户,通常需了解下列问题:为了确定目标用户,通常需了解下列问题:n描述使用描述使用WebWeb应用的典型人员。应用的典型人员。n概括说明用户想在网上做什么。概括说明用户想在网上做什么。n目标用户在什么地方,同一层大楼还是城市或者目标用户在什么地方,同一层大楼还是城市或者国家。国家。n普通用户使用网站的频繁程度。普通用户使
19、用网站的频繁程度。n想让多少人使用本网站。想让多少人使用本网站。n目标用户使用什么浏览器。目标用户使用什么浏览器。n目标用户使用什么硬件平台。目标用户使用什么硬件平台。.251.2 项目规划1.2.4 1.2.4 确定项目的规模确定项目的规模 当我们对当我们对WebWeb具体应用有了进一步了解之后,就可具体应用有了进一步了解之后,就可以估计站点的规模和复杂程度。客户可能需要一以估计站点的规模和复杂程度。客户可能需要一个简单的站点,也可能需要一个复杂的个简单的站点,也可能需要一个复杂的WebWeb应用访应用访问大量数据库资源,或者介于两者之间。估计问大量数据库资源,或者介于两者之间。估计WebW
20、eb应用的规模非常重要。它对于正确估计开发应用的规模非常重要。它对于正确估计开发WebWeb应应用所需的时间和资源是最有价值的。用所需的时间和资源是最有价值的。.261.2 项目规划 1. 1.确定确定WebWeb的应用功能和风格的应用功能和风格信用卡交易信用卡交易应用可能要用安全交易方工替代信用应用可能要用安全交易方工替代信用卡交易收钱。卡交易收钱。 限制访问限制访问通过用户通过用户IDID和口令方式,只对授权用和口令方式,只对授权用户开放。户开放。根据先前访问定制用户页面根据先前访问定制用户页面为多次访问站点的用为多次访问站点的用户提供特殊的页面服务。户提供特殊的页面服务。.271.2 项
21、目规划 2.选择站点模型选择站点模型信息出版模型信息出版模型公司基础结构模型公司基础结构模型售后支持模型售后支持模型电子商务模型电子商务模型产品和服务模型产品和服务模型 电子商务模型电子商务模型,这类站点一般是这样工作的:,这类站点一般是这样工作的:通常访问者从产品目录中选择了一种产品后,通常访问者从产品目录中选择了一种产品后,就把该产品放入虚拟的购物小推车中,这样就把该产品放入虚拟的购物小推车中,这样就可以继续选购其他产品了。购物结束时,就可以继续选购其他产品了。购物结束时,迅速检查一下手推车中的产品看一下自己想迅速检查一下手推车中的产品看一下自己想买的东西,然后提供送货地址和用卡信息。买的
22、东西,然后提供送货地址和用卡信息。.281.2 项目规划3.3.选择浏览器选择浏览器4.4.考察内容(考虑准备这些内容所需的任务量考察内容(考虑准备这些内容所需的任务量) )5.5.确定用户重点确定用户重点( (让客户从时间、开销、风格、风险让客户从时间、开销、风格、风险和视觉效果五个方面选择认为最重要的方面)和视觉效果五个方面选择认为最重要的方面)6.6.对开发方法取得一致(确定在合理时间内完成应对开发方法取得一致(确定在合理时间内完成应用的最佳方法)用的最佳方法)7.7.编写项目计划编写项目计划.291.2 项目规划n项目计划是一份关键文档。由若干部分组成,但至少要包项目计划是一份关键文档
23、。由若干部分组成,但至少要包括以下四个部分:括以下四个部分:1.1.目标目标总结在总结在“确定项目目标确定项目目标”和和“确定确定WEBWEB应用目标应用目标”中明确下来的目标,并明确商业术语中的关键词语。中明确下来的目标,并明确商业术语中的关键词语。2.2.风险和假设风险和假设项目管理人员列出他在编写项目计划中所做项目管理人员列出他在编写项目计划中所做的全部假设,估计出风险,并提出消险风险的方法。的全部假设,估计出风险,并提出消险风险的方法。3.3.时间表时间表明确每一阶段的详细任务及完成期限。明确每一阶段的详细任务及完成期限。4.4.预算预算取决于制定时间表时所做的估计及分配给项目的资取决
24、于制定时间表时所做的估计及分配给项目的资源量。源量。.301.3 项目人员管理本节内容本节内容1.3.11.3.1项目小组角色项目小组角色1.3.21.3.2项目小组中客户的角色项目小组中客户的角色.311.3 组建项目小组 一个成功的一个成功的WebWeb应用开发小组有各种各样的专应用开发小组有各种各样的专业人员。每个小组成员都要有足够的技术并能和业人员。每个小组成员都要有足够的技术并能和其他小组成员良好合作,才能保证项目顺利完工。其他小组成员良好合作,才能保证项目顺利完工。项目小组角色包括:项目小组角色包括:内容设计师;内容内容设计师;内容WebWeb管理员;管理员;数据库设计者;图形设计
25、师;项目管理人员;软数据库设计者;图形设计师;项目管理人员;软件质量管理分析人员及测试人员;系统管理员;件质量管理分析人员及测试人员;系统管理员;技术技术WebWeb管理员和管理员和WebWeb程序员程序员。每个角色都有必备。每个角色都有必备的技术及专门的工具。的技术及专门的工具。.321.3 组建项目小组项目小组中客户的角色项目小组中客户的角色决策人决策人负责做最后的判断。这个人通常是客负责做最后的判断。这个人通常是客户方中的管理者,因此在每个判断点上争取他的户方中的管理者,因此在每个判断点上争取他的同意是非常关键的。同意是非常关键的。商务发起人商务发起人这个人通常是一名商务管理人员,这个人
26、通常是一名商务管理人员,他有权利来判断项目的进展。这个人一般是项目他有权利来判断项目的进展。这个人一般是项目小组和客户之间的联系人。小组和客户之间的联系人。问题专家问题专家这个人比其他人更了解业务流程,这个人比其他人更了解业务流程,他负责业务内容并回答项目小组的具体细节问题。他负责业务内容并回答项目小组的具体细节问题。根据项目性质,可能需要一名或多名问题专家。根据项目性质,可能需要一名或多名问题专家。支持人员支持人员这些人在项目结束后提供后续技术这些人在项目结束后提供后续技术支持,帮助测试并解决问题。支持,帮助测试并解决问题。.331.4 软件开发项目管理本节内容本节内容1.4.1 1.4.1
27、 规划规划1.4.2 1.4.2 估计和调度估计和调度1.4.3 1.4.3 追踪追踪1.4.4 1.4.4 联络联络.341.4 软件开发项目管理 如果客户同意项目计划,项目管理人员则会如果客户同意项目计划,项目管理人员则会召集项目小组开始进入设计阶段。召集项目小组开始进入设计阶段。 随着项目的进展,会有其他小组成员加入到随着项目的进展,会有其他小组成员加入到项目小组中提供帮助,当工作结束后就会离开项项目小组中提供帮助,当工作结束后就会离开项目小组,但目小组,但项目管理员项目管理员则全程都对这个项目负责。则全程都对这个项目负责。 在项目的整个生命周期中,项目管理员的职在项目的整个生命周期中,
28、项目管理员的职责对项目的成功起着至关重要的作用。责对项目的成功起着至关重要的作用。.351.4 软件开发项目管理n项目管理员应具备四项技能(考试重点):项目管理员应具备四项技能(考试重点):规划(中间不断加入细节)规划(中间不断加入细节)估计和调度(是一种艺术)估计和调度(是一种艺术)追踪(防止出现风格飘移)追踪(防止出现风格飘移)1.联络(分工协作少不了交流与沟通)联络(分工协作少不了交流与沟通).361.4 软件开发项目管理 几个重要的概念几个重要的概念 调度调度:调度是在开发过程中一种对人员、资源、调度是在开发过程中一种对人员、资源、应用风格以及开发技术手段进行平衡的活动。应用风格以及开
29、发技术手段进行平衡的活动。 风格漂移风格漂移:是一种缓慢的不易被发现的过程,发:是一种缓慢的不易被发现的过程,发现时往往已经太晚了。现时往往已经太晚了。.37本章小结互联网软件开发五个阶段互联网软件开发五个阶段 规划规划 设计设计 建设和测试建设和测试 投入使用投入使用 运行及后续维护运行及后续维护.38本章小结规划项目规划项目了解项目要做什么,如何做,什么时间做?项目了解项目要做什么,如何做,什么时间做?项目的费用?的费用?项目目的:明确目标用户、项目目的:明确目标用户、WebWeb应用目标和用户重应用目标和用户重点点组建项目小组组建项目小组人员构成人员构成个角色的技术特点和技能要求个角色的技术特点和技能要求客户在项目小组中的角色客户在项目小组中的角色.39本章小结软件开发项目管理软件开发项目管理了解项目管理员的职责及所需技能了解项目管理员的职责及所需技能了解项目管理员的主要任务了解项目管理员的主要任务风格漂移风格漂移调度调度