Chapter 5 Product planning

Slides:



Advertisements
Similar presentations
新目标初中英语 七年级下册. Unit 8 I’d like some noodles. Section B Period Two.
Advertisements

高考短文改错专题 张柱平. 高考短文改错专题 一. 对短文改错的要求 高考短文改错的目的在于测试考生判断发现, 纠正语篇中 语言使用错误的能力, 以及考察考生在语篇中综合运用英 语知识的能力. 二. 高考短文改错的命题特点 高考短文改错题的形式有说明文. 短文故事. 书信等, 具有很 强的实用性.
期末考试作文讲解 % 的同学赞成住校 30% 的学生反对住校 1. 有利于培养我们良好的学 习和生活习惯; 1. 学生住校不利于了解外 界信息; 2 可与老师及同学充分交流有 利于共同进步。 2. 和家人交流少。 在寄宿制高中,大部分学生住校,但仍有一部分学生选 择走读。你校就就此开展了一次问卷调查,主题为.
智慧老伯的一席話 原稿 : 溫 Sir 中譯 : 老柳 A man of 92 years, short, very well- presented, who takes great care in his appearance, is moving into an old people’s.
考研英语复试 口语准备 考研英语口语复试. 考研英语复试 口语准备 服装 谦虚、微笑、自信 态度积极 乐观沉稳.
英语中考复习探讨 如何写好书面表达 宁波滨海学校 李爱娣. 近三年中考试题分析 评分标准 试卷评分与练习 (2009 年书面表达为例 ) 影响给分的因素: 存在问题 书面表达高分技巧 建议.
8 Click.
如何与客户有效沟通 外贸团队销售及管理实战培训 浙江艾力斯特健康科技有限公司
2014 年上学期 湖南长郡卫星远程学校 制作 13 Getting news from the Internet.
第8章 组织中的人员配备 问题与思考: 海信集团使用“空降兵”,海尔集团与宝洁公司 则不使用空降兵。各自的道理何在?与器官移植 有哪些异同点? 在中低端饭店行业,何种绩效管理模式能使员工 的行为与企业的长远利益相一致?桃源大酒店、 城南往事和微山湖鱼馆的案例。 公司是不是员工的家?该不该是员工的家?
专题八 书面表达.
Business English Reading
How can we become good leamers
Today – Academic Presentation 学术报告
真题重现:广东高考中的不定式。 1 (2008年高考题)For example, the proverb,“ plucking up a crop _________(help) it grow ,” is based on the following story… 2 (2007年高考题)While.
授課老師: 郭育仁 教授 報告人:黃詠芯 曾暇茵 組員: 沈宗穎 蘇俊旭 孔博仁
Scrum 实践.
摘要的开头: The passage mainly tells us sth.
Welcome Welcome to my class Welcome to my class!.
Homework 4 an innovative design process model TEAM 7
Unit 4 I used to be afraid of the dark.
Been During the Vacation?
Module 5 Shopping 第2课时.
HOW TO ACE -- THE IELTS SPEAKING TEST
Logistics 物流 昭安國際物流園區 總經理 曾玉勤.
Guide to Freshman Life Prepared by Sam Wu.
課務組 Curriculum Section
创建型设计模式.
G10 PARENT MEETING COURSE SELECTION 高一选课家长会 PRESENTED BY B
製程能力分析 何正斌 教授 國立屏東科技大學工業管理學系.
This Is English 3 双向视频文稿.
The Wise Old Man 智慧老伯的一席話 原稿: 溫Sir 中譯 : 老柳 中譯潤稿:風刀雨箭
Oxford English Module 3 Out and about 8 Visiting museums.
客户服务 询盘惯例.
Lesson 44:Popular Sayings
Maths at Harrow: 在哈罗学习数学
Try to write He Mengling Daqu Middle School.
Could you please clean your room?
基于课程标准的校本课程教学研究 乐清中学 赵海霞.
Review Final Chinese 2-Chapter 6~10-1
解读设题意图,探究阅读策略 年高考试卷题型(阅读理解)分析及对策
SectionA(Grammar Focus-4c)
IBM SWG Overall Introduction
資料結構 Data Structures Fall 2006, 95學年第一學期 Instructor : 陳宗正.
Have you read Treasure Island yet?
Unit 8 Our Clothes Topic1 What a nice coat! Section D 赤峰市翁牛特旗梧桐花中学 赵亚平.
Unit 5 Reading A Couch Potato.
Guide to a successful PowerPoint design – simple is best
BORROWING SUBTRACTION WITHIN 20
中国科学技术大学计算机系 陈香兰 2013Fall 第七讲 存储器管理 中国科学技术大学计算机系 陈香兰 2013Fall.
虚 拟 仪 器 virtual instrument
The Wise Old Man 智慧老伯的一席話 原稿: 溫Sir 中譯 : 老柳
中央社新聞— <LTTC:台灣學生英語聽說提升 讀寫相對下降>
-----Reading: ZhongGuanCun
关联词 Writing.
績效考核 一.績效考核: 1.意義 2.目的 3.影響績效的因素 二.要考核什麼? 三.誰來負責考核? 四.運用什麼工具與方法?
高考应试作文写作训练 5. 正反观点对比.
TEEN CHALLENGE Next Steps 核心价值观总结 CORE VALUES 青年挑战核心价值观
____________________________________
8 Click.
UNIT THREE Chapter Outline
8Click.
Resources Planning for Applied Research
The Wise Old Man 智慧老伯的一席話 原稿: 溫Sir 中譯 : 老柳
常州市教育学会学业水平监测 九年级英语试卷分析 常州市第二十四中学 许喆 2012年2月.
怎樣把同一評估 給與在不同班級的學生 How to administer the Same assessment to students from Different classes and groups.
8 Click.
991 中大英語自學小組 English Study Group
英语口译 4 Education and Campus 大学英语教学部 向丁丁.
Sun-Star第六届全国青少年英语口语大赛 全国总决赛 2015年2月 北京
Presentation transcript:

