Official course description:
Full info last published 4/06-19

Analysis, Design and Software Architecture

Course info
ECTS points:
Course code:
Offered to guest students:
Offered to exchange students:
Offered as a single subject:
Price (single subject):
21250 DKK (incl. vat)
BSc in Software Development
Course manager
Assistant Professor
Part-time Lecturer
Teaching Assistant
Teaching Assistant (TA)
Teaching Assistant
Teaching Assistant (TA)
Teaching Assistant
Teaching Assistant (TA)
Teaching Assistant
Teaching Assistant (TA)
Teaching Assistant
Teaching Assistant (TA)
Course semester
Efterår 2019
26 August 2019
31 January 2020
Exam type
ekstern censur
Grade Scale
Exam Language

The Analysis, Design, and Software Architecture (BDSA) course is part of the Bachelor in Software Development (BSWU). In this course, the students will discover software engineering from a theoretical and practical perspective. Students will learn about the history of software engineering, software processes, and will be exposed to concepts, principles, techniques, tools, and technologies related to object-oriented analysis, design, and programming. The course comprises of two lecture blocks and two exercise blocks. Weekly exercises will be given to students to gain hands on practice of the concepts taught in class.

Formal prerequisites

The student must have the following skills to register for this course:
  • Familiarity with at least one object-oriented programming language such as Java, C++, C#, Objective-C.
  • Be able to design, implement, and test medium-sized object-oriented programs that includes the use of concepts such as classes, encapsulation, inheritance/polymorphism, interfaces, packages, data structures (arrays, collections, lists, etc.), threading, IO operations (files, streams, and serialization), and basic GUI programming.

These background skills are achieved by following the Basic Programming courses in the 1st and 2nd semester at the IT University's Bachelors degree program in Software Development.

Intended learning outcomes

After the course, the student should be able to:

  • Describe and apply object-oriented methods for analysis and design.
  • Explain the principles of software architecture, including the variety of common architectures and design patterns and their use.
  • Explain and reflect on the different software development process models, practices, and techniques for software systems development that are covered in the course.
  • Explain and be able to execute all the primary facets of software development within software engineering including analysis, design, implementation, testing, validation, and verification
  • Document the analysis, design, and software architecture of large systems through the use of common standards for documentation including UML and C#'s documentation tools.
  • Design and implement software using the C# programming language, including the use of C# data structures (arrays, collections, strings, regexp), delegates, events, generics, LINQ, data access, multi-processing and threading, distributed programming, testing and NUnit, user interface programming, and Web programming.
  • Continuously change (re-factor) a software system through adjustments in its architecture or refinements in its configuration.
Learning activities

The course comprises of 12 week sessions organized as follows:
  • 2-hour Object-Oriented Analysis and Design lecture
  • 2-hour Object-Oriented Programming lecture
  • Two 2-hour exercise sessions
  • An additional 2-hour exercise session has been secured to support the course. This will be used flexibly to: (i) ensure more support from the teaching assistants, (ii) allow focused workshops to be ran to integrate regular learning, and (iii) ease coordination for the pairs working on the weekly exercises.

Assignments will be given each week and will be due in one week, but for the break in week 42. Each weekly assignment will be assigned to randomly generated pairs.

Mandatory activities

To access the exam, students will have to get approved all the mandatory activities throughout the course. Mandatory activities might be subject to modifications prior to the course start.  The final list will be communicated during the first lecture, following is a likely list:

- Participate to the exam simulation (date tba)

- Submit 8 out of 10 weekly activities

- Submit 16 peer reviews

The student will receive the grade NA (not approved) at the ordinary exam, if the mandatory activities are not approved and the student will use an exam attempt.

Course literature

The course literature is published in the course page in LearnIT.

Ordinary exam
Exam type:
A: Written exam on premises, external (7-trinsskala)
Exam variation:
A33: Written exam on premises on paper with restrictions
Exam description:
4 hours written exam on paper with no access to books or electronic aids (including pocket calculator).

Time and date
Ordinary Exam - on premises Wed, 8 Jan 2020, 15:00 - 19:00