|
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 outcome | Level | Weight | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 workload | 2h | |||||||||||||||
|
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 workload | 6.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 workload | 7h | |||||||||||||||
|
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 workload | 8.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 workload | 3.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 workload | 4.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 workload | 5.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 workload | 7h | |||||||||||||||
| 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 workload | 6h | |||||||||||||||
| 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 workload | 4h | |||||||||||||||
|
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 workload | 6h | |||||||||||||||
| Total course workload | 60.5h | |||||||||||||||