The course will enable the students to
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. |
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.
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.
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.
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.
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.
Suggested Text Books:
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