Mc9233 Software Engineering
Mc9233 Software Engineering
Mc9233 Software Engineering
L T P C 3 0 0 3
Software Engineering paradigms Waterfall Life cycle model Spiral Model Prototype Model fourth Generation Techniques Planning Cost Estimation Organization Structure Software Project Scheduling, Risk analysis and management Requirements and Specification Rapid Prototyping. UNIT II SOFTWARE DESIGN Abstraction Modularity Software Architecture Cohesion Coupling Various Design Concepts and notations Real time and Distributed System Design Documentation Dataflow Oriented design Jackson System development Designing for reuse Programming standards. UNIT III SOFTWARE METRICS Scope Classification of metrics Measuring Process and Product attributes Direct and Indirect measures Reliability Software Quality Assurance Standards. UNIT IV SOFTWARE TESTING AND MAINTENANCE Software Testing Fundamentals Software testing strategies Black Box Testing White Box Testing System Testing Testing Tools Test Case Management Software Maintenance Organization Maintenance Report Types of Maintenance. UNIT V SOFTWARE CONFIGURATION MANAGEMENT (SCM) & CASE TOOLS Need for SCM Version Control SCM process Software Configuration Items Taxonomy Case Repository Features. REFERENCES: 1. Roger S. Pressman, Software Engineering: A Practitioner Approach, Sixth edition, McGrawHill, 2005. 2. I. Sommerville, Software Engineering, Sixth Edition, Addison Wesley-Longman, 2004. 3. Pankaj Jalote, An Integrated approach to Software Engineering, Second Edition, Springer Verlag, 1997.
S.VEERASAMY CHETTIAR COLLEGEOF ENGINEERING AND TECHNOLOGY S. V. Nagar, Puliangudi 627 855. DEPARTMENT OF MASTER OF COMPUTER APPLICATION Academic year (2012-2013) Odd Semester ______________________________________________________________________ COURSE PLAN (Odd Semester 2012 2013) Subject Name Subject Code Name of the Staff Sem / Branch : SOFTWARE ENGINEERING : MC9233 : S. Charles Selvakumar : II/MCA
1).Pre-requisite: Basic knowledge about software engineering design and metrics, Software testing and maintenance 2).Objectives: To study the software engineering paradigms, Models and Techniques. To study software testing fundamentals and tools 3).Learning outcome and end use Students can gain the following: a. Basic knowledge of Software engineering b. Design and testing c. Software maintenance 4).List of Text Books: 1. Roger S. Pressman, Software Engineering: A Practitioner Approach, Sixth edition, McGrawHill, 2005 2. Edward W Kamen & Bonnies Heck, Fundamentals of Signals and Systems, Pearson Education, 2007. 3. I. Sommerville, Software Engineering, Sixth Edition, Addison WesleyLongman, 2004 4. Pankaj Jalote, An Integrated approach to Software Engineering, Second Edition, Springer Verlag, 1997 5).Web Resources 1. http://www.computer.org/Seweb/ 2. http://www.rspa.com/spi/ 3. http://www.construx.com/resource.htm 4. http://www.ics.uci.edu/~cliu1/sqa/
6).Lesson Plan S.No Topics to be Covered Text/ Ref Book UNIT-I INTRODUCTION Page number No of hrs required 2 2 1 1 2 2 1 Cumul ative hrs 2 4 5 6 8 10 11
1 2 3 4 5 6 7
Software Engineering paradigms T1 1-5 Waterfall Life cycle model, Spiral Model, T1 17-38 Prototype Model fourth Generation Techniques, Planning T1 191-192 Cost Estimation, Organization Structure T1 25-29 Software Project Scheduling, Risk analysis and T1 38-41 management Requirements and Specification T1 44-56 Rapid Prototyping T1 103-106 UNIT-II SOFTWARE DESIGN Abstraction , Modularity T1 186-211 Software Architecture T1 231-257 Cohesion, Coupling T1 284-332 Various Design Concepts and notations T1 654-692 Real time and Distributed System Design T1 693-694 Documentation, Dataflow Oriented design T1 695-696 Jackson System development T1 697-698 Designing for reuse, Programming standards. T1 700 UNIT-III SOFTWARE METRICS
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
2 1 2 1 1 1 1 2
13 14 16 17 18 19 20 22 23 24 25 27 28 30 32 34 35 39 41 42 44 45 46 47
Scope T2 117-121 1 Classification of metrics T2 124-126 1 Measuring Process and Product attributes T2 127-128 1 Direct and Indirect measures T2 90-102 2 Reliability T2 150-156 1 Software Quality Assurance T2 284-332 2 Standards. T2 693-705 2 UNIT-IV SOFTWARE TESTING AND MAINTENANCE Software Testing Fundamentals T3 14-22 2 Software testing strategies T3 27-33 1 Black Box Testing, White Box Testing, T3 58-71 4 System Testing T3 72-88 2 Testing Tools T3 41-66 1 Test Case Management T3 67-74 2 Software Maintenance Organization T3 75-77 1 Maintenance Report T3 78-80 1 Types of Maintenance T3 81-83 1 UNIT V SOFTWARE CONFIGURATION MANAGEMENT (SCM) & CASE TOOLS
32 33 34 35 36 37 38
Need for SCM Version Control SCM process Software Configuration Items Taxonomy Case Repository Features
T3 T3 T3 T3 T3 T3 T3
2 2 1 2 2 2 2
49 51 52 54 56 58 60
7).Monthly Test Portions: S.No Test portion. Test 1. UNIT-I &II-1/2 INTERNAL TEST-I 2. UNIT-III&II-1/2 INTERNAL TEST II 4 UNIT-V INTERNAL TEST-III 8).Assignments: 1. Requirements and Specification 2. Programming standards 3. Classification of metrics 4. Types of Maintenance 5. SCM process 9).Seminar topics 1. Abstraction 2. Modularity 3. Testing tools 4. Software Quality Assurance 5. Case Tools QUESTION BANK 1) Define Software Engineering. 2) What is a Process Framework? 3) What are the Generic Framework Activities? 4) Define Stakeholder. 5) How the Process Model differ from one another? 6) Write out the reasons for the Failure of Water Fall Model? 7) What are the Drawbacks of RAD Model? 8) Why Formal Methods are not widely used? 9) What is Cross Cutting Concerns? 10) What are the different Phases of Unified Process? 11) Define the terms: a) Agile Methods b) Agile Process
12) Define the terms: a) Agility b) Agile Team 13) What is the Use of Process Technology Tools? 14) Define the term Scripts. 15) What is the Objective of the Project Planning Process? 16) What are the Decomposition Techniques? 17) How do we compute the Expected Value for Software Size? 18) What is an Object Point? 19) What is the difference between the Known Risks and Predictable Risks? 20) List out the basic principles of software project scheduling? 21) What are the Classifications of System Engineering? 22) List out the Elements in Computer-Based System? 23) What are the Factors to be considered in the System Model Construction? 24) What does a System Engineering Model accomplish? 25) What Architectures are defined and developed as part of BPE? 26) What is meant by Cardinality and Modality? 27) What are the Objectives of Requirement Analysis? 28) What are the two additional feature of Hayley Pirbhai Model? 29) Define System Context Diagram[SCD] and System Context Diagram[SCD]. 30) Define System Flow Diagram [SFD]? 31) What are the Requirements Engineering Process Functions? 32) What are the Difficulties in Elicitation? 33) List out the Types of Traceability Table? 34) Define Quality Function Deployment [QFD]? 35) What are the Benefits of Analysis Pattern? 36) What is System Modeling? 37) Define CRC Modeling? 38) List out the Factors of Data Modeling? 39) Define Swim Lane Diagram? 40) What are the Selection Characteristics for Classes? 41) Define Steps in Behavioral Model. 41) Define the terms in Software Designing. 42) How the Architecture Design can be represented? 43) What is the Advantage of Information Hiding? 44) What types of Classes does the designer create? 45) What is Coupling? 46) What is Cohesion? 47) Define Refactoring. 48) What are the Five Types of Design classes? 49) What are the Different types of Design Model? Explain. 50) List out the Different elements of Design Model? 51) What are the Types of Interface Design Elements? 52) What Types of Design Patterns are available for the software Engineer? 53) Define Framework. 54) What is the Objective of Architectural Design?
55) What are the important roles of Conventional component within the Software Architecture? 56) What are the Basic Design principles of Class-Based Components? 57) What should we consider when we name components? 58) What are the Different Types of Cohesion? 59) What are the Different Types of Coupling? 60) What is Program Design Language [PDL]? 61) What are the Basic Principles of Software Testing? Write Basic Principles of Software Testing. 62) List out the Characteristics of Testability of Software? 63) List out various Methods for finding Cyclomatic Complexity? 64) Define Smoke Testing? 65) What are the Attributes of Good Test? 65) Define White Box Testing. 66) Define Basic Path Testing. 67) Define the terms. 68) What is Behavioral Testing? 69) What are the Benefits of conducting Smoke Testing? 70) What errors are commonly found during Unit Testing? 71) What problems may be encountered when Top-Down Integration is chosen? 72) What are the Steps in Bottom-Up Integration? 73) What is Regression Testing? 74) What are the Characteristics of Critical Module? 75) What are the Properties of Connection Matrices? 76) What is Flow Graph Notation? 77) Define Cyclomatic Complexity? 78) What is Equivalence Partition? 79) List out the possible errors of Black Box Testing? 80) Define Data Objects. 81) What are the Components of the Cost of Quality? 82) What is Software Quality Control? 83) What is Software Quality Assurance? 84) What are the Objectives of Formal Technical Reviews? 85) What Steps are required to perform Statistical SQA? 86) Define SQA Plan. 87) What is a Baseline criterion in SCM? 88) Define Status Reporting? 89) What is the Origin of changes that are requested for software? 90) List out the Elements of SCM? 91) What are the Features supported by SCM? 92) What are the Objectives of SCM Process? 93) What are the issues to be considered for developing tactics for WebApp Configuration Management? 94) Define CASE Tools. 95) How do we define Software Quality? 96) Define the terms.
97) What are the Types of CASE Tools? 98) Define Software Reliability? 99) How the Registration process of ISO 9000 certification is done? 100) what are the Factors of Software Quality?
UNIVERSITY QUESTIONS M.C.A DEGREE EXAMINATION, MAY/JUNE 2007. Third Semester MC 1703 SOFTWARE ENGINEERING (Regulation 2005) Time : Three hours Maximum: 100 marks Answer ALL questions. PART A (10x2 = 20 marks) 1. What is the main criterion for deciding whether or not to use the waterfall model in software development project? 2. Give the model of extreme programming process. 3. State the reason why software requirements elicitation is difficult. 4. How does state diagram represent the behavior of a computer based system? 5. Differentiate dynamic model and functional models. 6. What is control coupling? 7. What is alpha test and beta test? 8. State the problem that are encountered when top-down integration is chosen. 9. What is base line? 10. What is version control? PART B (5 x 16 = 80 marks) 11. (a) (i) Describe the spiral model of software development. (10) (ii) State the advantage and disadvantages of the evolutionary model of software development. (6) (Or) (b) Discuss the following agile process models (i) Adaptive software development and its life cycle. (6) (ii) Dynamic systems development (5) (iii) Serum. (5) 12. (a) Describe the seven distinct functions of requirements engineering task. (16) (Or) (b) Explain the different models used for analysis. Explain the sub model with an example. (16)
13. (a) Discuss the various steps involved in transform mapping and transaction mapping. (16)
(Or) (b) Explain the various design principles that enable an interface to reduce the users memory load (ii) make the interface consistent. (16) 14. (a) Discuss the various tests to be conducted for system testing. (16) (Or) (b) Describe how unit testing and integration testing is conducted for object oriented software. (16) 15. (a) Write short notes on : (i) Cost impact of software defect (4) (ii) defect amplification and removal (4) (iii) software reliability (4) (iv) change control. (4) (Or) (b) Write short notes on : (i) software configuration management (6) (ii) software quality assurance (5) (iii) quality standards. (5) MC 1703 SOFTWARE ENGINEERING Third Semester ( Regulation 2005) Time : Three hours Maximum : 100 marks Answer All questions. PART A ( 10 x 2 = 20 marks ) 1. Write the approaches for software process assessment. 2. What is the difference between systems engineering and software engineering? 3. Identify the actors and use cases in a general banking problem. 4. List out the requirements validation techniques. 5. What is OCL? What is the use of it in Object-Oriented design? 6. Enumerate the fundamental software design concepts 7. How do you define cyclomatic complexity? 8. Define testability? 9. Name the measures for reliability in software. 10. Differentiate between Errors and Defects. PART B (5 X 16 = 80 marks) 11. (a) Categories the iterative models for software process. Explain each of them in detail. (16) (Or) (b) What are the different types of agile process models? Explain the
characteristics of each of them in detail. (16) 12. (a) (i) Explain the factors to be considered for system modeling. (8) (ii) Which of the UML diagrams are useful for system modeling. With a suitable example explain. (8) (Or) (b) (i) List out the analysis modeling approaches. (2) (ii) With suitable examples and required diagrammatic representation explain the following: 1. Scenario based modeling. (7) 2. Behavioral modeling. (7) 13. (a) Explain in detail about the pattern based software design. (16) (Or) (b) (i) Define cohesion and coupling. Explain the various types in each of them. (8) (ii) Elaborate the rules for good use interface design. (8) 14. (a) (i) Explain the various system testing methods. (8) (ii) Write notes on testing of real time environments. (8) (Or) (b) (i) Explain the variations in testing for OO environment. (8) (ii) Assume a problem and derive the test cases for it using the method equivalence partitioning. (8) 15. (a) (i) Write notes on statistical software quality assurance. (8) (ii) Write notes on software safety. (8) (Or) (b) Explain in detail about the software configuration management layered activities.
M.C.A DEGREE EXAMINATIONS,NOVEMBER/DECEMBER2009. THIRD SEMISTER MC1703-SOFTWARE ENGINEERING (REGULATIONS 2007) PART A-(10*2=20 marks)
1.List out the four fundamental process activities. 2.State the objectives of Throw-away prototyping. 3.What are deliverable?Give examples. 4.Use-cases are better than flow chart in understanding the user requirements-why? 5.Define the term Component. 6.What is Refinement? 7.State what Functional testing is not concerned with,and what is concerned with? 8.What is validation plan?
9.What is a software test plan?Discuss. 10.Relate defects and quality. PART B-(5*16=80 marks) 11. (a) "The details of the project plan vary depending on the type of project and organization".List out and discuss the details that will be contained in almost all plans.(16) (or) (b) Perform a comparitive study between the Water Fall Model and Spiral Model. (16) 12.(a) Prepare a Software Requirements Specification document for a Library Management System.State the problem definition,Business Rules and any assumptions you make. (16) (or) (b) Develop a Use Case diagram for a Library Management Syetem.State the problem Definition,Business Rules and any assumptions you make.(16) 13. (a) (i) With relevant examples discuss the following levels of cohesion: (1) Coincidential cohesion (2) Logical cohesion (8) (ii)Explain the following levels of cohesion with relevent example. (1)Temporal cohesion (2)Procedural cohesion. (8) (or) (b) (i) With relevant example discuss the following levels of coupling: (1)Content coupling (2)Control coupling (8) (ii)With a relevant example discuss the following levels of coupling: (1)Stamp coupling (2)Data coupling (8) 14. (a) Describe various White Box Testing Techniques. (or) (b) Discuss the following Testing Techniques: (i) Integration Testing (8) (ii) Alpha Testing (4) (iii) Beta Testing. (4) 15. (a) (i) What is Software Configuration Management?Justify the need for Software Configuration Management. (8) (ii)List and discuss the various Software Configuration items. (8) (or) (b) What is software quality assurance?List and discuss the various software quality assurance standards. (16)