Back to Informatik

Softwaretechnik

6 ECTS
Semester 2

Software Development Lifecycle

Overview

Understanding the complete process of software development

Learning Objectives

  • Master agile methodologies
  • Understand requirements engineering
  • Apply project management principles
  • Work with development processes
  • Practice software planning

Practical Applications

Project Management

Managing software projects

Example: Implementing Scrum framework

Process Improvement

Optimizing development

Example: Continuous integration setup

Quality Assurance

Ensuring software quality

Example: Code review processes

Practice Problems

  • Design development process
  • Create project timeline
  • Implement agile practices
  • Manage team workflow

Software Architecture

Overview

Designing robust and scalable software systems

Learning Objectives

  • Understand design patterns
  • Master system architecture
  • Apply SOLID principles
  • Work with microservices
  • Practice clean architecture

Practical Applications

System Design

Architectural planning

Example: Designing scalable systems

Code Organization

Structure improvement

Example: Implementing design patterns

Microservices

Service architecture

Example: Building distributed systems

Practice Problems

  • Design system architecture
  • Implement design patterns
  • Create microservices
  • Apply SOLID principles

Software Quality

Overview

Ensuring reliability and maintainability of software

Learning Objectives

  • Master testing strategies
  • Understand code quality
  • Apply refactoring techniques
  • Work with quality metrics
  • Practice code reviews

Practical Applications

Quality Assurance

Testing implementation

Example: Creating test suites

Code Maintenance

Code improvement

Example: Refactoring legacy code

Process Improvement

Quality processes

Example: Implementing code reviews

Practice Problems

  • Implement testing strategy
  • Improve code quality
  • Create review process
  • Measure quality metrics