How To Understand Software Engineering



Similar documents
IT3205: Fundamentals of Software Engineering (Compulsory)

IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3

Karunya University Dept. of Information Technology

IT2404 Systems Analysis and Design (Compulsory)

PESIT- Bangalore South Campus Hosur Road (1km Before Electronic city) Bangalore

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

A Case study based Software Engineering Education using Open Source Tools

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

COURSE CODE : 4072 COURSE CATEGORY : A PERIODS / WEEK : 4 PERIODS / SEMESTER : 72 CREDITS : 4

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: (Computer Programming 2).

CS 487. Week 8. Reference: 1. Software engineering, roger s. pressman. Reading: 1. Ian Sommerville, Chapter 3. Objective:

CS6403-SOFTWARE ENGINEERING UNIT-I PART-A

SOFTWARE ENGINEERING INTERVIEW QUESTIONS

GUJARAT TECHNOLOGICAL UNIVERSITY, AHMEDABAD, GUJARAT. COURSE CURRICULUM COURSE TITLE: FUNDAMENTALS OF SOFTWARE DEVELOPMENT (Code: )

Software Engineering Question Bank

To introduce software process models To describe three generic process models and when they may be used

Classical Software Life Cycle Models

How To Model Software Development Life Cycle Models

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

(Refer Slide Time: 01:52)

What is a life cycle model?

Frank Tsui. Orlando Karam. Barbara Bernal. State. University. Polytechnic. Ail of Southern JONES & BARTLETT LEARNING

Certified Software Quality Engineer (CSQE) Body of Knowledge

CS4507 Advanced Software Engineering

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

Unit 1 Learning Objectives

Elite: A New Component-Based Software Development Model

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice

BAL2-1 Professional Skills for the Business Analyst

Software Project Models

Essentials of the Quality Assurance Practice Principles of Testing Test Documentation Techniques. Target Audience: Prerequisites:

A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing.

Protect Your Organization With the Certification That Maps to a Master s-level Education in Software Assurance

CREDENTIALS & CERTIFICATIONS 2015

Chapter 7: Software Engineering

Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3

MANUAL TESTING. (Complete Package) We are ready to serve Latest Testing Trends, Are you ready to learn.?? New Batches Info

CMSC 435: Software Engineering Course overview. Topics covered today

Course Overview CEN 5035 Software Engineering

Component Based Development in Software Engineering

System development lifecycle waterfall model

An integrated life cycle quality model for general public market software products

Software Engineering. Software Testing. Based on Software Engineering, 7 th Edition by Ian Sommerville

Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology

SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur

International Journal of Advance Research in Computer Science and Management Studies

Object-Oriented Systems Analysis and Design

Verification and Validation of Software Components and Component Based Software Systems

Software Engineering

Software Engineering Reference Framework

Software Processes. Topics covered

Title: Topic 3 Software process models (Topic03 Slide 1).

Plan-Driven Methodologies

COMP 354 Introduction to Software Engineering

Software Engineering UNIT -1 OVERVIEW

Effort Reduction in RUP using CRM for Project Development: Mapping the Best Practices of CRM into RUP

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

VAIL-Plant Asset Integrity Management System. Software Development Process

CSC 342 Semester I: H ( G)

Software Development Life Cycle (SDLC)

I219 Software Design Methodology

Software Processes. The software process. Generic software process models. Waterfall model. Waterfall model phases

Surveying and evaluating tools for managing processes for software intensive systems

Software testing. Objectives

Software Engineering. Software Development Process Models. Lecturer: Giuseppe Santucci

I. General Knowledge, Conduct, and Ethics (16 Questions)

Objectives. The software process. Basic software process Models. Waterfall model. Software Processes

Advanced Software Engineering. (Quad Credit) # 177.M2. Page 1 of 24

MSE-201 SOFTWARE PROJECT MANAGEMENT

CS 1632 SOFTWARE QUALITY ASSURANCE. 2 Marks. Sample Questions and Answers

