Official course description, subject to change:
Preliminary info last published 18/06-20

Analysis, Design and Software Architecture

Course info
Language:
English
ECTS points:
15
Course code:
1408003U
Participants max:
170
Offered to guest students:
yes
Offered to exchange students:
-
Offered as a single subject:
yes
Price (single subject):
21250 DKK (incl. vat)
Programme
Level:
Bachelor
Programme:
BSc in Software Development
Staff
Course semester
Semester
Efterår 2021
Start
30 August 2021
End
31 December 2021
Exam
Exam type
ordinær
Internal/External
ekstern censur
Grade Scale
7-trinsskala
Exam Language
GB
Abstract
The Analysis, Design, and Software Architecture course (BDSA) is part of the Bachelor in Software Development (BSWU). In this course, 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 three exercise blocks. Weekly exercises will be given to students to gain hands on practice of the concepts taught in class.

Description

The Analysis, Design, and Software Architecture course (BDSA) is part of the Bachelor in Software Development (BSWU). In this course, 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 three 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 and 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 bachelor degree programs 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 architecture 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, and testing.
  • Document the analysis, design, and software architecture of 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.
  • Apply changes (re-factor) to a software system through adjustments in its architecture or refinements in its configuration and reflect on their implications.
Ordinary exam
Exam type:
A: Written exam on premises, External (7-point scale)
Exam variation:
A33: Written exam on premises on paper with restrictions