DAVE3615 Software Architecture and Frameworks Course description

Course name in Norwegian
Programvarearkitektur og rammeverk
Study programme
Bachelorstudium i ingeniørfag - data / Bachelorstudium i informasjonsteknologi / Bachelorstudium i anvendt datateknologi
Year of study
Course history


This course is a complete solution for learning and developing Enterprise applications, and is divided into two parts, "Software Architecture" and "Framework".

The "Framework" section focuses on learning Enterprise-oriented application development through programming in popular frameworks such as Spring MVC, Spring Boot, Hibernate / JPA (for database linking), Spring ROO (for rapid prototype development), XML and JSON (for data exchange), and Amazon EC2 (for cloud installation and software testing).

The "Software Architecture" section includes various architectural desing patterns (client-server, distributed, web architecture, etc.). It also covers how to take an idea and divide it into business requirements and produce it through architectural diagrams. This section of the topic shows how a solid architecture forms the backbone of an application.

Recommended preliminary courses


Required preliminary courses

No requirements over and above the admission requirements.

Learning outcomes

After completing the course, the student is expected to have achieved the following learning outcomes defined in terms of knowledge, skills and general competence:


The student:

  • has general knowledge of a broad range of software architecture and frameworks
  • understands how design patterns can be used in software development
  • understands the cost/benefit of using software architecture and frameworks in large-scale software systems



The student is capable of:

  • using techniques and a small number of frameworks that may include standard client-server architecture, web frameworks and object-relational mapping (ORM).
  • working on projects and tasks both independently and in groups
  • preparing documentation for frameworks and architecture


General competence

The student:

  • is familiar with techniques and theories that promote good quality in software systems
  • is aware of the importance of frameworks and architecture in large-scale software systems

Teaching and learning methods

Lectures and exercises. In the exercise sessions, the students work on assignments, both individually and in groups (2-3), under supervision.

Course requirements

The following coursework is compulsory and must be approved before the student can sit the exam:

  • 3 assignments


Project assignment in groups (2-3 students), where the documented results of the work are assessed.

The project assignment consists of the final report (8-16 pages with analysis, system requirements, system diagrams, modelling etc.) and the program code. The code must include most of the frameworks and technologies the students have learnt about during the semester. Each student group shall be given a unique business case that covers a greater area than cases given for compulsory assignments (required coursework).

The final report will be assessed in relation to how well business requirements and the corresponding domain design are implemented. The program code will be assessed based on the implementation of the framework in relation to the business logic.

The exam result can be appealed. In the event of a resit/rescheduled exam, a new project assignment (business case) can be given with a new deadline.

Permitted exam materials and equipment


Grading scale

Grade scale A-F.


Two internal examiners. External examiners are used regularly.