Skip to main content

Software Architectures and Design (5 cr)

Code: 5G00DM00-3004

General information


Enrolment period

15.07.2023 - 04.09.2023

Timing

29.08.2023 - 22.12.2023

Credits

5 op

Mode of delivery

Contact teaching

Unit

ICT Engineering

Campus

TAMK Main Campus

Teaching languages

  • English

Seats

0 - 45

Degree programmes

  • Bachelor's Degree Programme in Software Engineering

Teachers

  • Petteri Jekunen

Person in charge

Petteri Jekunen

Groups

  • 21I260EA

Objectives (course unit)

1. Student understands the ideas and principles of all main topics of the course.
2. Student can apply the previous information in typical daily tasks of a software engineer.
3. Student develops to an attitude of continuous learning of Software Engineering topics and applying this new information in her/his tasks.
4. Student has the right attitude towards working in a project group as a responsible group member.
5. Student understands and adapts to the demands of customers, his/her own company and managers in it, market forces as well as demands of the society.

Content (course unit)

Software engineering overview and processes, software development life cycle, software project planning and management, software requirements management, system modeling, software architecture design, software detailed design, analysis & design tools, software design strategies, software user interface design, software design complexity

Prerequisites (course unit)

Basic knowledge of programming.

Assessment criteria, satisfactory (1-2) (course unit)

Student knows about software engineering and about its processes and about software development life cycle. Student is able to implement software project planning and management, software requirements management and system modelling with guidance. Student can implement simple software architecture designs and simple software detailed designs. Student is able to use some analysis & design tools and software design strategies. Student is able to implement software user interface designs with guidance and knows about software design complexity.

Assessment criteria, good (3-4) (course unit)

Student knows and understands software engineering and its processes and software development life cycle. Student is able to implement software project planning and management, software requirements management and system modelling. Student can implement software architecture designs and software detailed designs. Student is able to use analysis & design tools and software design strategies. Student is able to implement some software user interface designs and understands software design complexity.

Assessment criteria, excellent (5) (course unit)

Student knows and understands in depth software engineering overview and its processes and software development life cycle. Student is able to implement diversely software project planning and management, software requirements management and system modelling. Student can implement independently software architecture designs and software detailed designs in various situations. Student is able to use diversely and independently analysis & design tools and software design strategies. Student is able to implement various software user interface designs and understands in depth software design complexity.

Location and time

As scheduled in the calendar of the course.

Exam schedules

There are no exams in this course.

Assessment methods and criteria

Grading of the course is a weighted average of
- Tasks - 67 %
- Final project work - 33 %

Max 100 points. Min points for the grades:
5 - 90
4 - 74
3 - 58
2 - 41
1 - 25

Assessment scale

0-5

Teaching methods

Course contains
* frontal teaching: lecturing, demos
* individual self study exercises as home work
* reviews and feedback sessions
* group work
* discussions
* presentations / peer teaching

Larger project will (preferably group work) will be undertaken as last exercise in the course to summarize the contents of the course.

Students are encouraged to give feedback during the course and in the end. Anonymous feedback forum available in Moodle.

Learning materials

Teaching materials are listed in the Moodle space of the course. Materials will be available online including potential recordings from the lessons (contact lessons not recorded however). Official course books are available via Tuni library resources.
Course books for this implementation:
* Fundamentals of Software Architecture by Mark Richards, Neal Ford
* Head First Design Patterns, 2nd Edition by Eric Freeman, Elisabeth Robson
* Additional extra materials in Moodle.

Student workload

One credit point equals to 27h of work resulting to total of estimated 135 hours work for this course.

Contact learning sessions will be concentrated on introducing the topics, discussions, feedback and reviews.
Majority of work will be conducted as self learning either individually or in groups.

Content scheduling

Introduction to SW Engineering Processes
Software Design
Software Architecture

Completion alternatives

Undertaking working life related or other personal IT-projects related to course content can be used to compensate some or all tasks and activities in the course. Presenting the results for the class recommended in this case.

Practical training and working life cooperation

Course materials contains information based on working life visits in the course. This year's visitors will be announced during the course.

International connections

n/a

Further information

This course is part of the overall art of software engineering covered in series of courses. Students are recommended to have enough substance courses completed before taking this course. To understand this course as a part of the overall software development practice requires also taking courses from sw requirements and software project areas.