Requirements Engineering Process

Quality Assurance Training Program

Process Models and Metrics

Body of Knowledge General Knowledge (16 questions) Quality principles Benefits of software quality Organizational and process benchmarking

Software Design Document (SDD) Template

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

Chapter 1 The Systems Development Environment

Certified Software Quality Engineer (CSQE) Body of Knowledge

Software Engineering. System Models. Based on Software Engineering, 7 th Edition by Ian Sommerville

Assuming the Role of Systems Analyst & Analysis Alternatives

SOFTWARE PROCESS MODELS

ICAPRG529A Apply testing techniques for software development

Project management. Organizing, planning and scheduling software projects

Software Processes. Coherent sets of activities for specifying, designing, implementing and testing software systems

Software Engineering. Session 3 Main Theme Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti

Applying 4+1 View Architecture with UML 2. White Paper

Software Engineering. Introduction. Lecturer: Giuseppe Santucci

Software Project Management Plan (SPMP)

Software Engineering. Objectives. Designing, building and maintaining large software systems

Chapter 2 Software Processes

Information Systems Development Process (Software Development Life Cycle)

Design Document Version 0.0

Maps between the 2016 CSQE BOK and the previous BOK

توصيف مقرر دراسي Description Course

ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN

Lecture 3 Software Development Processes

SAULTCOLLEGE OF APPLIED ARTS AND TECHNOLOGY SAULT STE. MARIE, ONTARIO COURSE OUTLINE

Transcription:

PESIT Bangalore South Campus Department of MCA SOFTWARE ENGINEERING 1. GENERAL INFORMATION Academic Year: JULY-NOV 2015 Semester(s):III Title Code Duration (hrs) SOFTWARE ENGINEERING 13MCA33 Lectures 52Hrs 2. COURSE PREREQUISITE Students should have understanding and grasping power of the theoretical concepts. 3. COURSE OBJECTIVES knowledge of basic SW engineering methods and practices, and their appropriate application; A general understanding of software process models such as the waterfall and evolutionary models. An understanding of the role of project management including planning, scheduling, risk management, etc. An understanding of software requirements and the SRS document. An understanding of different software architectural styles. An understanding of implementation issues such as modularity and coding standards. An understanding of approaches to verification and validation including static analysis, and reviews. An understanding of software testing approachs such as unit testing and integration testing. An understanding of software evolution and related issues such as version management.

An understanding on quality control and how to ensure good quality software. An understanding of some ethical and professional issues that are important for software engineers. development of significant teamwork and project based experience 4. COURSE OUTCOMES The student should be able to Analyze the problem and prepare Software requirement specification. Design, verify, validate, implement, apply, and maintain software systems. Demonstrate the ability to work effectively as a team member and/or leader in an ever-changing professional environment 5. FACULTY DETAILS Details Name Department Manjula.C.M.Prasad MCA Room Number 5 Phone No. 0-66186629 E-mail address manjulaprasad@pes. edu Contact Hours Office Hours 6. VENUE AND HOURS/WEEK All lectures will normally be held V/VI Floor. Lecture Hours/week: 4Hrs Page 2 of 13

7. MODULE MAP Class # 1 2 Chapter # UNIT 1: Overview Topics to be covered Introduction : Professional Software Development Attributes of good software, Software engineering diversity, IEEE/ ACM code of software engineering ethics, % of portions covered Referen ce Chapter Cumulati ve 5.76 5.76 3 case studies Software process models: waterfall, 4 incremental development, 5 reuses oriented 6 Process activities 7 Coping with change, 8 9 10 UNIT 2: Software Process & Agile Software Development The rational Unified process Agile methods Plan-driven and agile Development, 19.23 24.99 11 Extreme Programming, 12 Agile project management, 13 Scaling agile methods. 14 Functional and non functional requirements The software requirements document 15 16 UNIT 3: Requirements Requirements specification, 11.53 36.52 17 Engineering Requirements engineering processes, 18 Requirement elicitation and analysis, 19 Requirements validation, Requirements management 20 Context models, 67.28 Page 3 of 13

