1、第一章1.what is a software? 什么是软件?The interdependent part in computer, include program, data and correlative document.计算机中相互依赖的一些程序,数据,相关联的文档。2. Characteristics of software project? 软件项目的特征?Invisibility 不可见性 ;Complexity 复杂性 ;Conformity 一致性 ;Flexibility 灵活性 3What is the Stakeholders? Include which one?项
2、目的相关人员?包括哪些?These are people who have a stake or interest in the project.项目相关人员是指在项目中有利害关系的人。In general, they could be users/clients or developers/implementers.They could be: Within the project team项目组内部人员 Outside the project team,but within the same organization在同一组织内但在该项目组外的人 Outside both the proj
3、ect team and the organization 在该项目组和该组织之外的人员4.What is PMBOK? 什么是PMBOK? Project Integration Management 项目整合管理 Project Scope Management 项目范围管理 Project Time Management 项目时间管理 Project Cost Management 项目花销管理 Project Human Resource Management 项目人力资源管理 Project Risk Management 项目风险管理 Project Quality Managem
4、ent 项目质量管理 Project Procurement Management 项目采购管理 Project Communication Management 项目交流管理第二章 Step-wise: Step 0:选择项目 可行性研究表明这个项目是否值得进行 Step 1:标识项目的范围和目的 Identify objectives and measures of effectiveness 标识目的以及有效性的度量方式 Establish a project authority 确立项目的主管当局 Identify all stakeholders in the project and
5、 their interests 标识项目所有相关人员以及他们的利益 Modify objectives in the light of stakeholder analysis根据项目相关人员的分析修改目的 Establish methods of communication with all parties 确定各部门之间的交流方法 Step 2:表示项目的基础设施 Establish link between project and any strategic plan 确立项目和战略策划之间的关系 Identify installation standards and procedur
6、es 标识安装标准和步骤 Identify project team organization 标识项目组的组织 Step 3:分析项目的特征 Distinguish the project as either objective or product-based 区分项目是目的驱动还是产品驱动 Analyse other project characteristics (including quality based ones) 分析项目的其他特征(包括基于质量的特征) Identify high level project risks 标识项目的高级别风险 Take into accoun
7、t user requirements concerning implementation 实现时考虑用户的需求 Select general life cycle approach 选择开发方法学和生命周期方法Review overall resource estimates 评审整个资源估计 Step 4:标识项目的产品和活动 Identify and describe project products 标识描述项目的产品 document Generic product flows 将共性产品流文档化 Recognize product instances 标识产品实例 Produce
8、ideal activity network 产生理想的活动网络图 Add check-points if needed 增加检查点如果需要 Step 5:估计每个活动的工作量 Carry out bottom-up estimates 执行由底向上的估计 Revise plan to create controllable activities 修改策划创建可控制的活动 Step 6:标识活动的风险 Identify and quantify risks for activities 标识和量化基于活动的风险 Plan risk reduction and contingency measu
9、res 计划合适的风险缓解和应急措施 Adjust overall plans and estimates to take account of risks 根据风险调整计划和估计 Step 7:分配资源 Identify and allocate resources to activities 标识和分配资源 Revise plans and estimates to take into account resource constraints 根据资源约束修改计划和估计 Step 8:评审/发布计划 Review quality aspects of project plan 评审项目计划
10、的质量 Document plan and obtain agreement 将计划文档化并取得一致的建议 Step 9 and 10:执行计划并进行较低层次的策划第三章1What is Programme management?Include which kinds?什么是项目群?分为哪几种?A group of projects that are managed in a co-ordinated way to gain benefits that would not be possible were the projects to be managed independently.为了获
11、得利益,用协同方式管理的一组项目,而这些项目不能进行独立的管理。分为:战略项目群、商业周期项目群、基础设施项目群、研究和开发项目群、创新的伙伴关系2. What is the three kinds of Quantifying benefits? 量化收益的三种度量方式? Quantified and valued 可量化和估价 Quantified but not valued 可量化但不能估价 Identified but not easily quantified 可标识但不易量化3What is the three kinds of CBA? 成本效益分析的三种成本分类:Develo
12、pment costs开发成本 ; Set-up安装成本 ; Operational costs运行成本4(1)Net profit(净利润) 是在项目的整个生命周期中总成本和总收入的差。 净利润 = “Cash-flow”列所有年的利润数的总和。 (2)Pay back period(回收期) 是达到收支平衡或偿还初始投入所花的时间。 (3)Return on investment(投资回报率) 提供了一种方法来比较净收益率与需要的投入。 ROI = ( Average annual profit / Total investment ) * 100% Average annual prof
13、it = Net profit / total years (4)Net present value(NPV 净现值) 考虑项目的收益率和要产生的现金流的时限 现值 = 第t年的值 / (1+r)t次方 r是贴现率 t是现金流在未来出现的年数 = 现金流 * 贴现因子 贴现率查表可得3. 净利润定义: 项目开发生命周期中,总成本和总收入的差4. Pay back period: 每一段时期的过后的累积的钱5,Return on investment (ROI) RIO = (Average annual profit)/Total investment * 100%EX: AAP = 5000
14、0/5 = 10000 so RIO = AAP/1000000 = 10%6, 净现值(Net present value)Discount factor = 1/(1+r)tr is the interest rate (e.g. 10% is 0.10)t is the number of yearsPresent value=value in year t Discount factorIn the case of 10% rate and one yearDiscount factor = 1/(1+0.10) = 0.9091In the case of 10% rate and
15、two yearsDiscount factor = 1/(1.10 x 1.10) =0.8294第四章1几种过程开发模型的特点?Waterfall model(瀑布模型): the classical model 经典模型 One-shot (one-through) 一次性完成 imposes structure on the project 加强项目结构化 Forecast the project completion time 预测项目完成时间 Where there is uncertainty, a more flexible , iterative approach might
16、 be required 当项目不确定性、灵活性较大,需要反复迭代开发时采用此模型。V-process model(过程模型):瀑布模型的细化,强调了与创建项目产品的活动匹配的必要的确认活动 Validation for activity 每一步都有匹配的确认活动 Expanding the activity testing in the waterfall model瀑布模型中测试活动的扩展 Feeding back should only occur between what was specified by particular activity and what was actuall
17、y implemented in the next lower activity退回只发生在特定活动规定要做什么和V循环上邻近的下层活动实际要实现什么之间已经发现不一致的地方The spiral mode(螺旋模型): A greater level of detail is considered at each stage of the project待实现的系统在每次螺旋式都得到了更详细的考虑 A greater degree of confidence about the probability of success for the project should be justified
18、 每个阶段考虑的越详细,项目取得成功的概率就越大。 A sweep for each phase 每个阶段螺旋进行 Each sweep terminates with an evaluation before the next iteration每次螺旋都以下一个迭代开始前的评价结束2What is two kinds of Prototyping? 原型分哪两种:throw away prototypes抛弃型原型, evolutionary prototypes进化型原型3. What is the advantage of prototyping? 原型的优点是什么? learning
19、 by doing 在实践中学习 improved communication 改进沟通 improved user involvement 改进用户参与 a feedback loop is established 建立反馈循环 reduces the need for documentation 减少文档的需要 reduces maintenance costs 降低维护成本 prototype can be used for producing expected results 产生期望的结果4. Prototyping is to what extent?原型要做到什么程度?mock-
20、ups实验模型 Simulated interaction 模仿交互 Partial working models 部分工作模型5What is the idea of Incremental delivery? 增量式交付的思想是什么? 增量式交付将应用程序分解为小的构件,然后按顺序实现和交付构件。每个要交付的构件会给用户带来一些效益。6. What is the advantage of Incremental delivery? 增量式开发的优点是什么? feedback from early stages used in developing latter stages 从早期增量得到
21、的反馈来改进后面的阶段 shorter development thresholds 更低的开发门槛 user gets some benefits earlier 用户在早期便能得到收益 project may be put aside temporarily 出现紧急情况项目可暂时放弃 reduces gold-plating减少“镀金”第五章1. Danger of over-estimating and under-estimate?软件过高、过低估计带来的危害 ? Over- estimating is possible to spend longer time, use tow L
22、aw to explain过高估计可能导致项目花更长的时间 Parkinsons Law(帕金森定律): Work expands to fill the time available,这意味着容易达到的目标将使员工工作松懈。 Brooks law(布鲁克斯定律): The effort required to implement a project will go up disproportionately with the number of staff assigned to the project实现一个项目需要的工作量不与分配到项目的员工数同步增长。Under-estimated i
23、s the effect on quality. 过低估计将会影响质量Weinbergs Zeroth Law of reliability: a software project that does not have to meet a reliability requirement can meet any other requirement如果不要求程序能实际工作,那么能满足任何设置的编程交付期。2. 软件工作量估计的单位:Measure of work SLOC源代码行数 or KLOC千行代码 Function point功能点3. 软件工作量估计的技术-Bottom-up and
24、Top-down 的实现和区别Bottom-up estimating1. Break project into smaller and smaller components 分解项目到较小部分2. Stop when you get to what one person can do in one/two weeks 直到项目能被一个人在一周或两周内完成为止3. Estimate costs for the lowest level activities 估计最低级活动的花费4. At each higher level calculate estimate by adding estima
25、tes for lower levels 估计每个高级活动的花费,为下面每个低级活动的花费估计总合 明确地规划整个项目的整体估计,然后分解成为构建人物的所需要的工作量Top-down estimates Produce overall estimate using effort driver (s) 明确地规划整个项目的总体估计 distribute proportions of overall estimate to components分解成为构件人物的所需要的工作量。两者的区别: Bottom-up use when no past project data 没有过去的数据时 ident
26、ify all tasks that have to be done so quite time-consuming 定义所有的任务和工作量 use when you have no data about similar past projects 在过去的相关类似项目中没有相关数据使用时 Top-down produce overall estimate based on project cost drivers 基于项目驱动资金做整体估计 based on past project data 基于过去的数据 divide overall estimate between jobs to b
27、e done 从整体估计中分解工作4 FPs(function point FP)的计算及基于信息系统分为五部分External user typemultiplierlowaveragehighExternal input346External output457Logical internal file71015External interface file 5710External inquiry346 每个复杂度区的每个外部用户类型的数目*指定的权重=FP数,加起来就得到总的FP数,该数表示信息处理系统的规模Five major components of computer-based
28、 information systems External input types外部输入类型 External output types外部输出类型 Logical internal file types内部逻辑文件类型 External interface file types外部接口文件类型 External inquiry types外部查询类型5. Mark2功能点中,For each transaction, count UFP UFP的计算 data items input (Ni) data items output (No) entity types accessed (Ne
29、)UFP count = Ni * 0.58 + Ne * 1.66 + No * 0.26 6. COCOMO: a parametric model构造性成本模型:一个参数模型 Basic COCOMO的计算 effort = c x sizek (工作量 = c * 规模k)k次方 Effort was measured in pm工作量是按人月(pm)度量的,一个人月是由152个工时组成的 c and k depend on the type of system: organic有机式, semi-detached半相连式, embedded嵌入式 Size is measured i
30、n kdsi . Thousands of lines of code是指要交付的千行源代码指令System typeckOrganic (broadly, information systems)2.41.05Semi-detached 3.01.12Embedded (broadly, real-time)3.61.20第六章.1. Identifying activities标识活动三种基本方法及实现 Activity-based approach基于活动的方法p Creating a list of all the activities by brainstormingp Work-b
31、ased: draw-up a Work Breakdown Structure listing the work items neededp Each leaf in WBS may be assigned to an individual or responsible sectionp The WBS structure may be refined as the project proceeds 产生一个完整的且由不重叠的活动所组成的任务目录(见课件图) Product-based approach基于产品的方法p list the deliverable and intermediat
32、e products of project product breakdown structure (PBS)p A product flow diagram (PFD) is produced against PBS to identify the order in which products have to be createdp work out the activities needed to create the productsAppropriate for SSADM(见课件图) Hybrid approach混合方法p Level1: projectp Level2: del
33、iverablessoftware, manualsp Level3: componentsmodules, tests p Level4: work-packagescollections of related tasks to produce a componentLevel5: tasksresponsibility of a single person(见课件图)2)Critical path method (CPM)关键路径法 给定活动的前驱和后继画对应的活动节点图和活动网络图,构造活动节点图,活动网络图activity-on-node networkactivity-on-arro
34、w network (3)活动间四种链接关系:start-finish、finish-start、start-start、finish-finish(4)画正向遍历the forward pass和反向遍历the back pass算缓冲期float,找关键路径 Free float: difference between the earliest completion date for the activity and the earliest start date of the succeeding activity Interfering float: difference betwee
35、n total float and free float跨度:最早开始日期和最迟完成日期之间的差单词:周期Duration 缓冲slack5)通过活动-箭头图 正向遍历算每个事件的最早开始/结束日期 反向遍历算每个事件的最晚开始/结束日期6)缩短项目周期方法Shortening the project duration Near-critical path: those whose lengths are within 10-20% of the duration of the critical path or those with a total of less than 10% of pr
36、ojects uncompleted duration一般会考虑减少活动周期,如果想提前项目的结束日期,就要缩短关键活动的周期。通过增加网络中的并行工作量和排除瓶颈的办法来节省时间。在实践中通常会标识“准关键”路径。它是指那些长度在关键路径周期的10%20%之内或者总缓冲期少于未完成周期的10%的路径第七章2风险识别的三种方法:Use of checklists(检查单) Brainstorming(头脑风暴) Causal mapping(因果映射)3风险处理的方法接受风险;规避风险;缓解和降低风险;转移风险4PERT技术应用活动的期望周期t e = (a + 4m +b) / 6 a表示乐
37、观的时间 m表示最可能的时间 b表示悲观的时间活动的标准偏差 s=(b-a)/6正向遍历标准偏差期望日期目标日期事件号计算每个项目的标准偏差时若要把两个标准偏差相加,则必须把它们的平方相加,再算和的平方根。计算z值:z值是为每个有目标日期的节点计算的。Z =( T te ) / s T目标日期 te是期望日期 s是标准偏差并根据Z值在图中找概率:第八章1资源直方图(分配资源、条形图)作用、形式Allocate resource types to activities and examine the resource histogram给活动分配资源类型和检查资源直方图 2解决冲突的方法(res
38、ource clashs can be resolved by) delaying one of the activities 延迟某项活动 moving resource from a non-critical activity 将非关键活动的资源进行移动bringing in additional resource - increases costs 加入附加资源增加成本第九章1管理者需要得到进展信息的频度,依赖于项目的规模和风险级别,通常,级别越高,报告的频度越低,需要的细节也越少。2The project control cycle Regular monitoring to find
39、 out what is happening, and comparing it with current targets. 定期监控当前发生什么,把它和当前目标比较 If there is a mismatch, either replanning is needed or the target will have to be revised. 如果存在不匹配,或者需要重新计划或者不得不修正目标 Experience is gained to allow us to learn from past mistakes.经验的获得允许我们向过去的错误学习3收集项目进展数据有两方面:achieve
40、ments,costs4、Partial completion reporting 局部完成报告 Requesting information about likely slippage of completion dates as well as estimates of completeness请求关于完成日期的以及对完整的估计可能延误的信息 Weekly timesheet and progress review form周刊时间表和进展回顾状态5收集数据的方法实现Traffic-light method交通信号灯方法 Asking for the team members estima
41、tes of the likelihood of meeting the planned target date要求每个组员对达到计划目标数据的可能性进行评估 Identify key tasks确定做的一种方法中评估的关键要素(第一级) Break down into sub-tasks将这些关键要素分解为分量元素(第二级) Assess subtasks as:评估第二级的每个元素p Green on target绿色表示满足目标p Amber not on target but recoverable黄色表示不满足目标但可挽回p Red not on target and recover
42、able only with difficulty红色表示不满足目标而且挽回很困难 Status of critical tasks is particularly important状态为critical的任务尤其重要6 Visualizing progress 进展可视化 Gantt chart 甘特图 The simplest and oldest techniques for tracking project progress跟踪项目进程的最简单和最早的技术 Reported progress is recorded on the chartnormally by shading ac
43、tivity bars表中记录着所报告的进展,通常活动条形涂有阴影 The slip chart 延迟图 The more the slip line bends, the greater the variation from the plan更多的延迟线,表明计划有更多的改变 The project is improving if the subsequent slip lines bend less延迟线越弯曲,对计划偏离越大,后继延迟线弯曲小,表明项目有改进, A very jagged slip line indicates a need for rescheduling锯齿严重的延迟
44、线表明需要重新指定进度表 Ball chart 球形图 The circles indicate start and completion points for activities圆代表活动开始点和结束点 The circles initially contain the original scheduled dates最初每个圆包含了初始的计划日期 When revisions are produced, the revised date is added as second dates只要提出修订,第二个日期就会被添加到适当的圆中 When the relevant date occur
45、, the revised date is replaced 相应的日期取代这个修订的估计 Where the actual start or finish date for an activity is later than the target date, the circle is colored red在活动的实际开始或结束日期比目标日期要晚的地方,将圆标成红色 Where an actual date is on time or earlier than the target then the circle is colored green在活动的实际开始或结束日期比目标日期要早的地方,将圆标成绿色 The timeline 时间线 Recording and displaying the way in which targets have changed throughout the duration of the project记录和显示在项目期间目标的变更 Planned time is plotted along t
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100