320 likes | 487 Views
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
E N D
SummarySEII-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
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
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
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
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
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
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
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
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
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
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
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
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
Lecture 14 – Web Application Design • Chapter 13, SE (Pressman) • WebAppquality • 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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