21 UNIT 4: Interaction models, 22 System Modeling, Structural models, 23 Architectural Behavioral models, Design & Design Model-driven 24 and engineering, 25 implementation Case studies 26 Software architecture: the role of software architecture 30.76 27 28 29 30 31 32 33 34 architectural views component and connector view, Architectural styles for C&C view, Documenting architectural.design: Design concepts, Function oriented design Function oriented design detailed design, detailed design, verification, 35 matrix (Complexity matrix for function oriented design), 36 37 UNIT 5: Components and component model, CBSE process 38 CBSE process 39 Component-based software engineering Component composition 40 UNIT 6: Distributed system issues, 41 Distributed Client-server computing, 42 Software engineering Architectural patterns for distributed systems 7.69 74.97 9.61 84.58 Page 4 of 13

43 Architectural patterns for distributed systems 44 Software as a service. 45 46 UNIT 7: Process planning, Effort estimation, Project scheduling and staffing 47 Planning a Software configuration software Project management plan, Quality plan 48 Risk Management, Project monitoring plan. 49 Testing fundamentals, 50 UNIT-8 Black-box testing, 51 Software Testing White-box testing, 52 Testing process 7.69 92.27 7.69 100.00 8. RECOMMENDED BOOKS/WEBSITES A. PRESCRIBED TEXTBOOK Ian Sommerville: Software engineering, 9th Edition, person Education Ltd., 2007 B. REFERENCE BOOKS a. Roger. S. Pressman: Software Engineering- A practitioners approach, 7 th edition, McGraw-Hill, 2007. b. Shari Lawrenca pfleeger, Joanne M. Atlee: software Engineering Theory and Practice, 3rd Edition, Pearson Education, 20 c. Waman S Jawadekar : Software Engineering Principles and practice, Tata McGraw Hill, 2004 C. WEBSITE 9. ASSESSMENT www.softwareengineeing-9.com A. WRITTEN EXAMINATION No. Of Questions 8 Main Questions Paper Structure No. of questions to be answered 5 Exams date Paper Duration 3 Hrs Total Marks 100 Pass Marks 40 Page 5 of 13

B. CONTINUOUS ASSESSMENT Weighting (%) Assignment(s): 5 Marks (10%) Seminar(s): 5 Marks (10%) Class Test(s): 5 Marks (10%) Overall 5 Marks Performace: (10%) Test(s): 30 Marks (60%) Total Marks: 50 Marks ASSIGNMENT(S) Assignment 1: Considering any problem, the student is asked to write the complete software requirement specification. Assignment 2: For the above problem designing through any tool and a part of implementation(any one module). Assignment 3: Testing is done through any testing tool. 10. QUESTION BANK Unit 1: Overview Objectives: The objective of this topic is to understand the Answers to key questions about Software Engineering Process and Product Ethical and professional issues. Concept of socio-technical systems, emergent properties and system engineering Organizations, people and computer systems 1. Define software product and software engineering (IEEE Def). 2. What is software? Explain attributes of good software. 3. Software is not merely a collection of programs- Is programming systems product. Elucidate. Page 6 of 13

