SOFTWARE ENGINEERING

Paper Code: 
24DCAI501B
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.

 

Course Outcomes: 

Course

Learning outcome

(at course level)

Learning and teaching strategies

Assessment Strategies

Course Code

Course

title

 

24DCAI 501B

 

SOFTWARE ENGINEERING

(Theory)

CO55. Analyse and compare the different software development models.

CO56.Develop the Software

requirements specification document   by analysing the software requirements.

CO57. Critically assess the effectiveness of various software design concepts and design models.

CO58. Evaluate and select appropriate testing strategies for software projects.

CO59. Critically analyze measures of software reliability and availability, and explore strategies for risk management and quality management.

CO60.Contribute effectively in course-  specific interaction.  

 

Approach in teaching:

Interactive Lectures, Discussion, PowerPoint Presentations, Informative videos

 

Learning activities for the students: 

Self-learning assignments, Effective questions, presentations.

 

 

 

Assessment tasks will include Class Test on the topics, Semester end examinations, Quiz, Student presentations and assignments.

 

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: 

Suggested Text Books:

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

 

REFERENCES: 

Suggested Reference Books:

1.     Girdhari Singh, “Software Engineering”, Genius Publications, 2018

Reference Journals:

1.    https://www.researchgate.net/publication/334054812_Boolean_Algebra_and_Lo          gicGates

2.     https://www.sciencedirect.com/topics/engineering/central-processing-unit

3.     Journal of the Brazilian Computer Society, SpringerOpen

4.     Journal of Internet Services and Applications, SpringerOpen

e-Resources including links

1.     https://www.educative.io/blog/software-process-model-types

2.     https://www.geeksforgeeks.org/software-engineering-cocomo-model/

3.     https://www.tutorialride.com/software-engineering/software-process-designing-           concepts.htm

4. https://www.tutorialspoint.com/software_engineering/software_maintenance_overvi          ew.htm

Academic Year: