Skip to content

Latest commit

 

History

History
57 lines (51 loc) · 3.13 KB

File metadata and controls

57 lines (51 loc) · 3.13 KB

Dalhousie_University_CSCI5308_ASDC

All assignments and the final project are completed in class CSCI5308 (Advanced Software Development Concepts) of MACS at Dalhousie University. CSCI5308 ASDC Dalhousie University.

Authors

Assignments

Assignment 1

  • Learning Objectives:
    • Practice developing effective unit tests.
    • Practice implementing unit tests with JUnit.
    • Practice working with TDD.
  • 📄 Problem Statement PDF

Assignment 2

  • Learning Objectives:
    • Practice procedural refactoring.
    • Practice implementing good/quality code.
    • Practice SOLID principles.
  • 📄 Problem Statement PDF

Assignment 3

  • Learning Objectives:
    • Describe the use of SOLID principles in your project.
    • Describe the use of layers in your project.
    • Describe the opportunities for refactoring and improvements in your project using design patterns.
  • 📄 Problem Statement PDF

Final Group Project

  • Project Name: Blood Book
  • Project Description: Blood Book is a Blood Bank Management System designed to manage information related to administrative and inventory management with blood banks and to connect blood donors and receivers.
  • Inception Year: 2021
  • Team Name: Group 13
  • Team Members:
  • Learning Objectives:
    • Understood professional programming in an environment where quality is paramount.
    • Understood the importance of integrating quality assurance into programming practices.
    • Applied Agile methodology to develop this project.
    • Used appropriate tools to automate builds, deployment and configuration.
    • Understood GitFlow.
    • Analyze and applied test driven development to the software project.
    • Implemented the S.O.L.I.D. principles of object-oriented design (Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion).
    • Understood and implemented the principles of cohesion and coupling and avoid their misuse.
    • Understood how to write clean, readable code.
    • Applied design patterns and analyzed the benefits of using existing code / APIs.
    • Recognized code smells and refactored the code to avoid them.
    • Understood the importance of establishing boundaries in the systems (i.e. data, business logic, display logic)
    • Understood the importance of the consistent application of naming conventions.
    • Understood the concept of technical debt and the long-term costs of bad code.
    • Analyzed and improved the existing code through refactoring.
    • Identified and addressed the fragility and inflexibility in code.