Chapter 5 Product planning

In the chapter How to use time log data to make product plan; Job Number Log(作业编号日志) Track historical product data 山东大学齐鲁软件学院

The need for product plans Making plans had a dramatic effect. Planning is a critical part of a software engineer’s job To be an effective engineer,you need to know how to make plans The key is practice! Start making plan now! 山东大学齐鲁软件学院

Purpose of product plan Help you judge how much time the work will take and when you will finish. Plans also help you track progress while doing the work. When you’re among a team, you need product plan to coordinate your work on joint products. Businesses use product plan to plan and manage their work---to estimate, to schedule. A well-made plan includes a project cost estimate. 山东大学齐鲁软件学院

Purpose of product plan Engineers use product plan to understand project status. Judge where a project stands against the plan When engineers make plans, they can better organize their time and avoid last time crises 山东大学齐鲁软件学院

What is a product plan? A properly produced product plan includes three things: The size and important features of the product to be produced; An estimate of the time required to do the work; A projection of the schedule. Planning for large and small tasks Three basic plan elements: size estimates, projected hours, and the schedule.(规模估计、项目时间、项目日程) 山东大学齐鲁软件学院

Product planning in this book Product planning is a skill that can be improved with practice. Develop your planning skills. The most basic product plan would consist of only the estimate of time needed to do a task or job. By gathering data in the past,you can predict how long similar tasks will likely take in the future. 山东大学齐鲁软件学院

Some definitions Product: is something you produce for a co-worker, an employer or a customer. Project: typically produce a product. Task: is a defined element of work. Process: describe the way do the project. Plans: describe the way a specific project is to be done. How, when and at what cost Job: is something you do, either a product or a task. 山东大学齐鲁软件学院

Job number log See Table 5.1 (p49) for the format of Job number log. See table 5.2 (p50)for an example of Job number log which extract data from table 5.3(p51) Time log. Understanding meanings of each item in table 5.1, see Table 5.4 (p52). 山东大学齐鲁软件学院

【作业编号日志】 作业号 日期 过程 估 计 数 据 实 际 数 据 累 计 数 据 时间 单元 平均值 最大值 最小值 描述: 累 计 数 据 时间 单元 平均值 最大值 最小值   描述: 山东大学齐鲁软件学院

作业编号日志 作业编号日志是一份产品计划文档,是记录生产产品时估计的和实际的时间数据的一种工具。 作业编号日志中用到的时间数据来自于时间记录日志。 山东大学齐鲁软件学院

山东大学齐鲁软件学院

Job number log .vs. time recording log Job number log:designed to record estimated and actual time data, it deal with product data. time recording log and weekly activity summary contain data on weekly period, they are period planning documents. 山东大学齐鲁软件学院

山东大学齐鲁软件学院

Some suggestions on using the job number log When to guess(猜测) and when to estimate(估计) The first jobs of a given type, you have to guess since there is no perior data. In estimating the time for a new job, you may use the To Date Rate for the most recent perior job of the same type. Add a column of Job # in the Time Recording Log. 山东大学齐鲁软件学院

Using Job number log to make a plan for next week To estimate the times for the next week product, look in Job number Log and get most recent product time and to date rates data of the same type work and then make an estimate by that data. Considering the new features of the new job that different to old jobs of the same type. 山东大学齐鲁软件学院

