Students will get introduced into technical, economic, and societal aspects of mobile, context aware applications. The theoretical part of the course includes three main topics:
This course will introduce advance topics in software architecture and requirements engineering, including design patterns, design rationale, requirements elicitation and modeling, negotiation and prioritization frameworks, requirements analysis, agile requirements, traceability, requirements validation, requirements evolution, and product line engineering. The course will also handle topics on documenting and managing architecture and requirements knowledge.
This course will discuss recent research results on human and social aspect in software engineering. The main topics of the course include the comprehension of software artifacts, collaboration and knowledge sharing amongst development teams and with end users, integration of social media in software processes and software systems, systematically conducting empirical studies (user studies) in software projects, as well as emergent aspects such as privacy, mobility, and trust.
In addition to the theory and course materials, we will use case studies and mini projects for the practical parts of these courses. The mini project will be offered for the course mobile services and will be similar to the Software Development mini project. However, in this case it focuses on context awareness and service composition, i.e. offering new services by composing existing ones. Other students will use the new developed services during the courses.
The case study part will rely on concepts from the Harvard Business School. Students will get a short description of a renowned (successful of unsuccessful) case including several discussion questions. Students will then do a small research to find more background information about the case. In the course, we will then discuss the case and extract the theory.