Lecture-32 CSC392 Dr. Muzafar Khan

Summary
SEII-Lecture 32
Dr. Muzafar Khan
Assistant Professor
Department of Computer Science
CIIT, Islamabad.
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
2
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
3
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
4
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
5
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
6
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
7
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
8
Lecture 8 – Project Quality Management
Project 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
9
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
10
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
11
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
12
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
13
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
14
Lecture 14 – Web Application
Design
• Chapter 13, SE (Pressman)
• WebApp quality
– Usability, functionality, reliability, efficiency,
maintainability, security, availability, scalability, time-tomarket
• 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
15
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
16
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
17
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
18
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
19
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
20
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
21
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
22
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
23
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
24
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
25
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
26
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
27
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
28
Lecture 28 & 29 – Software
Reuse [1/2]
• Chapter 16, SE (Sommerville)
• Problems with reuse
– Increased maintenance costs; lack of tool support; not-inventedhere 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
29
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
30
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
31
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
32