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
In this course, you will learn the principles, methods, and tools of software design. The primary goal is to strengthen your skills in requirements specification and service design, and to teach you how to document customer needs in a way that is useful for the product development team. You will learn to use the UML (Unified Modeling Language) and become familiar with common methods such as use case, sequence, state chart, and deployment diagrams. Additionally, you will learn to use MockUp tools to aid in requirements specification.
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.