Bachelor Project 2013 HP2 - Modern Computer-aided Software Engineering
In-Memory Data Management granted us to re-think existing business applications or even create entirely new ones. These applications provide instant access to all information available within a company. The tools to develop these applications, however, are nowhere near the capabilities that are provided to the business users. In this bachelor project, we want to prototype new tools that grant instant information to the person that is key to innovative and groundbreaking business applications: the software developer. Future tools shall not only reactively deliver desired information on demand, but should proactively supply developers with helpful information. Software development is a creative as well as collaborative task, from which a wide range of requirements arises. On individual level, freedom from distraction and maintaining of focus is a prerequisite for effective progress. On team level, awareness of the status of colleagues and external partners assures that interfaces comply and tasks are not solved twice concerning actual artifacts. Additionally, motivation is significantly increased by mutual understanding and appreciation. According to literature, overall goals of tool support are a reduction of time to market and an increase in quality as well as productivity in general. According to us, also the following points should not be disregarded: motivation, team spirit and fun!
- Identify shortcomings of existing development tools and processes
- Elicit requirements for future tools based on the gathered insights
- Validate new concepts by building multiple low fidelity prototypes
- Integrate the most promising approaches into a holistic, high fidelity prototype
- See what your prototype can do in the field at SAP
The project will be executed in cooperation with SAP AG and it is likely that we will stay and work for a couple of days in Walldorf.
Technology & Skills
SAP HANA will build the foundation for the tools to be developed during the project. Technologies and languages for prototype are intentionally not restricted and will be determined during the requirements engineering. This openness with regards to technologies requires a broad set of skills. Hence, participants should have interest in any of the following:
- Requirements Engineering (e.g. through Design Thinking)
- Web-Development (Rails, Django, ...)
- Plugin-Development (Eclipse, Sublime, ...)
- Database-Technologies (SQL, Stored-Procedures, ...)