Skip to main content

Software DesignLaajuus (4 cr)

Code: TT00CD90

Credits

4 op

Teaching language

  • Finnish

Responsible person

  • Marko Rintamäki

Objective

After completing the course, you will learn the principles, methods and tools of software engineering. The primary goal is to strengthen the definition and service design skills and to teach how to document the customer's needs in such a way that they are useful for the product development team. You will learn to use the commonly used UML (Unified Modeling Language) description language. The UML description method is introduced to the most common uses, such as use case (Use Case), sequence diagram (Sequence Diagram), state machine description (State Chart) or deployment diagram (Deployment Diagram). To help with the definition, the use of so-called MockUp tool is learned.

EUR-ACE KNOWLEDGE AND UNDERSTANDING
The student knows how to define software solutions that meet the requirements and take into account the limitations.
The student knows how to follow professional, ethical and legal principles in software design.

EUR-ACE MULTIDISCIPLINARY COMPETENCE
The student can evaluate the results of software engineering and their effects on society, environment and safety.

EUR-ACE ENGINEERING PRACTICE
The student knows how to analyze software requirements and form the basis for implementing a software package.
The student knows how to choose and use well-known software design methods, tools and standards.
The student knows how to clearly document and communicate the software design process and solutions.

EUR-ACE COMMUNICATION AND TEAMWORK
The student knows how to work independently and in a group in software design projects.
The student is able to share information between different parties using description methods suitable for the purpose.

Content

During the course, you will learn to understand how software design is part of software production. You will identify the tasks related to the initial phase of the software life cycle, such as definition and analysis of software requirements, selection of the software implementation method and the impact of different interfaces on the design. You will also learn to document the design using common description methods. You will learn to use tools suitable for software design support. You will learn to consider different standards, good practices and ethical issues in design.

Qualifications

Data networks
Databases
Basics of programming

Assessment criteria, satisfactory (1)

Sufficient (1)
The student must master the concepts and methods related to defining the software. Students are familiar with individual imaging methods. The student understands the importance of requirements definition as part of the software production process.

Satisfactory (2)
The student satisfactorily masters the concepts related to the definition of software and understands the general goals of software engineering in the software production process. The student knows how to describe the functionalities of small-scale software and prepare a simple specification of requirements based on these.

Assessment criteria, good (3)

Good (3)
The student has a good command of the concepts and taught methods related to software engineering. The student knows how to use methods for software design and, if necessary, can produce a comprehensive requirements definition for a small software.

Very good (4)
The student has a good command of the concepts related to the definition of software and understands the importance of software design as part of the software production process. The student knows how to define the needs and features set for the software, and prepare a comprehensive requirements definition based on these.

Assessment criteria, excellent (5)

Excellent (5)
The student has an excellent command of the various concepts and methods related to the definition and design of software and understands the importance of design as part of the software production process. The student knows how to define a small information system and can take into account different perspectives in the definition, such as the end user, technology and business. The student is able to prepare a comprehensive definition of requirements, taking into account different perspectives.