Project-II (BIT156CO)
Group software development project (2-3 students) applying Object-Oriented Analysis, Design, and Implementation in C++. Emphasizes practical problem-solving, modular code organization, file-based persistence, exception handling, technical documentation, and oral defense.
Unit 1: Topic Selection, Feasibility Study & Project Proposal6 hrs
- Software project domain exploration: Academic management systems, banking systems, hospital management, library systems, inventory tracking, airline reservation, or 2D game engines in C++
- Team formation (2-3 students per team) and role assignment (lead developer, architect, QA/documentation)
- Feasibility analysis: Technical feasibility, operational feasibility, and schedule/economic feasibility
- Preparation and submission of formal Project Proposal (problem statement, objectives, scope, methodology, tools, and Gantt chart timeline)
- Proposal defense presentation before departmental evaluation committee (10% marks weightage)
Unit 2: System Requirements & Object-Oriented Analysis (OOA)8 hrs
- Requirement elicitation: Gathering functional requirements and non-functional requirements (performance, reliability, security)
- Use case analysis: Identifying system actors, writing structured use case descriptions, and diagramming use case boundaries
- Domain modeling: Identifying candidate classes and entity abstraction from requirements
- Class Responsibility Collaborator (CRC) modeling
- Defining object relationships: Association, Aggregation (has-a weak), Composition (has-a strong), and Generalization/Inheritance (is-a)
Unit 3: Object-Oriented Design (OOD) & Architecture8 hrs
- System architectural design: Multi-tiered architecture (Presentation/Console UI layer, Business logic layer, Data persistence layer)
- Detailed Class Diagram modeling: Class names, attributes with types, member functions with signatures, and visibility specifiers (+, -, #)
- Interaction modeling: Sequence diagrams for critical transaction workflows (e.g., authentication, record creation, transaction processing)
- Persistent data file architecture: File formats, record structures, index files, header blocks, and data validation rules
Unit 4: System Implementation & Coding in C++12 hrs
- Project modularization: Structuring headers (.h) and implementation source files (.cpp) with header guards
- Clean coding standards: Meaningful naming conventions, commenting guidelines, and indentation
- Implementation of class hierarchies: Encapsulation, parameterized constructors, copy constructors, and destructors
- Applying operator overloading for domain arithmetic or custom stream formatting (<< and >>)
- Dynamic polymorphism implementation: Base class pointers, virtual functions, and abstract base classes
- File handling implementation: Persistent binary file I/O using ifstream, ofstream, fstream, and seekg/seekp
- Structured exception handling: Custom exception classes, try-catch hierarchies, and graceful error recovery
Unit 5: Verification, Testing & Bug Fixing4 hrs
- Unit testing of individual class member functions and boundary cases
- Integration testing: Verifying interaction between UI layer, logic layer, and file storage layer
- Validation testing: Input sanitization, erroneous data rejection, and edge case resilience
- Debugging techniques, memory leak detection, dynamic memory verification (proper delete of new objects), and code refactoring
Unit 6: Project Documentation & Final Viva Voce Defense7 hrs
- Purbanchal University standard project report preparation guidelines and formatting standards
- Report structure: Cover page, Certificate of Approval, Recommendation, Acknowledgments, Abstract, Table of Contents, List of Figures/Tables
- Core chapters: Introduction, System Analysis, System Design, Implementation & Testing, Conclusion & Recommendations, References, Appendix (code listings & user manual)
- Mid-term progress demonstration and evaluation (20% marks weightage)
- Pre-final project defense and working prototype verification (30% marks weightage)
- Final viva voce defense, live software demonstration, and oral examination by internal and external examiners (40% marks weightage)
Reference books
- Grady Booch, Robert A. Maksimchuk, Michael W. Engle, and Jim Conallen, Object-Oriented Analysis and Design with Applications (3rd ed.), Addison-Wesley.
- Bjarne Stroustrup, The C++ Programming Language (4th ed.), Addison-Wesley.
- Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley.
- Robert C. Martin, Clean Code: A Handbook of Agile Software Craftsmanship, Prentice Hall.