SOFTWARE ENGINEERING
(Session 2)
AGENDA
· Project Management Concepts
o Managing People
o Managing Product
o Managing Process
o Managing Project
· W5H Principle of Boehm
· Critical Issues related to success
· Software Metrics , Size Oriented
· Software Metrics, Function Oriented
· Software Quality Metrics
· General Metric Issues
Project Management Concepts - I
· Things to be managed
o (People, Product, Process, Project).
· People
o PM-CMM (People Management CMM) : Attract, Grow, motivate, deploy, retain
o Senior Manager, Project Manager, Practitioner, Customer, End-Users
o Team Leader should motivate, organize, Inject ideas & Value innovations.
o Team can be
§ Democratic Decentralised
§ Controlled DeCentralised
§ Controlled Centralised
o Organisation Paradigms
§ Closed (Similar to past efforts)
§ Random (Innovation Oriented)
§ Open (Collaborative working)
§ Synchronous (Problem Division)
o Personal Communication can take precedence over formal communication
· Product
o Scope & Domain of services to be chosen.
o Features and performance criteria to be chosen.
o Problem to be decomposed to create separate measurement for components.
· Process
o The process model has to be chosen
o Each framework activity shall be related to group of tasks.
o Process decomposition is done in detail
Project Management Concepts - II
· Project
o Understand What can go wrong.
§ Understanding, scope, change management, technology, need change, deadline, user resistance, funding, skills, practices.
o First 90 % takes 90 % effort, rest 10 % takes again 90 % . (90-90 syndrome)
· BOEHM Approach ( W5HH)
o Write Details of
§ Why?
§ What?
§ When?
§ Who?
§ Where?
§ How to do?
§ How much resources?
· Critical Practices for organizational success.
o Risk Management
o Cost Schedule Estimation and tracking
o Metric principles
o Defect Analysis
o People and Program Management
Software Metrics - I
· Project Management process Layer includes
§ Objectives and scope
§ Measurement and metrics
§ Estimation
§ Risk Analysis
§ Schedule tracking and control
· Metric include the unit definition of
§ Productivity, Quality and Technical metrics w.r.t. size, function and human effort requirement
· Measurement types
§ Direct (Lines of code LOC, Execution Speed, Memory used)
§ Indirect (Complexity, Maintainability, Efficiency)
Software Metrics - II
· SIZE Oriented metrics
§ Productivity = KLOC/person-month
§ Quality = defect/KLOC
§ Cost = Amount/LOC
§ Documentation = pages/KLOC
§ LIMITATION: LOC method is language dependent, Efficient coding gets less money, pre-estimation is difficult, doesn’t work for non-procedural language.
· Function Oriented metrics
§ Indirect: based on function point approach.
§ Inputs, Outputs, Queries, Files, Interfaces are counted for degrees of complexities.
§ FP = total count x [ 0.65 + 0.01 x Sum (Fi) ]
§ Fi is calculated as degrees of complexity against a set of questions.
§ Productivity = FP/person-month
§ Quality = defect/FP
§ Cost = Amount/FP
§ Documentation = pages/FP
§ Another variation of this called FEATURE POINT METRICS also include algorithm as metric. FP is calculated by adding linear weights in this case.
§ LIMITATION: It is still quite subjective, FP is domain dependent, FP is indirect.
Software Quality Metrics
· Indirect Metrics
§ Program Complexity
§ Effective Modularity
· Direct Metrics
§ Program Size
§ Defect Reports
· Above relates to
§ Product Operation
§ Product Revision
§ Product Portability
· Measurement of
§ Correctness (defect/KLOC)
§ Maintainability (low Mean Time To Change MTTC)
§ Integrity ( Sum [ 1 – (Threat x (1-security))]
§ Usability (Skill required to learn, time to become efficient, productivity increase, attitude/perception of users)
General Metric Issues
· LOC & FP relationship is attempted for various languages.
§ Assembly , 300 LOC/FP
§ COBOL, 100 LOC/FP
§ FORTRAN, 100 LOC/FP
§ Pascal, 90 LOC/FP
§ Ada, 70 LOC/FP
§ OOP, 30 LOC/FP
§ 4GL, 20 LOC/FP
§ Code Generators, 15 LOC/FP
· Productivity Issues. The variation due to various factors are as follows.
§ People , 90%
§ Problems , 40%
§ Process , 50%
§ Product (Reliability and Performance Req.), 140%
§ Resources , 40%
· Understanding, that measurement is important for improvement is required.
· Start to make a measurement baseline now. This can be easily based on past projects.