IF4201 Software Industrialization Syllabus:

IF4201 Software Industrialization Syllabus – Anna University PG Syllabus Regulation 2021

COURSE OBJECTIVES:

 To provide students with a theoretical understanding of current best practices in software engineering and its Lifecycle Models
 To provide students with practical experience to produce high-quality software with an emphasis on design quality and technical evaluation
 To do project management and cost estimation
 To gain knowledge of the System Analysis and Design concepts
 To understand software testing approaches
 To gain knowledge about agile modelling and DSDM with DevOps practices
 To have hands on experience in developing a software project by using various software engineering principles and methods in each of the phases of software development

UNIT I 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 II REQUIREMENT ANALYSIS

Requirement analysis and specification – Requirements gathering – 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 – behavioural models – data models – object models – structured methods and analysis.

UNIT III SOFTWARE ARCHITECTURE

Creating an architectural design: software architecture – data design – architectural styles and patterns – architectural design – conceptual model of UML, basic structural modelling, class diagrams, sequence diagrams, collaboration diagrams, use case diagrams, component diagrams. Software design – Design process – Design concepts – Coupling – Cohesion – Functional independence – Design patterns – Model-view-controller – Publish-subscribe model

UNIT IV SOFTWARE TESTING

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 V SOFTWARE METHODOLOGIES

Agile Modelling with XP- Introduction, Agile Modelling – Principles, Comparing XP and Agile Modelling, Scrum Methodology- The roles of Scrum, Advantages of Scrum. Dynamic Systems Development Methodology- Introduction, Overview of DSDM, the Principles of DSDM, Phases of DSDM, Core Techniques Used in DSDM. XP Tools- Introduction, JAVA and XP, Tools and Philosophies, Open-source Toolkit. DevOps : Motivation-Cloud as a platform-Operations Deployment

SUGGESTED ACTIVITIES:

1: Development of problem statement
2: Preparation of Software Requirement Specification Document, Design Documents and Testing Phase related documents
3: Preparation of Software Configuration Management and Risk Management related documents
4: Study and usage of any Design phase CASE tool
5: Performing the Design by using any Design phase CASE tools
6: Develop test cases for unit testing and integration testing
7: Develop test cases for various white box and black box testing techniques

SAMPLE PROJECTS:

1. Passport automation System
2. Book Bank
3. Online Exam Registration
4. Stock Maintenance System
5. Online course reservation system
6. E-ticketing
7. Software Personnel Management System
8. Credit Card Processing
9. E-book management System.
10. Recruitment system.

COURSE OUTCOMES:

CO1: Understand the advantages of various Software Development Lifecycle Models
CO2: Compare project management approaches as well as cost and schedule estimation strategies
CO3: Translate end-user requirements into system and software requirements and generate a high-level design of the system from the software requirements
CO4: Use UML diagrams for analysis and design
CO5: Understand the advantages Agile methodologies and of DevOps practices
CO6: Develop a simple testing report.

TOTAL :45 PERIODS

REFERENCES

1. Software Engineering, A practitioner’s Approach- Roger S. Pressman, 8th edition, McGraw Hill International Edition
2. Software Engineering, Ian Sommerville, , Pearson Education, 10th edition, 2017
3. The unified modelling language user guide, 1e Grady Booch, James Rambaugh, Ivar Jacobson, Pearson Education, 2002
4. Bernd Bruegge, Alan H Dutoit, Object-Oriented Software Engineering, 3rd edition, Pearson Education, 2009
5. Carlo Ghezzi, Mehdi Jazayeri, Dino Mandrioli, Fundamentals of Software Engineering, 2nd edition, PHI Learning Pvt. Ltd., 2010
6. Craig Larman, Applying UML and Patterns, 3rd edition, Pearson Education, 2015
7. Len Bass, Ingo Weber and Liming Zhu, ―DevOps: A Software Architect‘s Perspective‖, 1st edition, Pearson Education, 2016
8. Rajib Mall, Fundamentals of Software Engineering, 3 rd edition, PHI Learning Pvt. Ltd., 2009
9. Stephen Schach, Software Engineering 8th edition, McGraw-Hill, 2020
10. Agile Project Management: Creating Innovative Products (Agile Software Development Series) 2nd Edition, by Jim Robert High smith, 2009