4. What are the main phases in software development? 5. What are the key challenges in software engineering? 6. What are the goals and objectives in software engineering? 7. What are the stakeholders in software engineering? 8. What is the difference between computer science and software engineering? 9. What is the difference between software engineering and system engineering? 10. What is software process? 11. What are the characteristics of software process? 12. What is software process model? 13. What is cost of software engineering? 14. What is Computer Aided Software Engineering? Explain the salient features of IEEE code of Ethics for software 15. engineering professionals. 16. Discuss the social responsibilities of a software engineer. What are socio-technical systems? Discuss the characteristics 17. of socio-technical systems. What are the emergent properties of socio-technical systems? 18. Give examples. 19. Explain different phases of system engineering. 12 20. Discuss system procurement process. 21. Write an explanatory note on legacy system. Unit 2: Software Processes & Agile software development Objectives: The objective of this topic is to understand the Critical systems and system dependability. The Software Engineering Process activities Various Process Models- Case study and comparisons Rational Unified Process and Computer Aided Software Engineering 22. What are the most important aspects of dependability? Discuss. Explain the relationship between dependability and cost of 23. system development. Why it is impossible to design 100% 04 dependable system? Explain. What are the critical systems? Explain the classification of 24. critical systems. What are the critical systems? Explain the significance of 25. dependability in critical systems. Write short notes on: 26. i) Reliability 5*4 Page 7 of 13

ii) Availability iii) Safety iv) Security Explain different stages of software development life cycle. 27. Indicate the proportion of time spent in each stage of SDLC. What do you understand by software process model and its 28. significance? 29. Explain waterfall model giving its merits and drawbacks. 10 Explain evolutionary development method giving its merits and 30. demerits. 10 31. Discuss component-based software engineering. 32. What is process iteration? Explain incremental development. 10 33. 34. 35. Explain the spiral model with illustration. Write advantages and disadvantages. Explain the software specifications phase of software development What are the important activities in design phase of software development? 10 07 07 36. Explain the validation phase of software development. 37. Compare the software development models. 38. Discuss the risk management in spiral model. 39. Mention the drawbacks of each of the software development models. 40. Write a short note on CASE tools. 41. Explain different classification of CASE tools. 42. Explain Rational Unified Process in detail. 07 Unit 3: Requirements Engineering Objective: The objective of this topic is to understand the Various categories of software requirements Software requirements document Requirements Engineering process Requirements validation and management Distinguish between software requirement definition and 43. software requirement specification. 44. What is the need and characteristics of requirements? 04 Page 8 of 13

Distinguish between functional and non-functional 45. requirements. 46. Discuss the classification of non-functional requirements. What is the significance of non-functional requirements? 47. Explain. 04 48. What do you understand by user and system requirements? What are the problems associated with natural language used 49. during requirements engineering? Mention the alternatives to natural languages. 50. Explain Structured Language Specifications. 04 51. Explain the structure of a software requirement document. Describe the aim and characteristics of a good software 52. requirement document. What are the metrics for specifying the non-functional 53. requirements? 04 Explain the major activities of requirements Engineering phase 54. of software development. 55. Distinguish between enduring and volatile requirements. Describe the process of requirement elicitation and analysis 56. with illustration. 57. What are the different methods of requirements discovery? 03 58. Discuss method Viewpoints in requirements discovery. 07 59. Discuss method Interviewing in requirements discovery. 60. 61. 62. Write a note on a) Use-case b) Sequence diagram Write a note on c) Ethnography. d) Need of feasibility studies Why is it very difficult to produce a complete and consistent set of requirements? 63. List and explain various techniques of requirements validation. 64. What is the need of requirements management? 65. Write a short note on requirements change management. 04 CHAPTER 4: System Modeling, Architecutral Design & Design implementation. Objectives: The objective of this topic is to understand the Page 9 of 13

