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.