使用作业编号日志制定基本的产品计划 假设现在要编写两个程序,其中一个程序比以前做过的任何一个程序都复杂,另一个为中等难度,试估计编写这两个程序所要用的时间。 查看作业编号日志,这里记录着编写前三个程序的平均时间是113.7分钟,最长时间是158分钟。 中等难度的程序大约会用2小时即120分钟; 比较复杂的程序至少要用158分钟甚至更长的时间。为了保险起见,假定这个复杂的程序要用3.5个小时即210分钟; 这两个程序的编程时间预计一共需要120+210=330分钟。 山东大学齐鲁软件学院

Balanced estimate (均衡估计) A balanced set of estimates has about as many overestimates as underestimate. The advantage of having balance estimates is that on average your jobs will take about as long as you estimated. The key to good estimating, however, is to learn to make balanced estimates. 山东大学齐鲁软件学院

summary When completed, the job number log provides the average,maximum, and minimum times taken to complete each of your project so far. You can use this information to plan work for the next week. 山东大学齐鲁软件学院

Assignment 5 Record job number log for the work you will do for this course. Using your daily time logs to complete these forms. 山东大学齐鲁软件学院

Chapter 6 Product size

This chapter describe How to: Size measurement Size estimate More precise measure 山东大学齐鲁软件学院

The product planning process Making plan for each job you do 审查相似项目数据 原来花的时间 Compare the plan with actually did Better understand the errors Learn how to make better plans Improper estimation is one of the principle reasons for project failures. 山东大学齐鲁软件学院

山东大学齐鲁软件学院

Size measurement 平均阅读速率=337/77=4.38min/页 根据章的规模和以前的平均阅读速率(以分钟/页为单位)来进行估计,就有可能作出比较准确的估计。 山东大学齐鲁软件学院

Some cautions on using size measure should consider the type of work ,not just its size. Depending on intent read .vs. quick skim Productivities for different kinds of work will be quite different. Reuse,modify… Keep separate size and time records for the different kinds of work. 山东大学齐鲁软件学院

Program Size measurement LOC (Lines of code) JCL—Job Control Language (可交付的作业控制语言) Include: Statements, data define, data declaration, input/output formats define etc. Exclude: Comments, empty lines. The following C program has 3 LOC. if(a>b) max=a; else max=b; printf(“The max number is%d\n”,max); LOC指所有的可执行的源代码行数,包括可交付的工作控制语言(JCL:Job Control Language)语句、数据定义、数据类型声明、等价声明、输入/输出格式声明等。。组织可以根据对历史项目的审计来核算组织的单行代码价值。 山东大学齐鲁软件学院

LOC用于公司统计 一代码行(1LOC)的价值和人月均代码行数可以体现一个软件生产组织的生产能力 例如,某软件公司统计发现该公司每一万行C语言源代码形成的源文件(.c和.h文件)约为250K。某项目的源文件大小为3.75M,则可估计该项目源代码大约为15万行,该项目累计投入工作量为240人月,每人月费用为10000元(包括人均工资、福利、办公费用公滩等),则: 该项目中1LOC的价值为:   (240×10000)/150000=16元/LOC 该项目的人月均代码行数为:   150000/240=625LOC/人月 山东大学齐鲁软件学院

Program Size measurement Consistent in the way you write program. 风格一致 Adopt a standard format. Track the minutes/LOC rate and base estimates on the rate achieved with your most recent 5~10 programs. 能力不断提高 山东大学齐鲁软件学院

Program Size measurement 山东大学齐鲁软件学院

Size categories(1) Base When an existing product is enhanced, base LOC is the size of the original product version before any modifications are made. Added The code written for a new program or added to an existing base program. Modified The modified LOC is that base code in an existing program that is changed. 山东大学齐鲁软件学院

Size categories(2) Deleted The deleted LOC is that base code in an existing program that is deleted. New and Changed When engineers develop software, it takes them much more time to add or modify a LOC than it does to delete or reuse one. Thus, in the PSP, engineers use only the added or modified code to make size and resource estimates. This code is called the New and Changed LOC. 山东大学齐鲁软件学院

Size categories(3) Reused The code that is taken from a reuse library and used without modification in a new program or program version. Reuse does not count the unmodified base code retained from a prior program version and it does not count any code that is reused with modifications. New reuse The new reuse measure counts the LOC that an engineer develops and contributes to the reuse library. Total The total LOC is the total size of a program, regardless of the source of the code. 山东大学齐鲁软件学院

