SOFTWARE ENGINEERING

Paper Code: 
DCAI 501B
Credits: 
03
Periods/week: 
03
Max. Marks: 
100.00
Objective: 

The course will enable the students to:

  1. Obtain knowledge of software engineering discipline.
  2. Interpret analysis, design and testing principles for software project development.
  3. Learn various factors & metrics involved in the software development process.

 

Learning Outcome

Learning and Teaching Strategies

Assessment Strategies-

 

 The students will:

 

CO46. analyse and compare the different software development models.

CO47. Examine metrics associated with software evaluation.

CO48. Compose          the Software

requirements specification document   by understanding the software requirements.

CO49. Evaluate the     software

design concepts and design models.

CO50. Assess various strategies

for Testing software projects.

 

Approach in teaching:

Interactive Lectures, Discussion,

Tutorials, software development

scenarios

Learning activities for the students:

Self-learning assignments,

Effective scenario based questions,

Seminar presentation, giving tasks, Role plays.

 

Class test, Semester

end examinations,

Quiz, Solving

problems in tutorials,

Assignments,

Presentation,

Individual and group

projects

 

 

9.00
Unit I: 

Software Development Approaches: Introduction; Evolving Role of Software; Software Characteristics; Software Applications. Software Design Processes: Introduction, Definitions of Software Engineering; The Serial or Linear Sequential Development Model; Iterative Development Model; The incremental Development Model, Waterfall Model, Spiral Model.

 

9.00
Unit II: 

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.

 

9.00
Unit III: 

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.

 

9.00
Unit IV: 

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.

 

9.00
Unit V: 

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.

 

ESSENTIAL READINGS: 
  • Pankaj Jalote, “An Integrated Approach to Software Engineering (Third Edition)”, Narosa Publishing House. 
  • Roger S. Pressman, “Software Engineering (A Practitioner’s Approach) (Eighth Edition)”, Mc-Graw Hill International.

 

Academic Year: