32
Summary SEII-Lecture 32 Dr. Muzafar Khan Assistant Professor Department of Computer Science CIIT, Islamabad.

Chapter 1, SE (Pressman) and Chapter 1, IT Project Management (Schwalbe) Software/ software engineering IT project failure / investment Project / program

Embed Size (px)

Citation preview

Page 1: Chapter 1, SE (Pressman) and Chapter 1, IT Project Management (Schwalbe) Software/ software engineering IT project failure / investment Project / program

SummarySEII-Lecture 32

Dr. Muzafar KhanAssistant ProfessorDepartment of Computer ScienceCIIT, Islamabad.

Page 2: Chapter 1, SE (Pressman) and Chapter 1, IT Project Management (Schwalbe) Software/ software engineering IT project failure / investment Project / program

2

Lecture 1 - Introduction

• Chapter 1, SE (Pressman) and Chapter 1, IT Project Management (Schwalbe)

• Software/ software engineering• IT project failure / investment• Project / program• Project and portfolio management• Project management framework• Project success factors• Successful organizations and managers• Suggested skills for project managers

Page 3: Chapter 1, SE (Pressman) and Chapter 1, IT Project Management (Schwalbe) Software/ software engineering IT project failure / investment Project / program

3

Lecture 2 – Project Management and Information Technology Context

• Chapter 2, IT Project Management (Schwalbe)• Systems Philosophy– Business, organization, technology

• Organization frames– Structure, HR, political, symbolic

• Project life cycle– Concept, development, implementation, close-out

Page 4: Chapter 1, SE (Pressman) and Chapter 1, IT Project Management (Schwalbe) Software/ software engineering IT project failure / investment Project / program

4

Lecture 3 – Project Integration Management

• Chapter 4, IT Project Management (Schwalbe)• Recent trends in IT projects– Globalization, outsourcing, and virtual teams

• Project management process groups– Initiating, planning, executing, monitoring and

control, and closing processes• Project integration management– Key processes and the relevant discussion

Page 5: Chapter 1, SE (Pressman) and Chapter 1, IT Project Management (Schwalbe) Software/ software engineering IT project failure / investment Project / program

5

Lecture 4 – Project Scope Management• Chapter 5, IT Project Management (Schwalbe)• Collecting requirements– Different methods

• Defining scope– Estimates for all resources

• Creating the WBS– Different approaches

• Verifying scope– Formal acceptance

• Controlling scope– Change control

Page 6: Chapter 1, SE (Pressman) and Chapter 1, IT Project Management (Schwalbe) Software/ software engineering IT project failure / investment Project / program

6

Lecture 5 & 6 – Project Time Management [1/2]• Chapter 6, IT Project Management (Schwalbe)• Defining activities

– Activity list containing activity name, identifier, attributes, and brief description• Sequencing activities

– determining the dependencies – Mandatory, discretionary, external– evaluating the reasons for dependencies

• Estimating activity resources– list of activity resource requirements, resource breakdown structure, project

document updates• Estimating activity durations

– Duration VS effort, activity duration estimates– Three point estimates

• Developing the schedule– Project schedule, Gantt charts

Page 7: Chapter 1, SE (Pressman) and Chapter 1, IT Project Management (Schwalbe) Software/ software engineering IT project failure / investment Project / program

7

Lecture 5 & 6 – Project Time Management [2/2]• Developing the schedule

– Tracking Gantt charts• Critical path method

– Longest path, earliest time• Schedule trade-offs using CPM

– Free slack, total slack• Shortening the schedule

– Crashing, fast tracking• Critical chain scheduling

– Availability of critical resources, project and feeding buffer• Controlling the schedule

Page 8: Chapter 1, SE (Pressman) and Chapter 1, IT Project Management (Schwalbe) Software/ software engineering IT project failure / investment Project / program

8

Lecture 7 – Project Cost Management

• Chapter 7, IT Project Management (Schwalbe)• Basic Concepts

– Cost, profit, profit margin, direct and indirect costs, sunk cost, learning curve theory

• Estimating costs– Rough Order of Magnitude, budgetary, and definitive cost

estimates• Cost estimation tools and techniques

– Top-down and bottom-up estimates, and parametric modeling– Problems related to IT project costs estimates

• Determining and controlling budget– Earned Value Management

