DM531: Software architecture (5 ECTS)

STADS: 15004901

Level
Bachelor course

Teaching period
The course is offered in the autumn semester.
2nd quarter

Teacher responsible
Email: lobo@mmmi.sdu.dk

Timetable
Group Type Day Time Classroom Weeks Comment
Common I Tuesday 10-12 U28 45-51
Common I Friday 10-12 U28 45-51
S1 TE Wednesday 14-16 U26 45-51
Show entire timetable
Show personal time table for this course.

Comment:
Ubegrænset deltagerantal. 2. kvartal.

Prerequisites:
None

Academic preconditions:
The content of DM529 Iterative System Development must be known.

Course introduction
To give the student theoretical knowledge about and practical experience with design and construction of software, emphasizing architecture-centric software engineering and the importance of software quality.

Expected learning outcome
After completion of the course the student is expected to be able to
• Account for software engineering tools, such as CASE tools
• Describe the importance of and the purpose of software architecture design in Unified Process (UP)
• Describe software architecture design as an artifact, comprising
o Explain software architecture design and its elements
o Describe different forms of software architecture patterns/styles
o Explain the layered software architecture and its principles
o Explain patterns for client-server architectures
o Use Unified Modeling Language (UML) for software architecture design, such as views, package diagrams, class diagrams, interaction diagrams and deployment diagrams
• Describe software architecture design as an activity, comprising
o Describe the sub-activities in software architecture design and the mechanisms they address
o Explain design goals and the identification of design goals
• Describe how to obtain and understandable, maintainable and scalable design, comprising
o Define frameworks and design patterns
o Explain selected design patterns
o Compare design solutions
• Describe activities in software quality, in particular software quality control, such as
o Explain the concepts test and review, and describe their role in the software development process
o Plan and conduct review
o Make test cases and conduct tests on the basis of them
o Describe configuration management, refactoring, error handling, and the like
• Produce a software architecture prototype (architectural baseline)

Subject overview
Architecture-centric software engineering with Unified Process; System decomposition and activities in system design; Tools; Reusability; Design patterns; Software quality.

Literature
    Meddeles ved kursets start.


Syllabus
See syllabus.

Website
This course uses e-learn (blackboard).

Prerequisites for participating in the exam
None

Assessment and marking:
a) Project assigment pass/fail marking by teacher
the project assignment must be passed in order for the student to participate in the oral examination>br> b) Oral examination external marking after the 7-scale

Re-examination after 4th quater.

Expected working hours
The teaching method is based on three phase model.

Forelæsninger: 28 timer
Eksaminatorietimer: 14 timer
Derudover indgår der projektarbejde.
Educational activities

Language
This course is taught in Danish or English, depending on the lecturer.

Course enrollment
See deadline of enrolment.

Tuition fees for single courses
See fees for single courses.