JNTUH Software Engineering syllabus CS 3-1 Sem R18 CS502PC

Unit-1 Introduction to Software Engineering

Introduction to Software Engineering:

The evolving role of software, changing nature of software, software myths.

 

A Generic view of process:

Software engineering- a layered technology, a process framework, the capability maturity model integration (CMMI), process patterns, process assessment, personal and team process models.

 

Process models:

The waterfall model, incremental process models, evolutionary process models, the unified process.

Unit-2 Software Requirements

Software Requirements:

Functional and non-functional requirements, user requirements, system requirements, interface specification, the software requirements document.

 

Requirements engineering process:

Feasibility studies, requirements elicitation and analysis, requirements validation, requirements management.

 

System models:

Context models, behavioral models, data models, object models, structured methods.

Unit-3 Design Engineering

Design Engineering:

Design process and design quality, design concepts, the design model.

 

Creating an architectural design:

software architecture, data design, architectural styles and patterns, architectural design, conceptual model of UML, basic structural modeling, class diagrams, sequence diagrams, collaboration diagrams, use case diagrams, component diagrams.

Unit-4 Testing Strategies

Testing Strategies:

A strategic approach to software testing, test strategies for conventional software, black-box and white-box testing, validation testing, system testing, the art of debugging.

 

Product metrics:

Software quality, metrics for analysis model, metrics for design model, metrics for source code, metrics for testing, metrics for maintenance.

Unit-5 Metrics for Process and Products

Metrics for Process and Products:

Software measurement, metrics for software quality.

 

Risk management:

Reactive Vs proactive risk strategies, software risks, risk identification, risk projection, risk refinement, RMMM, RMMM plan.

 

Quality Management:

Quality concepts, software quality assurance, software reviews, formal technical reviews, statistical software quality assurance, software reliability, the ISO 9000 quality standards.

 

TEXT BOOKS:

1. Software Engineering, A practitioner’s Approach- Roger S. Pressman, 6th edition, Mc Graw Hill International Edition.

2. Software Engineering- Sommerville, 7th edition, Pearson Education.

3. The unified modeling language user guide Grady Booch, James Rambaugh, Ivar Jacobson, Pearson Education.

 

REFERENCES:

1. Software Engineering, an Engineering approach- James F. Peters, Witold Pedrycz, John Wiley.

2. Software Engineering principles and practice- Waman S Jawadekar, The Mc Graw-Hill Companies.

3. Fundamentals of object-oriented design using UML Meiler page-Jones: Pearson Education.

 

Course Outcomes

1. Ability to translate end-user requirements into system and software requirements, using e.g. UML, and structure the requirements in a Software Requirements Document (SRD).

2. Identify and apply appropriate software architectures and patterns to carry out high level design of a system and be able to critically compare alternative choices.

3. Will have experience and/or awareness of testing problems and will be able to develop a simple testing report