Page 9: Chapter 1, SE (Pressman) and Chapter 1, IT Project Management (Schwalbe) Software/ software engineering IT project failure / investment Project / program

9

Lecture 8 – Project Quality ManagementProject Communication Management

• Chapter 8 & 10, IT Project Management (Schwalbe)• Project quality management– Planning quality– Performing quality assurance– Performing quality control

• Project communication management– Identifying stakeholders– Planning communications– Distributing information– Managing stakeholder expectations– Reporting performance

Page 10: Chapter 1, SE (Pressman) and Chapter 1, IT Project Management (Schwalbe) Software/ software engineering IT project failure / investment Project / program

10

Lecture 9 – Project Risk Management

• Chapter 11, IT Project Management (Schwalbe)• Basic concepts

– Risk, positive/negative risk management, Risk utility / tolerance (risk averse, risk seeking, risk neutral)

• Planning risk management– Risk management plan, contingency and fallback plans

• Identifying risks– Brainstorming, Delphi technique, interviewing, SWOT analysis, checklists, risk

registers• Performing qualitative and quantitative risk analysis• Planning risk responses

– Risk avoidance, risk acceptance, risk transference, risk mitigation, Risk exploitation, Risk sharing

• Monitoring and controlling risks

Page 11: Chapter 1, SE (Pressman) and Chapter 1, IT Project Management (Schwalbe) Software/ software engineering IT project failure / investment Project / program

11

Lecture 10 – Software Design

• Chapter 8, SE (Pressman)• Design, goal of design, design process in SE context, • Process of design– Quality guidelines and attributes

• Evolution of software design process– Procedural, object-oriented, aspect-oriented

• Design concepts– Abstraction, architecture, pattern, information hiding,

separation of concerns, refactoring, design classes

Page 12: Chapter 1, SE (Pressman) and Chapter 1, IT Project Management (Schwalbe) Software/ software engineering IT project failure / investment Project / program

12

Lecture 11 & 12 – User Interface Design [1/2]• Chapter 11, SE (Pressman)• Importance of user interface design

– Useful, useable, used• Three golden rules

– Place the user in control– Reduce the user’s memory load– Make the interface consistent

• Analysis and design process– Interface analysis and modeling – Interface design– Interface construction – Interface validation

Page 13: Chapter 1, SE (Pressman) and Chapter 1, IT Project Management (Schwalbe) Software/ software engineering IT project failure / investment Project / program

13

Lecture 11 & 12 – User Interface Design [2/2]• Interface analysis

– User analysis, task analysis and modeling, analysis of display content and work environment

• Interface design steps• Design issues

– System response time, user help facilities, error information handling, menu and command labeling, application accessibility, internationalization

• Web application design interface guidelines– Anticipation, communication, consistency, controlled autonomy,

efficiency, flexibility, focus, Fitt’s law, learnability, readability, metaphors

• Design Evaluation

Page 14: Chapter 1, SE (Pressman) and Chapter 1, IT Project Management (Schwalbe) Software/ software engineering IT project failure / investment Project / program

14

Lecture 13 – Pattern-Based Design

• Chapter 12, SE (Pressman)• Patterns, effective design patterns• Describing patterns• Types of patterns– Architecture, data, component, interface design, and

webapp patterns– Creational, structural, and behavioral patterns

• Design tasks• User interface design patterns

Page 15: Chapter 1, SE (Pressman) and Chapter 1, IT Project Management (Schwalbe) Software/ software engineering IT project failure / investment Project / program

15

Lecture 14 – Web Application Design

• Chapter 13, SE (Pressman)• WebApp quality– Usability, functionality, reliability, efficiency, maintainability,

security, availability, scalability, time-to-market• Content quality– Scope, depth, background, authority, currency, stability,

• Design goals of WebApp– Simplicity, consistency, identity, robustness, navigability, visual

appeal, compatibility • WebApp design– Interface, aesthetic, navigation, and architecture design

Page 16: Chapter 1, SE (Pressman) and Chapter 1, IT Project Management (Schwalbe) Software/ software engineering IT project failure / investment Project / program

16

Lecture 15 – Software Quality

• Chapter 14, SE (Pressman)• Multi-aspects concept

– Transcendental view, user view, manufacturer’s view, product view, value-based view

• Software quality– Effective software process, useful product, add value for producer

