Skip to content
This repository has been archived by the owner on Aug 23, 2023. It is now read-only.

DanySK/course-laboratory-of-software-systems

Repository files navigation

Alma Mater Studiorum - Università di Bologna
Computer Science and Engineering Department (DISI)

Laboratory of Software Systems (LSS) Course

@ Computer Science and Engineering Master

Course Description

TBA

Course Final Exam

The Final Exam of this course requires candidates to propose a project in order to demonstrate their familiarity and expertise with course topics. Each project must be proposed by groups composed of 4 people (variations to this number must be discussed with the teacher).

  1. Project Proposal

    • Each project proposal must be added as a new topic on the "projects forum" active on the LLS "Virtuale" Web Site.
    • Each proposal must report (1) group's components, (2) project scenario (its main objective), and (3) coarse-grained domain requirements.
  2. Project "must-have" requirements

    • The design and development of the project must be carried out according to the domain-driven approach. In particular:

      • A knowledge crunching session must be carried out (and properly described within the project report) for the exploration of the problem space.
      • Ubiquitous Language must be clearly identified and discussed.
      • The requirements analysis must be carried out to identify the project's use-cases (using the most appropriate tools and methodologies studied during the course).
      • Considering the requirements analysis, the problem space must be split into appropriate bounded contexts, defined in an appropriate Context Map.
      • Referring only to the core bounded contexts, tactical patterns must be used to define the domain model of the project.
      • The logical architecture of each core bounded context must be appropriately designed (according to the Clean Architecture vision) and properly described in the project report and implemented into the code (in its main elements, assuming the development of a coarse-grained prototype of the system).
    • The project must be managed in a DevOps scenario. In particular:

      • Appropriate versioning and licensing
      • Appropriate strategy for version control (e.g., rebasing policy)
      • Full build automation
      • Full continuous integration
      • Automated quality assurance: code quality, testing, reporting
      • Automatic delivery, possibly, automated deployment
      • When applicable, a containerized version of the application
  3. Project delivery

    • The project must be made available on a dedicated GitHub public repository
    • This repository must contain:
      • Source code of the project
      • DevOps setup related to the project
      • Project report (ideally as a set of linked markdown documents starting from the repository README)
    • The Project Report must describe the project rationale and must contain all artifacts related to the problem analysis and the design phases
  4. Project discussion

    • The project will be discussed during an oral exam
    • The oral exam will be organized as follows:
      • Students must show their project in a 5 minutes per student (maximum 15 minutes) long presentation (possibly using slides or other material)
      • The contribution of each team member must emerge from the presentation
      • After the presentation, teachers can ask questions to students related to the proposed project, considering the presentation, the project report and the developed code

License

The content of this project itself is licensed under the Creative Commons Attribution-ShareAlike 4.0 International license, and the underlying source code used to format and display that content is licensed under the MIT license.

FOSSA Status