Object Oriented Software Engineering Principles

Paper Code: 
MCA 325
Credits: 
04
Periods/week: 
04
Max. Marks: 
100.00
Objective: 

 The course will enable the students to

 1.       Obtain knowledge of software engineering discipline.

2.       Learn various modeling techniques for different perspectives of object-oriented software design(UML)

3.       Interpret analysis, design and testing principles for software project development.

4.       Demonstrate and evaluate real time projects with respect to software engineering principles.

5.       Select appropriate software design & development processes and for software development.

6.      Develop skills to construct software of high quality that is reliable and reasonably easy to understand,modify and maintain

 

Course Learning Outcomes (CLOs):

 

Learning Outcome (at course level)

Students will be able to:

Learning and teaching strategies

Assessment Strategies

  1. Learn need for software specifications also will be able to classify different types of software requirements and their gathering techniques..
  2. Convert the requirements model into the design model and demonstrate use of software and user interface design principles.
  3. Understand Software Design Process, Advanced modeling in UML and different Software testing techniques.
  4. Design & develop the software projects using techniques learnt.
  5. Identify risks and manage change to assure quality in software projects.
  6. Apply testing principles on software projects and understand maintenance concepts.

Approach in teaching:

Interactive Lectures, Discussion, Demonstration, Role plays

 

Learning activities for the students:

Self-learning assignments, Effective questions, presentation, flip classroom

 

  • Assignments
  • Written test in classroom
  • Classroom activity
  • Written test in classroom
  • Semester End Examination

 

13.00
Unit I: 

Software Engineering - A layered Technology, The importance of software, software myths, software engineering paradigms, Software Process Models: Linear Sequential Model, Prototyping Model, RAD Model, Evolutionary Software Process Models: Incremental Model, Spiral Model Component Assembly Model, Formal Methods, Fourth-Generation Techniques, Unified Modeling Language, Basic structures and modeling classes, Common Modeling techniques, relationships, common mechanism, class diagrams.

13.00
Unit II: 

Analysis  Concepts  and  Principles-  the  Elements  of  the  Analysis  Model  Data  Modifying,  Functional Modeling  and  Information  Flow  and  Behavior  Modeling,  Mechanics  of  Structured  Analysis,  Data Dictionary. Requirement analysis, tasks, analyst, software prototyping, specification principles, representation and the software requirements specification. Basic idea of behavioral modeling in UML. State diagrams, Interaction diagrams, Use case diagrams. Introduction to Open Source Software Engineering Tools: Visual Paradigm, AgroUML.

12.00
Unit III: 

Software Project Planning- Size Estimation, Cost Estimation, Models, Static, single variable models, Static, Multivariable Models, COCOMO, The Putnam Resource Allocation Model, Risk Identification and Projection: RMMM, Project scheduling and Tracking. Object- oriented concepts and principles. Identifying the elements of an object model. Object oriented projects metrics and estimation.

12.00
Unit IV: 

Software  Design  Process- Design  Principles,  Design  Concepts:  Effective  Modular  Design, Design  Heuristics,  Design  Documentation,   Design   Methods:  Data  Design,  Architectural   Design, Interface Design, Human Computer Interface Design, Procedural Design. Advanced structured modeling in UML, advanced classes and relationships, interfaces, types and roles, instances and object diagram.

10.00
Unit V: 

Software Testing-  Fundamentals, White  Box  Testing, Black  Box  Testing,  software  testing strategies, verification and Validation, System Testing, Unit testing, Integration testing  and Debugging. Software Maintenance Maintainability – maintenance Tasks, Characteristics of a good quality software.

ESSENTIAL READINGS: 
  • Roger S Pressman, Bruce R Maxim, “Software Engineering: A Practitioner’s Approach”, 8th edition, Tata McGraw Hill, 2014.
  • Ian Sommerville, “Software engineering”, 9th edition, Addison Wesley Longman, 2014.
  • James Rumbaugh. MichealBlaha, “Object oriented Modeling and Design with UML”, 2nd Edition, 2007.
REFERENCES: 
  • Simon Bennett, Steve McRobb and Ray Farmer, “ Object-Oriented Systems Analysis and Design Using UML” 4th Edition,McGraw Hill Education, 2010
  • Charles Ritcher, “Designing Flexible Object Oriented systems with UML”, Tech Media, 2008.
  • Grady Booch, James Rumbaugh, IvarJacobson., “The Unified Modeling Language User Guide”, 2nd Edition, Pearson, 2007.
  • Ali Behforooz, Frederick J. Hudson, “Software Engineering Fundamentals”, 2nd edition, Oxford University Press, 2003.
Academic Year: