Example: marketing

LECTURE NOTES ON SOFTWARE ENGINEERING …

DEPT OF CSE & IT VSSUT, Burla LECTURE NOTES ON SOFTWARE ENGINEERING course Code: BCS-306 By Dr. Asst. Prof Asst. Prof Gargi Bhattacharjee DEPT OF CSE & IT VSSUT, Burla DISCLAIMER THIS DOCUMENT DOES NOT CLAIM ANY ORIGINALITY AND CANNOT BE USED AS A SUBSTITUTE FOR PRESCRIBED TEXTBOOKS. THE INFORMATION PRESENTED HERE IS MERELY A COLLECTION BY THE COMMITTEE MEMBERS FOR THEIR RESPECTIVE TEACHING ASSIGNMENTS. VARIOUS TEXT BOOKS AS WELL AS FREELY AVAILABLE MATERIAL FROM INTERNET WERE CONSULTED FOR PREPARING THIS DOCUMENT.

DEPT OF CSE & IT VSSUT, Burla LECTURE NOTES ON SOFTWARE ENGINEERING Course Code: BCS-306 By Dr. H.S.Behera Asst. …

Tags:

  Lecture, Notes, Engineering, Course, Software, Lecture notes on software engineering, Lecture notes on software engineering course

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Transcription of LECTURE NOTES ON SOFTWARE ENGINEERING …

1 DEPT OF CSE & IT VSSUT, Burla LECTURE NOTES ON SOFTWARE ENGINEERING course Code: BCS-306 By Dr. Asst. Prof Asst. Prof Gargi Bhattacharjee DEPT OF CSE & IT VSSUT, Burla DISCLAIMER THIS DOCUMENT DOES NOT CLAIM ANY ORIGINALITY AND CANNOT BE USED AS A SUBSTITUTE FOR PRESCRIBED TEXTBOOKS. THE INFORMATION PRESENTED HERE IS MERELY A COLLECTION BY THE COMMITTEE MEMBERS FOR THEIR RESPECTIVE TEACHING ASSIGNMENTS. VARIOUS TEXT BOOKS AS WELL AS FREELY AVAILABLE MATERIAL FROM INTERNET WERE CONSULTED FOR PREPARING THIS DOCUMENT.

2 THE OWNERSHIP OF THE INFORMATION LIES WITH THE RESPECTIVE AUTHORS OR INSTITUTIONS. DEPT OF CSE & IT VSSUT, Burla SYLLABUS Module I: Introductory concepts: Introduction, definition, objectives, Life cycle Requirements analysis and specification. Design and Analysis: Cohesion and coupling, Data flow oriented Design: Transform centered design, Transaction centered design. Analysis of specific systems like Inventory control, Reservation system. Module II: Object-oriented Design: Object modeling using UML, use case diagram, class diagram, interaction diagrams: activity diagram, unified development process.

3 Module III: Implementing and Testing: Programming language characteristics, fundamentals, languages, classes, coding style efficiency. Testing: Objectives, black box and white box testing, various testing strategies, Art of debugging. Maintenance, Reliability and Availability: Maintenance: Characteristics, controlling factors, maintenance tasks, side effects, preventive maintenance Re ENGINEERING Reverse ENGINEERING configuration management Maintenance tools and techniques. Reliability: Concepts, Errors, Faults, Repair and availability, reliability and availability models.

4 Recent trends and developments. Module IV: SOFTWARE quality: SEI CMM and ISO-9001. SOFTWARE reliability and fault-tolerance, SOFTWARE project planning, monitoring, and control. Computer-aided SOFTWARE ENGINEERING (CASE), Component model of SOFTWARE development, SOFTWARE reuse. Text Book: 1. Mall Rajib, Fundamentals of SOFTWARE ENGINEERING , PHI. 2. Pressman, SOFTWARE ENGINEERING Practitioner s Approach, TMH. DEPT OF CSE & IT VSSUT, Burla CONTENTS Module 1: LECTURE 1: Introduction to SOFTWARE ENGINEERING LECTURE 2: SOFTWARE Development Life Cycle- Classical Waterfall Model LECTURE 3: Iterative Waterfall Model, Prototyping Model, Evolutionary Model LECTURE 4: Spiral Model LECTURE 5: Requirements Analysis and Specification LECTURE 6: Problems without a SRS document, Decision Tree, Decision Table LECTURE 7: Formal System Specification LECTURE 8: SOFTWARE Design LECTURE 9.

