This document contains summaries for 5 courses related to software engineering:
1. CP7301 covers software development processes like PSP, TSP and agile processes. It discusses requirements management techniques like QAW and documentation.
2. CP7022 covers software design principles like abstraction and modularity. It addresses object oriented, pattern-based and service-oriented designs.
3. CP7026 discusses software quality assurance like verification, testing and quality models. It outlines techniques for test generation, structural testing and functional testing.
4. CP7029 introduces storage technologies, architectures, networked storage options, information availability techniques and datacenter management and security best practices.
5. CP7022 focuses on
This document contains summaries for 5 courses related to software engineering:
1. CP7301 covers software development processes like PSP, TSP and agile processes. It discusses requirements management techniques like QAW and documentation.
2. CP7022 covers software design principles like abstraction and modularity. It addresses object oriented, pattern-based and service-oriented designs.
3. CP7026 discusses software quality assurance like verification, testing and quality models. It outlines techniques for test generation, structural testing and functional testing.
4. CP7029 introduces storage technologies, architectures, networked storage options, information availability techniques and datacenter management and security best practices.
5. CP7022 focuses on
This document contains summaries for 5 courses related to software engineering:
1. CP7301 covers software development processes like PSP, TSP and agile processes. It discusses requirements management techniques like QAW and documentation.
2. CP7022 covers software design principles like abstraction and modularity. It addresses object oriented, pattern-based and service-oriented designs.
3. CP7026 discusses software quality assurance like verification, testing and quality models. It outlines techniques for test generation, structural testing and functional testing.
4. CP7029 introduces storage technologies, architectures, networked storage options, information availability techniques and datacenter management and security best practices.
5. CP7022 focuses on
This document contains summaries for 5 courses related to software engineering:
1. CP7301 covers software development processes like PSP, TSP and agile processes. It discusses requirements management techniques like QAW and documentation.
2. CP7022 covers software design principles like abstraction and modularity. It addresses object oriented, pattern-based and service-oriented designs.
3. CP7026 discusses software quality assurance like verification, testing and quality models. It outlines techniques for test generation, structural testing and functional testing.
4. CP7029 introduces storage technologies, architectures, networked storage options, information availability techniques and datacenter management and security best practices.
5. CP7022 focuses on
Overview of software development life cycle introduction to processes Personal Software Process (PSP) Team software process (TSP) Unified processes agile processes choosing the right process Tutorial: Software development using PSP UNIT II REQUIREMENTS MANAGEMENT 9 Functional requirements and quality attributes elicitation techniques Quality Attribute Workshops (QAW) analysis, prioritization, and trade-off Architecture Centric Development Method (ACDM) requirements documentation and specification change management traceability of requirements Tutorial: Conduct QAW, elicit, analyze, prioritize, and document requirements using ACDM UNIT III ESTIMATION, PLANNING, AND TRACKING Identifying and prioritizing risks risk mitigation plans estimation techniques use case points function points COCOMO II top-down estimation bottom-up estimation work breakdown structure macro and micro plans planning poker wideband delphi documenting the plan tracking the plan earned value method (EVM) Tutorial: Estimation, planning, and tracking exercises UNIT IV CONFIGURATION AND QUALITY MANAGEMENT identifying artifacts to be configured naming conventions and version control configuration control quality assurance techniques peer reviews Fegan inspection unit, integration, system, and acceptance testing test data and test cases bug tracking causal analysis Tutorial: version control exercises, development of test cases, causal analysis of defects UNIT V SOFTWARE PROCESS DEFINITION AND MANAGEMENT Process elements process architecture relationship between elements process modeling process definition techniques ETVX (entry-task-validation-exit) process baselining process assessment and improvement CMMI Six Sigma Tutorial: process measurement exercises, process definition using ETVX REFERENCES: 1. Pankaj Jalote, Software Project Management in Practice, Pearson, 2002. 2. Chris F. Kemerer, Software Project Management Readings and Cases, McGraw Hill, 1997. 3. Watts S. Humphrey, PSP: A self-improvement process for software engineers, Addison-Wesley, 2005. 4. Watts S. Humphrey, Introduction to the Team Software Process, Addison-Wesley, 2000. 5. Orit Hazzan and Yael Dubinsky, Agile software engineering, Springer, 2008. 6. James R. Persse, Process Improvement Essentials, OReilly, 2006. 7. Roger S. Pressman, Software Engineering A Practitioners Approach, Seventh Edition, McGraw Hill, 2010.
CP7022 SOFTWARE DESIGN
UNIT I SOFTWARE DESIGN PRINCIPLES Introduction Design process Managing complexity Software modeling and notations Abstraction Modularity Hierarchy Coupling - Cohesion Design guidelines and checklists Refactoring UNIT II OO DESIGN Object model Classes and objects Object oriented analysis Key abstractions and mechanisms Object oriented design Identifying design elements Detailed design Case studies. UNIT III DESIGN PATTERNS Introduction to patterns Design context Reusable solutions Documenting reusable solutions Standard patterns from GOF book. UNIT IV FUNCTION AND SERVICE ORIENTED DESIGNS Structural decomposition Detailed Design Function oriented design Case study Services Service identification Service design Service composition choreography and orchestration Service oriented design Case study UNIT V USER CENTERED DESIGN AND DESIGN REVIEW Introduction to user centered design Use in context Interface and interaction User centered design principles Task analysis Evaluation Introduction to design review Testing the design Walk throughs Review against check lists. REFERENCES: 1. Grady Booch et al., "Object Oriented Analysis and Design with Applications", 3rd Edition, Pearson, 2010. 2. Carlos Otero, "Software Engineering Design: Theory and Practice", CRC Press, 2012 3. David Budgen, "Software Design", 2nd Edtion, Addison Wesley, 2003 4. Alan Shalloway and James R Trott, "Design Patterns Explained: A New Perspective on Object-Oriented Design", 2nd Edition, Addison-Wesley Professional, 2004 5. Hassan Gomaa, "Software Modeling and Design", Cambridge University Press, 2011 6. Eric Gamma et al., "Design Patterns: Elements of Reusable Object-Oriented Software", Addison- Wesley Professional, 1994 7. Ian Sommerville, "Software Engineering", 9th Edition, Addison-Wesley, 2010 8. M B Rosson and J M Carroll, "Usability Engineering: Scenario-Based Development of Human- Computer Interaction", Morgan Kaufmann, 2002
CP7026 SOFTWARE QUALITY ASSURANCE UNIT I INTRODUCTION Introduction Views on quality Cost of quality - Quality models Quality frameworks Verification and Validation Defect taxonomy Defect management Statistics and measurements IEEE standards Quality assurance and control processes UNIT II VERIFICATION Introduction Verification techniques Inspections, reviews, walk-throughs Case studies UNIT III TEST GENERATION Software testing- Validation Test plan Test cases - Test Generation Equivalence partitioning Boundary value analysis Category partition method Combinatorial generation - Decision tables Examples and Case studies UNIT IV STRUCTURAL TESTING Introduction Test adequacy criteria Control flow graph Coverages: block, conditions, multiple conditions, MC/DC, path Data flow graph Definition and use coverages C-use, P-use, Def-clear, Def- use Finite state machines Transition coverage Fault based testing Mutation analysis Case studies UNIT V FUNCTIONAL TESTING Introduction Test adequacy criteria - Test cases from use cases Exploratory testing - Integration, system, acceptance, regression testing Testing for specific attributes: Performance, load and stress testing Usability testing Security testing - Test automation Test oracles
REFERENCES: 1. Boriz Beizer, "Software Testing Techniques", 2nd Edition, DreamTech, 2009. 2. Aditya P. Mathur, "Foundations of Software Testing", Pearson, 2008 3. Mauro Pezze and Michal Young, "Software Testing and Analysis. Process, Principles, and Techniques", John Wiley 2008 4. Stephen H. Kan, "Metrics and Models in Software Quality Engineering", 2nd Edition, Pearson, 2003 5. Kshirasagar Naik and Priyadarshi Tripathy (Eds), "Software Testing and Quality Assurance: Theory and Practice", John Wiley, 2008 6. "Combinatorial Methods in Software Testing", ttp://csrc.nist.gov/groups/SNS/acts/index.html
CP7029 INFORMATION STORAGE MANAGEMENT UNIT I INTRODUCTION TO STORAGE TECHNOLOGY Review data creation and the amount of data being created and understand the value of data to a business, challenges in data storage and data management, Solutions available for data storage, Core elements of a data center infrastructure, role of each element in supporting business activitie UNIT II STORAGE SYSTEMS ARCHITECTURE Hardware and software components of the host environment, Key protocols and concepts used by each component ,Physical and logical components of a connectivity environment ,Major physical components of a disk drive and their function, logical constructs of a physical disk, access characteristics, and performance Implications, Concept of RAID and its components, Different RAID levels and their suitability for different application environments: RAID 0, RAID 1, RAID 3, RAID 4, RAID 5, RAID 0+1, RAID 1+0, RAID 6, Compare and contrast integrated and modular storage systems ,Iligh-level architecture and working of an intelligent storage system UNIT III INTRODUCTION TO NETWORKED STORAGE Evolution of networked storage, Architecture, components, and topologies of FC-SAN, NAS, and IP-SAN, Benefits of the different networked storage options, understand the need for long-term archiving solutions and describe how CAS full fill the need, understand the appropriateness of the different networked storage options for different application environments UNIT IV INFORMATION AVAILABILITY, MONITORING & MANAGING DATACENTER List reasons for planned/unplanned outages and the impact of downtime, Impact of downtime - Differentiate between business continuity (BC) and disaster recovery (DR) ,RTO and RPO, Identify single points of failure in a storage infrastructure and list solutions to mitigate these failures, Architecture of backup/recovery and the different backup/ recovery topologies, replication technologies and their role in ensuring information availability and business continuity, Remote replication technologies and their role in providing disaster recovery and business continuity capabilities. Identify key areas to monitor in a data center, Industry standards for data center monitoring and management, Key metrics to monitor for different components in a storage infrastructure, Key management tasks in a data center UNIT V SECURING STORAGE AND STORAGE VIRTUALIZATION Information security, Critical security attributes for information systems, Storage security domains, List and analyzes the common threats in each domain, Virtualization technologies, block-level and file-level virtualization technologies and processes
REFERENCE BOOKS: 1. EMC Corporation, Information Storage and Management, Wiley, India. 2. Robert Spalding, Storage Networks: The Complete Reference, Tata McGraw Hill , Osborne, 2003. 3. Marc Farley, Building Storage Networks, Tata McGraw Hill ,Osborne, 2001. 4. Additional resource material on www.emc.com/resource-library/resource-library.esp