Download presentation
Presentation is loading. Please wait.
1
BUS-119A Lecture #11 dbg SJSU 4/7/2006 - Homework #2 is due today - “Effort” to produce a Product i.e.. Staffing - Complexity – key: the Number of interactions - Effort by Project Phase (Design, Test, etc) - Optimal Module size (for large products) - Homework #3 assigned, due next week.
2
Effort over Time and Modularization - Project Needs in resources (workforce) first increase then decrease over time - Number of people on a project peaks prior to shipping the product - Module size needs to be limited (complexity) - Complexity of interactions - Interactions between people and teams - Interactions between modules in a product
3
Complexity Depends on Number Of Items Project with more people is more complex Product with more modules is more complex INTERACTION (I) OF N=6 ITEMS: 4 3 5 6 2 1 I=N*(N-1)/2 I=6*5/2=15 I ~ K* N**2
4
Six Items: CENTRALIZED and HIERARCHICAL 4 3 5 6 2 1 I=N-1 I=6-1=5 interactions CENTRALIZED HIERARCHICAL 4 3 5 6 2 1 I=1+2*(N-1) I=1+2*2=5 interactions One Manager Two Team Leaders
5
Workforce profile Over Project Time Putnam's formula: S=Spending per month or per week (mostly cost of the workforce) D= Time when number of people on the project reaches its peak (Sp) Ts=Time when the product is ready to ship which is at time when S falls to Sp/2 Te= Time when product reaches "End of Life" K=Total spending over life of the project is equal to the area under the curve S=(K*t/D**2)*e(-t**2/(2*D**2))
6
putnam.123 dbg 11/7/00 K=60, D=6
8
Staffing over Time Project needs 8 (Person*Years) effort. How to estimate staff size by month: Rectangular Distribution # of people working each month 8 time in months 12 Rectangular Distribution # of people working each month 8 time in months 12 Rectangular Distribution # of people working each month 8 time in months 12 # of people working each month 8 time in months 12 8 time in months 12 Triangular Distribution 6 time in months 16 staffing.prz dbg 11/7/00 16
9
Effort Distribution by Product Phase Approximate ratio of Phase Cost to Cumulative cost to ship time (varies by project and by experience of the team): - Requirements 8%8 - Fn. Spec 6%14 - Logic6%20 - Module design12%32 - Coding13%45 - Unit Testing13%58 - Function Test24%82 - System Test12%94 - User Documentation 6%100% - Total effort on project=100%
10
Optimal Module Size - Tradeoff between: - Intramodule Complexity and - Intermodule Complexity - Small modules (50 LOC) result in a large number of modules (for a large product). - Large modules (1000 LOC) result in a hard to understand module and to maintain (service) it. - Optimum is around 200 LOC/Module Example: A product estimated to be 50 KLOC = 50,000 LOC should have around M=50,000 [LOC]/200 [LOC/Mod]=500/2 [Mod]=250 modules.
11
Homework #3 due at next lecture (a) In homework #2 you determined the size of your product that is measured in LOC and then you calculated the Effort (in Person*Months or PY) that is needed to develop the product. Now we learned that the workforce increases and then decreases over project time (use triangular distribution). Determine (a1) what will be the the peak number of employees on the project and (a2) At what time from the beginning of the project is that peak reached? (b) How many modules will have to be written if we use the optimal module size stated in the lecture? (c) Assuming effort distribution over phases as stated in the lecture, how much effort i.e (how many Person*Months) would be needed for Coding your product?
12
Example of Estimation for Software Projects If a product size is estimated at: 12,300 LOC and Productivity is 2KLOC/PY then the effort is E=(12.3 KLOC)/(2KLOC/PY)=6.1 PY If the project needs to be completed in 6 months, then we need 12.3 people working on it for 6 mo. Assuming triangular workforce distribution we need a peak workforce of 24.6=25 people at the time 3 months from the start of the project. Number of modules is 12.3[KLOC]/.2[KLOC/Mod] = =61.5 [Mod]=62 Modules. The effort for coding is =.13*6.1 PY=.79 PY or =.79 [P*Y] * 12 [Mo/Yr] = 9.48 PM or about 10 PM.
13
Factors used in grading HW#3 HW#3 (Total 40 points): 1. Any of 3 parts final result wrong: up to -10 points. 2. Extraneous or wrong: up to -3 points. 3. Not rounding up/down like: # of modules or # of persons: to -3 pts. 4. PY without PM : loss of 6 points. 5. Any missing unit = -3 points 6. A day late (after 3PM) = -10% 7. Multiply instead of divide (arithmetic errors): -3 points. 8. Calculation not shown, every missing statement: -3 points. 9. Peak staff (Max number of employees) (3 vs. 6 months): -3 points. 10. Other – as encountered.
14
Product Abilities – Function and Quality are the key Acceptability - Interest and need of customers to get a product and use it. Adaptability - Change in one component does not require extensive changes in others. Applicability - Match between functional claims that product offers and customer needs. Assistability - Degree to which a product helps customers in doing certain tasks. Availability - Percent of time that a product is able to run out of all required time Capability - Functionality or Ability (FUNCTION) This is the key ability Feasibility - Likelihood of achieving objectives (or requirements) Flexibility - System's ability to adapt to changing requirements. Functionality - Systems scope of functions it can perform (ex. Sort, Print etc.) Installability - How easy it is to install the product Interoperability - Ability of the different HW and SW to work in unison Maintainability - Ability to modify, understand and test when changes are needed. Modularity - Product built in a way where change in one module has minimal impact on others. Performance - Primarily speed of transfer or processing. It may mean all "abilities". Reliability - Time or frequency that the system or program failing (QUALITY) Reusability - Ability of products to be used in new systems or with heavy modifications. Portability - Ability of a product to run on different hardware and different operating systems Profitability - Ratio of (Revenue-Cost)/Cost Serviceability - Ease of repair. Depends on built in debugging facilities and documentation. Usability - Nature of the product where user can easily install, learn and use the product. Upgradeability - Ease of adding an increase in a resource. Example going from 1 GBY to 2 GBY. Viability – Likelihood of making the product a success A special “Trio” popular in industry: RAS = Reliability, Availability, and Serviceability --- end of Lecture #11 ---
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.