EventoWeb
Zürcher Hochschule für Angewandte Wissenschaften
Menu
Home
User Menu
Not registered
Login
[
German (Switzerland)
German (Switzerland)
] [
English
English
]
[
de
de
] [
en
en
]
Not registered
Login
EventoWeb
Kontakt zu Service Desk
Online-Dokumentation
Allgemeiner Zugriff
Module suchen
t.BA.IT.SWEN1.13HS (Software Engineering 1)
Module: Software Engineering 1
This information was generated on: 05 December 2024
No.
t.BA.IT.SWEN1.13HS
Title
Software Engineering 1
Organised by
T InIT
Credits
4
Description
Version: 4.0 start 01 August 2021
Short description
This module provides you with the necessary analysis and design skills to develop and realize larger and more complex software applications.
User and domain research, use cases and domain modeling are applied to analyze a problem. The elicited requirements for a software system are systematically specified and tested.
Derived from the requirements, techniques for the design of a suitable software architecture and the implementation in an object-oriented design are taught. Proven architecture and design patterns are applied and emphasis is placed on high software quality (extensibility, maintainability).
Standardized notations (such as UML) are used for modeling and communicating the results from analysis, software architecture and design.
Module coordinator
Walter Eich (eicw)
Learning objectives (competencies)
Objectives
Competences
Taxonomy levels
For a given, iterative-incremental software development process, you can explain the process and artifacts for developing an object-oriented software application.
F, M
K2
You can grasp the user's terminology using suitable procedures and condense it into a domain-specific terminology (domain model).
F, M
K3
You can define a software system and systematically collect and communicate the functional requirements with use cases as well as quality requirements and constraints.
F, M
K3
Based on the requirements, you can design a suitable software architecture and an object-oriented design for the components of the domain logic contained therein.
F, M
K3
You can use standardized notations (such as UML) for modeling and communicating artifacts in the software development process.
F, M
K3
You can use proven analysis, architecture and design patterns adequately for a problem.
F, M
K3, K4
Module contents
This module provides the necessary analysis and design skills to develop and implement larger and more complex software application.
Analysis competence includes above all the will and ability to communicate and cooperate with clients and future system users and to quickly familiarize oneself with new application contexts. Students must be able to recognize familiar problems in the application context and be familiar with the associated solution patterns. They recognize inconsistencies and can deal with unclear requirements. Complex domains can be modelled and large application problems can be broken down into subproblems using suitable interfaces.
Design competencies include the ability to design hardware and software systems that fully meet the requirements. Abstraction is as essential as a solid knowledge of software architecture. Central to the design is the implementation of non-functional requirements such as security, performance, scalability, maintainability, extensibility and reliability.
Introduction and Software Development Processes (4 lessons)
Overview of software development process models and their home grounds (waterfall, iterative-incremental and agile)
Process and artifacts in an iterative-incremental, use-case-driven and architecture-centric software development process
Requirements Analysis (16 lessons)
Introduction in Usability and UX
(
contextual inquiry, per
sonas and scenarios, U
I sketching & prototyping)
Elicitation and communication of functional requirements with use cases (UML use case diagram, use case specification)
Elicitation and communication of non-functional requirements (quality requirements, constraints)
Modelling of the user's technicality and terms (domain model) and introduction to Domain Driven Design (DDD, conceptual UML class diagram)
Software Architecture and Design (36 lessons)
Design and modeling of a software architecture (4+1 view, represented by UML package diagram, UML deployment diagram)
Introduction to Clean Architecture (SOLID principles, layer architecture, onion architecture)
Use case realization and class design (Responsibility Driven Design (RDD), UML class diagram, UML sequence diagram, UML communication diagram, UML state diagram, UML activity diagram)
Design with Design Patterns (GoF: Factory, Singleton, Adaptor, Bridge, Composite, Decorator, Facade, Proxy, Chain of Responsibility, Observer, State, Strategy, Visitor)
Various in-depth topics such as: Distributed systems, GUI architectures, persistence, framework design
Practical Training
As a practical training, the students solve exercises tailored to the topic of the lecture. The practical training is an integral part of the lecture in this module type (2 lessons lecture and 2 lessons exercises).
Teaching materials
sides, articels, case studies
Supplementary literature
- Larman, C.: Applying UML 2 and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, Pearson Education, 2005
- Seidel, M. et al.: UML @ Classroom - An Introduction to Object-Oriented Modeling, Springer International Publishing, 2015
- Martin, R. C.: Clean Architecture: A Craftsman's Guide to Software Structure and Design, Pearson Education, 2018
Prerequisites
-
Teaching language
(X) German ( ) English
Part of International Profile
( ) Yes (X) No
Module structure
Type 2a
For more details please click on this link:
T_CL_Modulauspraegungen_SM2025
Exams
Description
Type
Form
Scope
Grade
Weighting
Graded assignments during teaching semester
exam
quizzes
2x15 min.
mark
20%
End-of-semester exam
exam
written
90 min.
mark
80%
Remarks
Legal basis
The module description is part of the legal basis in addition to the general academic regulations. It is binding. During the first week of the semester a written and communicated supplement can specify the module description in more detail.
Note
Additional available versions:
1.0 start 01 August 2014
,
2.0 start 01 February 2019
,
3.0 start 01 August 2020
Course: Software Entwicklung 1 - Praktikum
No.
t.BA.IT.SWEN1.13HS.P
Title
Software Entwicklung 1 - Praktikum
Note
No module description is available in the system for the cut-off date of 01 August 2099.
Course: Software Entwicklung 1 - Vorlesung
No.
t.BA.IT.SWEN1.13HS.V
Title
Software Entwicklung 1 - Vorlesung
Note
No module description is available in the system for the cut-off date of 01 August 2099.