Various system models Concepts of behavior modeling, data modeling and object modeling Management activities Project planning and scheduling Risk management What is a context model? Draw context model for library 66. system. How is the data flow diagram advantageous in requirements 67. 04 analysis process? Explain. 68. Draw a data flow diagram for a library giving brief explanation. Develop a zero level and first level DFD for ATM with suitable 69. specifications? Develop a zero level and first level DFD for payroll system with 70. suitable specification? Draw a DFD for the following application: A salary system which computes employee salary per week and deductions. Input in to the system is a worksheet containing 71. empid, name, and number of hours worked etc. System maintains table holding tax rates and pay rate for various employee classes. The output is the cheque to the employee. Explain the following briefly: 72. a) Object Models b) Data Flow Models c) Generic Models 3*4 73. Write a note on a) Data dictionary 2*5 b) CASE Workbench 74. Explain the dynamic nature of state machine model. What is semantic data model? Draw semantic data model of a 75. Hospital Management System. 76. Explain different object models. 10 Write short notes on Software project scheduling, Risk 77. management plans. What is the need of software project planning? About what 78. planning is done? Briefly explain. 79. Distinguish between milestones and deliverables. 04 Explain the importance of bar charts and activity networks in 80. software project management. Describe the Risk Management Process. Describe critical risks 81. that need to be protected against. What do you understand by system architecture? Explain 82. different activities involved in system architectural design. 07 Explain repository model and discuss its advantages and 83. disadvantages. 10 Page 10 of 13

Explain salient features of client-server model and list its 84. advantages and disadvantages. 10 85. Explain abstract machine model. 07 86. Discuss different types of control models in detail. 10 87. Write short notes on a) Modular decomposition b) Generic models 3*5 c) Reference architectures 88. Explain the important stages of object oriented development. Discuss advantages and disadvantages of object oriented 89. development. Differentiate between objects and object classes giving 90. suitable examples. 91. Write short notes on a) Sequence model b) Use-case model Unit 5&6: Component-based software engineering & Distributed SE 92. Why is it important that all component interactions are defined through requires and provides interfaces? 93. What are the fundamental differences between components as program elements and components as services? 5 94. Why is it important that components should be based on a standard component model 95. Explain why it is difficult to validate a reusable component without the component source. In what ways would a formal 10 component specification simplify the problems of validation? 96. Explain why distributed software systems are more complex than centralized software systems, where all of the system 10 functionality is implemented on a single computer. 97. What is the fundamental difference between a fat-client and a thin-client approach to client-server system architecture. 98. Give two advantages and two disadvantages of decentralized and semi centralized peer to peer architectures. 99. Explain why deploying software as a service can reduce the IT support costs for a company. What additional costs might 10 arise if this deployment model is used. 100. Explain architectural patterns for distributed systems. 10 Unit 7& Unit 8: Planning a software project & Software Testing Objectives: The objective of this topic is to understand the Planning Verification and Validation Page 11 of 13

Software inspections Software testing Clean room software testing 101. Distinguish between verification and validation. 102. What are the static and dynamic techniques of verification and validation? Explain. 103. Explain the process of software inspections and list their benefits and limitations. 104. What is cleanroom software development? Explain with illustration. List advantages and disadvantages also. 10 1. What are the characteristics of clean room software development? 1. Explain debugging process in detail. 107. Differentiate between debugging and testing. 1. Write a note on automated static analysis. 109. Explain the general principles of software inspections. 110. Write short notes on a) Defect testing b) Statistical testing c) Inspection checks 5*5 d) Inspection and testing e) Inspection team 111. Explain the testing process. Distinguish Black box and White box testing. 112. Discuss the main objectives and principles of software testing. 113. Explain bottom up and top down testing? 114. Define error, fault and failure; bring out the difference between each with a suitable example? 115. What is functional testing and how it differs from structural testing? Explain any two methods for selecting test cases for 10 functional testing? 116. Explain the complete testing process with help of suitable diagrams? 117. Discuss the various levels of testing? 118. Write short notes on verification and validation? 119. Why does software fails after passes acceptance testing? 04 120. Discuss different levels of testing and set goals of these different levels? 07 121. What are test plans and what does a typical test plan contains? 122. Write short notes on a) Release testing b) Integration testing c) Performance 5*4 Page 12 of 13

testing d) Cyclomatic Complexity. 123. Explain the need of interface testing. 124. Explain path testing technique with an example. 125. Explain stress testing. Why is it necessary? 126. Write a detailed note on testing workbenches. 127. What is the role of flow graph in software testing? Explain with one example. 128. How is the cyclomatic complexity useful in program testing? Explain. 07 Page 13 of 13