Course Name: 

Software Engineering (IT303)


B.Tech (IT)




Programme Core (PC)

Credits (L-T-P): 

(3-0-2) 4


Software Requirements Fundamentals: Product and Process Requirements, Functional and Nonfunctional Requirements, Quantifiable Requirements, System Requirements and Software Requirements, Requirements Process Models , Process Actors, Requirements Elicitation, Requirements Classification, Architectural Design and Requirements Allocation , Formal Analysis , Requirements Specification, Software Requirements Specification Requirements Reviews, Prototyping. Key Issues in Software Design: Concurrency , Control and Handling of Events , Data Persistence, Distribution of Components, Error and Exception Handling and Fault Tolerance, Interaction and Presentation , Security , Software Structure and Architecture, , Architectural Structures and Viewpoints , Architectural Styles, Architecture Design Decisions, Families of Programs and Frameworks , User Interface Design, General User Interface Design Principles, Software Design Quality Analysis and Evaluation ,Quality Attributes , Quality Analysis and Evaluation Techniques , Measures. General Strategies: Function-Oriented (Structured) Design, Object-Oriented Design, Data Structure-Centered Design, Component- Based Design; Software Construction : Minimizing Complexity, Anticipating Change, Constructing for Verification, Reuse, Coding, Integration, Construction Technologies, API Design and Use, Object-Oriented Runtime Issues, Parameterization and Generics, Assertions, Design by Contract, and Defensive Programming, Performance Analysis and Tuning , Unit Testing Tools, Profiling, Performance Analysis, and Slicing Tools; Software Testing, Input Domain-Based Techniques, Code-Based Techniques, Fault-Based Techniques, Usage-Based Techniques, Model-Based Testing Techniques, Software Maintenance Fundamentals, Techniques for Maintenance, Program Comprehension, Reengineering, Reverse Engineering, Migration, Retirement; Software Configuration Management, Management of the SCM Process, Organizational Context for SCM, Constraints and Guidance for the SCM Process, Planning for SCM, Surveillance of Software Configuration Management, Software Configuration Identification, Identifying Items to Be Controlled, Requesting, Evaluating, and Approving Software Changes, Implementing Software Changes, Deviations and Waivers, Software Configuration Status Accounting, Software Configuration Auditing , In-Process Audits of a Software Baseline, Software Release Management and Delivery, Software Building Software Release Management, Software Configuration Management Tools.


Axel van Lamsweerde, Requirements Engg: From System Goals to UML Models to Software Specs., Wiley,2009.
Lenny Delligatti, SysML Distilled: A Brief Guide to the Systems Modeling Language, 1st Ed., Addison-Wesley, 2013.
J.H. Allen et al., Software Security Engineering: A Guide for Project Managers, Addison-Wesley, 2008.
R.S. Pressman, Software Engineering: A Practitioner’ s Approach, 7th ed., McGraw-Hill, 2010.
P. Clements et al., Documenting Software Architectures: Views and Beyond, 2nd ed.,Pearson Education, 2010.
M. Utting and B. Legeard, Practical Model-Based Testing: A Tools Approach, Morgan Kaufmann, 2007.
J.W. Moore, The Road Map to Software Engg: A Standards-Based Guide, Wiley-IEEE Computer Society Press, 2006.
S.P. Berczuk and B. Appleton, Software Configuration Management Patterns:Effective Teamwork, Practical Integration, Addison-Wesley Professional, 2003.


Information Technology

Contact us

Head of the Department,
Department of Information Technology,
National Institute of Technology Karnataka,
SurathkalP. O. Srinivasnagar, Mangalore - 575 025
Ph.:    +91-824-2474056
Email:  hodit [at] nitk [dot] edu [dot] in

Web Admin: Sowmya Kamath S

Connect with us

We're on Social Networks. Follow us & stay in touch.