Department of Applied Computer Sciences

Software Design

My Studies

 

Student projects

On projects undertaken in the fourth and fifth semesters students gain a deeper understanding of particular aspects of applied computer science. Our close cooperation with business and industry allows our students to consider real business challenges. As most students are already in employment, they may also draw on current issues from their own workplace. It is also possible to combine the project with the Bachelor’s thesis.

Current student projects

Event ticket system with IBM Bluemix

The project implements and documents the development of a prototype for a cloud event ticket system. Implementation involves a REST API, including CRUD functionality for all administration objects. It also includes functions for setting up a shopping basket and booking or selling tickets. Programming is in Javascript for Node.js.

This API will form the basis for implementing a web app with AngularJS framework. This provides two operating modes: administration of the event ticket system and a user interface with a shopping basket function, designed for double opt-in registration. The IBM Bluemix was selected as the cloud platform as it provides a runtime environment for Node.js. The Bluemix services used are SendGrid, a cloud SMTP service for mail sending, and CloudantDB, a NoSQL database with REST API.

The application is started on the Bluemix platform. The result is an operable application which implements the described functionality. An unsolved problem remains: using the Cloudant-DB replication can result in event overbookings, i.e. more tickets for an event are sold than spaces are available.

Web browser engines with C# and WPF

This project compares four web browser engines in C# and WPF. It examines whether the website Document Object Model can be accessed from the application and manipulated. It also involves examining whether, and how, Javascript can be called up on the website using a C# method, and foreign Javascript injected into the website. A benchmark test will indicate the performance of the individual web browsers.

Solutions for a batch processing problem in semi-conductor production

Semi-conductor production is a complex production process, determined by the many types of products manufactured, and up to 300 process steps being involved in making a chip. The goals are twofold: to adhere to product delivery dates whilst ensuring the highest possible capacity utilisation of the processing machines. This creates a multitude of optimisation problems which can only sometimes, or inadequately, be solved using conventional algorithms. In addition to mathematical optimisation processes such as mixed integer programming and dynamic programming, over the past years the declarative approach of constraint programming has achieved successes in solving complex optimisation problems. The goal of this project is to offer an insight into the concept of constraint programming, and to model and then solve a problem in semi-conductor production.

Evaluating client creation for user interaction for Enigma2-based set-top boxes

Enigma2 is a Linux-based operating system which uses well-known set-top boxes, such as Dreambox. Users demand increasing interconnection of their multimedia equipment. Therefore this evaluation is designed to analyse whether it is possible to create an interactive application for users for the Enigma2 operating system. The project will evaluate the application programming interface and available components provided by Engima2. This will be followed by the implementation of a reference application which should enable data to be recorded, persisted and then displayed on the screen, by remote control.

Design and implementation of an application to record and process current and forecast weather data to support activities in a sewage plant

The goal of this project is to develop a prototype for the recording, persistence, processing and visualisation of current and forecast weather data to support activities in a sewage plant. The company's own iMetos D2 weather station will be used to process current weather data. The project evaluates the possibility of automatically retrieving data via a station interface, and then implementing the solution. The retrieved data is persisted in a SQL database and presented in graphic form in the company's intranet.

Database separation of product and customer configuration

The project deals with the case that standard configurations are supplied for a specific process software, which are then extended by the users. However, it should not be possible for the users to alter product configurations. In turn, customer configurations may not be altered by the software provider during upgrades to new software versions.

These two areas are not clearly separated in inventory systems, resulting in migration problems occurring during upgrades. In order to solve this problem for an inventory system, it is necessary to enable separation of the product and customer configuration, while involving as few changes to existing code as possible.

Developing a universal app for Windows and Windows phones with XAML and C#

Apps have become ever more important to the software industry over the past years. Developing an app raises the question of the platform on which it should run. In many case apps are initially limited to Android and iOS, often ignoring Windows platforms. To avoid ceding its position in the market for mobile devices, and to attract developers to its own platforms, Microsoft published its Universal App Framework in 2014. This framework is intended to allow apps to be written with minimal effort and using lots of reusable code, in order to create apps which run on all devices, from Windows 8 to the Windows phone 8.1. By developing a comprehensive prototype, this student research project should indicate how well the concept of the universal app works. The results should demonstrate how much code really can be reused, and outline the strengths and weaknesses of the framework.