重用代码的估算问题 估计可重用代码量的最好办法就是由程序员或系统分析员详细地考查已存在的代码,估算出新项目可重用的代码中需重新设计的代码百分比、需重新编码或修改的代码百分比以及需重新测试的代码百分比。根据这三个百分比,可用下面的计算公式计算等价新代码行: 等价代码行 = [(重新设计% +重新编码% +重新测试%)/3]× 已有代码行 比如:有10,000行代码,假定30%需要重新设计,50%需要重新编码,70%需要重新测试,那么其等价的代码行可以计算为: [ (30% + 50% + 70%)/3 ]× 10,000 = 5,000 等价代码行。 意即:重用这10000代码相当于编写5000代码行的工作量。 山东大学齐鲁软件学院

Size accounting N&C LOC = Added + Modified Total LOC = Base – Deleted + Added + Reused Note that neither the modified nor the “new reuse” LOC are included in the total. A modified LOC can be represented by a deleted and an added LOC; The “new reuse” LOC are already accounted for in the added LOC. 山东大学齐鲁软件学院

Size accounting-Example A product of 100,000 LOC were used to develop a new version 12,000 LOC of deleted code; 23,000 LOC of added code; 5,000 LOC of modified code; 3,000 LOC of reused code N&C LOC = Added + Modified = 23,000 + 5,000 = 28,000 LOC Total = 100,000 – 12,000 + 23,000 + 3,000 = 114,000 LOC 山东大学齐鲁软件学院

LOC calculation Formatted source code LOC calculation LOC/K KLOC= 1000 LOC 山东大学齐鲁软件学院

LOC’s limits LOC’s limits It is defined on code. For example it cannot measure the size of specification, development documents, program resources (Menu, Dialog, String table) etc. It characterize only one specific view of size, namely length, it takes no account of functionality or complexity. Bad software design may cause excessive line of code. It is language dependent. Users cannot easily understand it. 山东大学齐鲁软件学院

Other size measures Industrial software development involves documentation count only the LOC you develop and not the LOC generated by the programming aids The principal objective is to estimate development work 山东大学齐鲁软件学院

Size estimate Notice two different meanings of size estimate Just size estimate Time estimate or effort estimate Historical data about size measurement Size measurement based on classification of program structures Consideration of the difficulties of the estimating program for time estimate Algorithm, code reuse, technology etc. Not like pages for reading Effort Estimation Hardly a single software engineer has escaped the need to estimate how long it would take them to produce some product—be it a module of code, a design specification, or a series of cases. However, the question posed to the practicing engineer typically takes the form of Can you have it done by next week?” rather than a request for an honest evaluation of how much effort is required. The intuition-based algorithms in the mind of most seasoned software engineers are typically the result of years of experience, putting their reputation and credibility the line with supervisors. PSP helps engineers in this environment by arming them with effort estimation data. In section, data are used to test the following hypothesis: As engineers progress through the PSP training, their effort estimates grow closer to the actual effort expended for the entire life cycle. More specifically, with the introduction of a statistical technique (linear regression) in PSP level 1, there is a notable improvement in the accuracy of engineers’ effort estimates. 山东大学齐鲁软件学院

Size estimating based on classification of program structures See table 6.3 for small program size measurement records 山东大学齐鲁软件学院

Estimating program size First, examine the requirements for the program to be developed. Then , rank the new program’s relative size among the programs you have already written. Finally, based on your opinion of where the new program will likely fall in this historical size range,estimate its likely LOC. 山东大学齐鲁软件学院

Table 6.4, 6.5 for large program 山东大学齐鲁软件学院

较大程序规模的估计 首先查看新程序的需求; 建立起构造此程序的策略,此程序由一个repeat-until循环、一个简单的选择语句和一个简单的计算组成;分别估计 在作估计时,不能完全肯定各个程序的规模,所以对每个功能都估计出一个最小规模、一个最大规模和一个平均规模。假定该程序的最大规模值是这些典型功能的规模值之和,即11+14+20=45LOC;取最大规模值的一半作为该程序的最小规模值;最后取最大规模值和最小规模值的中点作为该程序的平均规模值  没有任何方法可以保证估计的结果一定准确。规模估计是一种技能。作出好的规模估计的关键是要有大量的历史数据(组织成库),要进行多次规模估计,并且要定期的将实际结果与估计值作比较。 山东大学齐鲁软件学院

Using size measurement and estimate in Job Number log Record size measurement data in time recording log and job number log Using historical statistic data to estimate 对照前面表格学习,P69 山东大学齐鲁软件学院

山东大学齐鲁软件学院

山东大学齐鲁软件学院

Conclusion Concept of size measurement and size estimate LOC and size accounting Size estimate method based on the classification of program functions/structures. 山东大学齐鲁软件学院

Assignment 6 Taking account of unit in Time Recording Log and Job Number Log in later programming or reading text job, and make an estimation before doing a home work. 山东大学齐鲁软件学院