and user of a software product• Software quality models

– Garvin’s quality dimensions, McCall’s quality factors, ISO 9126 quality model

• Software quality dilemma• Achieving software quality

Page 17: Chapter 1, SE (Pressman) and Chapter 1, IT Project Management (Schwalbe) Software/ software engineering IT project failure / investment Project / program

17

Lecture 16 – Review Techniques

• Chapter 15, SE (Pressman)• Software reviews• Cost impact of software defects• Defect amplification model• Review metrics and their use– Preparation effort (Ep), assessment effort (Ep), Rework effort (Er),

work product size (WPS), minor errors found (Errminor), major errors found (Errmajor)

• Formal and informal reviews– Review meeting, review reporting and record keeping, review

guidelines

Page 18: Chapter 1, SE (Pressman) and Chapter 1, IT Project Management (Schwalbe) Software/ software engineering IT project failure / investment Project / program

18

Lecture 17 – Software Quality Assurance• Chapter 16, SE (Pressman)• Elements of software quality assurance– Standards, reviews and audits, testing, error collection and

analysis, change management, education, vendor management, security management, safety, risk management

• SQA tasks• Goals, attributes, metrics– Requirements quality, design quality, code quality, quality

control effectiveness• Statistical quality assurance• Software reliability

Page 19: Chapter 1, SE (Pressman) and Chapter 1, IT Project Management (Schwalbe) Software/ software engineering IT project failure / investment Project / program

19

Lecture 18 & 19 – Testing Web Applications [1/2]

• Chapter 20, SE (Pressman)• Quality dimensions– Content, function, structure, usability, navigability,

performance, compatibility, interoperability, security• Testing strategy• Content testing• Database testing• User interface testing– Testing interface mechanisms, usability tests,

compatibility tests

Page 20: Chapter 1, SE (Pressman) and Chapter 1, IT Project Management (Schwalbe) Software/ software engineering IT project failure / investment Project / program

20

Lecture 18 & 19 – Testing Web Applications [2/2]• Component-level testing– Equivalence partitioning, boundary value analysis, path testing

• Navigation testing– Testing navigation syntax and semantics

• Configuration testing– Server-side and client-side issues

• Security testing– Firewall, authentication, encryption, authorization

• Performance testing– Load and stress testing

Page 21: Chapter 1, SE (Pressman) and Chapter 1, IT Project Management (Schwalbe) Software/ software engineering IT project failure / investment Project / program

21

Lecture 20 & 21 – Software Configuration Management [1/2]

• Chapter 22, SE (Pressman)• Change management• Software configuration management• SCM scenario• Elements of SCM– Component, process, construction, and human elements

• SCM repository• SCM process– Identification of objects

Page 22: Chapter 1, SE (Pressman) and Chapter 1, IT Project Management (Schwalbe) Software/ software engineering IT project failure / investment Project / program

22

Lecture 20 & 21 – Software Configuration Management [2/2]

• Version control– Project repository, version management capability,

make facility, issue/bug tracking• Change control• Configuration audit– compliments technical reviews

• Status reporting• Configuration management for WebApp– Content, people, scalability, politics

Page 23: Chapter 1, SE (Pressman) and Chapter 1, IT Project Management (Schwalbe) Software/ software engineering IT project failure / investment Project / program

23

Lecture 22 & 23 – Product Metrics [1/2]• Chapter 23, SE (Pressman)• Measurement and quality assessment• Framework for product metrics

– Measure, measurement, and metrics– Formulation, collection, analysis, interpretation, feedback– Principles for metrics characterization and validation

• Metrics for requirements model– Function-based metrics– Metrics for specification quality

• Metric for design model– Architectural design metrics– Metric for object-oriented design

Page 24: Chapter 1, SE (Pressman) and Chapter 1, IT Project Management (Schwalbe) Software/ software engineering IT project failure / investment Project / program

24

Lecture 22 & 23 – Product Metrics [2/2]• Class-oriented metrics

– Weighted methods per class, depth of the inheritance tree, number of children, coupling, response for class, lack of cohesion

• Component-level design metrics– Cohesion, coupling, and complexity

• Operation-oriented metrics– Average operation size, operation complexity average number of

parameters per operation• Design metrics for WebApps• Metrics for source code• Metrics for object-oriented testing• Metrics for maintenance

