JCC23: Software Architectures Analysis and Design

To PDF To JSON To Moodle
JCC23: Software Architectures Analysis and Design

The goal of this course is to extend the knowledge that FOI and UNIVAQ students are getting in the courses of Software Analyses and Design, and Software Architectures, respectively. The two courses are disjunctive but complementary and thus enable students from both universities to theoretically and practically extend the knowledge from the mutually supplemental topics.

Planned ECTS: 2
Number of learners: 10
Mode of delivery: Blended
Status: Completed
Course public access: Public
Contributors:
Igor Balaban, Zlatko Stapic, Henry Muccini
Course learning outcomeLevelWeight
Examine the current trends related to architecting and development of software products Analysing 5
Model system overall software architecture and design the mobile app Applying 20
Make use of SCRUM agile development process practices and principles Applying 10
Determine appropriate SOLID software design concepts to be used in the project Evaluating 10
Assess technical debt of the implemented software project Evaluating 10
Examine DevOps tools and practices Analysing 10
Develop the mobile application and backend services Applying 20
Construct documentation for architectural design and prototyped product Applying 15
Total weight: 100
Topic / Unit name Workload Learning type Mode of delivery Groups Collaboration Feedback Mandatory activity Assessment
Points Type Providers
Motivation to architecting and development of software products
Motivation to architecting and development of software products
  Trends and market analysis (Zlatko S.)
45 min Acquisition Hybrid Synchronous Teacher present No No Peer No No
  Motivation for softver architecture design (Henry M.)
45 min Acquisition Hybrid Synchronous Teacher present No No Peer No No
  Discussion
30 min Discussion Hybrid Synchronous Teacher present No No Teacher, Peer No No
Total unit workload2h
Introduction to Software Architectures and Mobile Application Design
Software Architectures and Mobile Application Design
  Introduction to Software Architecture (Henry M.)
60 min Acquisition Hybrid Synchronous Teacher present No No No No No
  Introduction to Mobile Application Design (Zlatko S.)
60 min Acquisition Hybrid Synchronous Teacher present No No No No No
  Architectural and mobile design exercise
Homework Papers published at conferences about architecting mobile application and becoming familliar with the state-of-the-art.
240 min Investigation Hybrid Asynchronous Teacher not present Yes Yes Peer, Other No No
  Quiz
Formative assessment of knowledge acquisition without final score. Homework will be evaluated as well.
30 min Assessment Online Asynchronous Teacher not present No No No No 5 Formative Automated, Self
Total unit workload6.5h
Launching the JCC Software Project
Launching the JCC project
  Discussion on projects assignment
Teachers will present the project topics and discuss them with students.
60 min Discussion Hybrid Synchronous Teacher present No No Teacher, Peer No No
  Lectures on scrum process (Introduction to jIRA and Confluence)
Zlatko S. - Scrum process will be used in JCC teams when working on project.
60 min Acquisition Hybrid Synchronous Teacher present No No No No No
  JIRA setup and iteration plan
240 min Practice Hybrid Asynchronous Teacher not present Yes Yes Peer No No
  First project evaluation
60 min Assessment Hybrid Synchronous Teacher present No No No No 15 Summative Teacher, Peer, Self
Total unit workload7h
SOLID Software Design
SOLID Software Design
  Software Design Lectures
Architecture? - 60 minutes SOLID - 60 minutes
120 min Acquisition Hybrid Asynchronous Teacher present No No No No No
  Investigate implementation of SOLID in mobile application architecture
120 min Investigation Hybrid Asynchronous Teacher not present Yes Yes No No No
  Implement SOLID in mobile application architecture
Part of the project
240 min Practice Hybrid Asynchronous Teacher not present Yes Yes No No No
  Quiz
30 min Assessment Online Asynchronous Teacher not present No No No No 5 Formative Automated, Self
Total unit workload8.5h
Technical debt in Software Design
Technical debt in Software Design
  Lectures on Technical Dept
Henry M. Zlatko S. - 15-20 minutes on practical aspects of calculating t.d. by tools (e.g SonarCube)
90 min Acquisition Hybrid Synchronous Teacher present No No No No No
  Discussion on Technical debt
30 min Discussion Hybrid Synchronous Teacher present No No Teacher, Peer No No
  Calculate Technical Debt of the project
Employ tools (eg. SonarQube) to calculate technical debt of the implemented mobile project.
60 min Practice Hybrid Asynchronous Teacher not present Yes Yes Automated No No
  Quiz
30 min Assessment Online Asynchronous Teacher not present No No No No 5 Formative Automated, Self
Total unit workload3.5h
DevOps in Software Analysis and Design
DevOps in Software Analysis and Design
  Introduction to DevOps
Common lecture (Henry and Zlatko)
60 min Acquisition Hybrid Synchronous Teacher present No No No No No
  DevOps Tools
Include the topic on DevOps tools (Zlatko - move it from laboratory to lectures)
60 min Acquisition Hybrid Synchronous Teacher present No No No No No
  Implement CI in project
60 min Investigation Hybrid Asynchronous Teacher not present Yes Yes No No No
  Implement CI in project
60 min Practice Hybrid Asynchronous Teacher not present Yes Yes No No No
  Quiz
30 min Assessment Online Asynchronous Teacher not present No No No No 5 Formative Automated, Self
Total unit workload4.5h
Implementing the JCC Software Project
Software project plan
  Software process planning and tools
60 min Acquisition Hybrid Synchronous Teacher present No No No No No
  JIRA and project setup
Creating account, defining project and team.
30 min Practice Hybrid Asynchronous Teacher present Yes Yes No No No
  Planning a software product in JIRA
Defining roadmap, epics, iterations and backlog items
240 min Practice Hybrid Asynchronous Teacher not present Yes Yes No No No
Total unit workload5.5h
Architectural design
  Definition of common interfaces
Interfaces between mobile component and the rest of the system.
120 min Investigation Hybrid Asynchronous Teacher not present Yes Yes No No No
  Integration and testing of the infrastructure
Integrating the mobile component with the rest of the system.
300 min Practice Hybrid Asynchronous Teacher not present Yes Yes Peer No No
Total unit workload7h
Technical documentation
  Document mobile-system interfaces
Includes the definition of common interfaces as well as the results of integration of components and prototype testing.
300 min Production Hybrid Asynchronous Teacher not present Yes Yes Peer No No
  First evaluation of architectural design
60 min Assessment Hybrid Asynchronous Teacher present No No No No 15 Summative Teacher
Total unit workload6h
Project result presentation
  Prepare project presentation
180 min Production Hybrid Asynchronous Teacher not present Yes Yes Peer No No
  Final project assessment
Presentation, discussion, defense of results and evaluation with feedback.
60 min Assessment Hybrid Synchronous Teacher present No No Teacher, Peer No 25 Summative Teacher
Total unit workload4h
Sumative Assessment of Theory
Sumative assessment of theory
  Preparation for the exam
300 min Acquisition Hybrid Asynchronous Teacher not present No No No No No
  Final exam of theory
Written/Oral exam
60 min Assessment Hybrid Synchronous Teacher present No No No No 25 Summative Teacher
Total unit workload6h
Total course workload60.5h