5 SOFTWARE Design Strategies LECTURE 10: SOFTWARE Analysis & Design Tools LECTURE 11: Structured Design Module 2: LECTURE 12: Object Modelling Using UML LECTURE 13: Use Case Diagram LECTURE 14: Class Diagrams LECTURE 15: Interaction Diagrams LECTURE 16: Activity and State Chart Diagram DEPT OF CSE & IT VSSUT, Burla Module 3: LECTURE 17: Coding LECTURE 18: Testing LECTURE 19: Black-Box Testing LECTURE 20: White-Box Testing LECTURE 21: White-Box Testing ( ) LECTURE 22: Debugging, Integration and System Testing LECTURE 23: Integration Testing LECTURE 24: SOFTWARE Maintenance LECTURE 25: SOFTWARE Maintenance Process Models LECTURE 26: SOFTWARE Reliability and Quality Management LECTURE 27: Reliability Growth Models Module 4: LECTURE 28: SOFTWARE Quality LECTURE 29: SEI Capability Maturity Model LECTURE 30: SOFTWARE Project Planning LECTURE 31: Metrics for SOFTWARE Project Size Estimation LECTURE 32.

6 Heuristic Techniques, Analytical Estimation Techniques LECTURE 33: COCOMO Model LECTURE 34: Intermediate COCOMO Model LECTURE 35: Staffing Level Estimation DEPT OF CSE & IT VSSUT, Burla LECTURE 36: Project Scheduling LECTURE 37: Organization Structure LECTURE 38: Risk Management LECTURE 39: Computer Aided SOFTWARE ENGINEERING LECTURE 40: SOFTWARE Reuse LECTURE 41: Reuse Approach References DEPT OF CSE & IT VSSUT, Burla MODULE 1 LECTURE NOTE 1 INTRODUCTION TO SOFTWARE ENGINEERING The term SOFTWARE ENGINEERING is composed of two words, SOFTWARE and ENGINEERING .

7 SOFTWARE is more than just a program code. A program is an executable code, which serves some computational purpose. SOFTWARE is considered to be a collection of executable programming code, associated libraries and documentations. SOFTWARE , when made for a specific requirement is called SOFTWARE product. ENGINEERING on the other hand, is all about developing products, using well-defined, scientific principles and methods. So, we can define SOFTWARE ENGINEERING as an ENGINEERING branch associated with the development of SOFTWARE product using well-defined scientific principles, methods and procedures.

8 The outcome of SOFTWARE ENGINEERING is an efficient and reliable SOFTWARE product. IEEE defines SOFTWARE ENGINEERING as: The application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of SOFTWARE . We can alternatively view it as a systematic collection of past experience. The experience is arranged in the form of methodologies and guidelines. A small program can be written without using SOFTWARE ENGINEERING principles. But if one wants to develop a large SOFTWARE product, then SOFTWARE ENGINEERING principles are absolutely necessary to achieve a good quality SOFTWARE cost effectively.

9 Without using SOFTWARE ENGINEERING principles it would be difficult to develop large programs. In industry it is usually needed to develop large programs to accommodate multiple functions. A problem with developing such large commercial programs is that the complexity and difficulty levels of the programs increase exponentially with their sizes. SOFTWARE ENGINEERING helps to reduce this programming complexity. SOFTWARE ENGINEERING principles use two important techniques to reduce problem complexity: abstraction and decomposition.

10 The principle of abstraction implies that a problem can be simplified by omitting irrelevant details. In other words, the main purpose of abstraction is to consider only those aspects of the problem that are relevant for certain purpose and suppress other aspects that are not relevant for the given purpose. Once the simpler problem is solved, then the omitted details can be taken into consideration to solve the next lower level abstraction, and so on. Abstraction is a powerful way of reducing the complexity of the problem.


Related search queries