Page 25: Chapter 1, SE (Pressman) and Chapter 1, IT Project Management (Schwalbe) Software/ software engineering IT project failure / investment Project / program

25

Lecture 24 & 25 – Software Process Improvement [1/2]• Chapter 30, SE (Pressman)• Software process improvement• Framework for SPI• SPI support groups, maturity and immaturity models• Assessment and gap analysis• Education and training• Selection and justification• Installation / migration• Evaluation• Risk management• Critical success factors

Page 26: Chapter 1, SE (Pressman) and Chapter 1, IT Project Management (Schwalbe) Software/ software engineering IT project failure / investment Project / program

26

Lecture 24 & 25 – Software Process Improvement [2/2]• CMMI– Continuous as well as staged model

• CMMI capability levels– Incomplete, performed, managed, defined, quantitatively

managed, optimized• Example – process area– Specific goals and practices, general goals and practices

• Other SPI frameworks– SPICE, Bootstrap, TickIT, PSP, TSP

• SPI return on investment• SPI trends

Page 27: Chapter 1, SE (Pressman) and Chapter 1, IT Project Management (Schwalbe) Software/ software engineering IT project failure / investment Project / program

27

Lecture 26 & 27 – Software Reengineering [1/2]• Chapter 29, SE (Pressman)• Unified theory of software evolution• Reengineering

– Business process reengineering and software reengineering• BPR model

– Business definition, process identification, Process evaluation, process specification and design, prototyping, refinement and instantiation

• Software reengineering process model– Inventory analysis, document restructuring, reverse engineering,

code restructuring, data restructuring, forward engineering• Reverse engineering

Page 28: Chapter 1, SE (Pressman) and Chapter 1, IT Project Management (Schwalbe) Software/ software engineering IT project failure / investment Project / program

28

Lecture 26 & 27 – Software Reengineering [2/2]

• Restructuring– Code restructuring, data restructuring

• Forward engineering– Client-server architectures, object-oriented

architectures• Economics of reengineering– Cost benefit analysis

• Software reuse– Benefits of reuse

Page 29: Chapter 1, SE (Pressman) and Chapter 1, IT Project Management (Schwalbe) Software/ software engineering IT project failure / investment Project / program

29

Lecture 28 & 29 – Software Reuse [1/2]• Chapter 16, SE (Sommerville)• Problems with reuse

– Increased maintenance costs; lack of tool support; not-invented-here syndrome; creating, maintaining, and using a component library

• The reuse landscape– Application frameworks, legacy system wrapping, service-oriented

systems, software product lines, COTS product reuse• Key factors for reuse

– Development schedule, expected software lifetime, background, skills, and experience of development team, criticality of software and its non-functional requirements, application domain, system platform

• Application frameworks• Software Product lines

Page 30: Chapter 1, SE (Pressman) and Chapter 1, IT Project Management (Schwalbe) Software/ software engineering IT project failure / investment Project / program

30

Lecture 28 & 29 – Software Reuse [2/2]• COTS product reuse• Benefits of COTS product reuse• Problems with COTS product reuse• COTS-solution systems• ERP systems– Architecture of ERP systems– Limitations of reuse

• Configuration of COTS-solution systems• COTS-integrated systems– Problems with COTS-integrated systems

Page 31: Chapter 1, SE (Pressman) and Chapter 1, IT Project Management (Schwalbe) Software/ software engineering IT project failure / investment Project / program

31

Lecture 30 & 31 – Component-Based Software Engineering [1/2]• Chapter 17, SE (Sommerville)• Component-based software engineering• Essentials of CBSE

– Independent components, component standards, middleware, development process

• Characteristics of components– Standardized, independent, composable, deployable, documented

• Elements of component model– Interfaces, usage, deployment

• CBSE processes– Development for reuse, development with reuse– Component acquisition, management, and certification

Page 32: Chapter 1, SE (Pressman) and Chapter 1, IT Project Management (Schwalbe) Software/ software engineering IT project failure / investment Project / program

32

Lecture 30 & 31 – Component-Based Software Engineering [2/2]

• CBSE for reuse• Possible Changes and other factors• Software Process• Component composition– Sequential, hierarchical, and additive composition

• Components incompatibility– Parameter and operational incompatibility,

operational incompleteness• Trade-offs