| 1 |
|
Technological support for distributed agile development
Because of the distance between the dispersed development locations, Global Software Development (GSD) is confronted with challenges regarding communication, coordination and control of the development work. At the same time, agile software development is strongly built upon communication between engineers and has proven its benefits, although, mostly on one single site. As such, it might be advantageous to combine GSD with agile development. This blend however is not straightforward since the distributed and agile development approaches might have conflicting convictions. In this thesis we will discuss the advantages and challenges of combining GSD with agile development based on a literature-based research. The main results presented in the theoretical part of this thesis (Part I through V), are: (i) aspects of agile software development, (ii) benefits and challenges associated with these in relation to GSD, (iii) categories of technological support for agile GSD, (iv) a framework depicting the mutual relations among them and (v) a discussion regarding specific technologies that support collaborative development in relation to this framework. Based on one of the recommendations we make in the theoretical part of this thesis we also perform practical research (Part VI) in which we define a list of requirements for an Integrated Collaborative Development Environment (ICDE) and show the technical feasibility of a number of concepts which realize these.
|
[PDF]
[Abstract]
|
| 2 |
|
DEMO applied to Financial Services
Often organizations do not exactly know what they desire, when it comes to information systems. Professional companies like ForMetis are needed to give advice and design tailor made information systems for organizations that have the need of it. To do so, one usually uses a software developing methodology. ForMetis has developed such a methodology with their ten year of experience (The ForMetis methodology).
The DEMO methodology is a powerful tool that has proven itself successful in the modeling of organizations. DEMO methodology models the essence of an organization and claims to be coherent, consistent, comprehensive and concise. It is a very powerful tool for identifying transaction of an organization and also the communication with the external actors. DEMO can be used as an aid to design information systems and can check the completeness of these systems whether it covers the essential business processes.
The ForMetis methodology consists of the following phases: planning, analysis, design, implementation and system. The analysis and design phase are the most important phases. In these phases requirements are retrieved in an informal way and are written on large sheets, which are not reusable. Informal specifications are made and often the implementation is the specification. The new, so called F-DEMO methodology was discussed and a postmortem case (intermediary) was used to illustrate the added value of DEMO.
The new methodology is the ForMetis methodology extended with DEMO in the analysis and design phase. In these phases the Construction Model, Proces Model and the State Model are added. These models are a valuable addition to the derivation of requirements and the making of specifications.
In order to evaluate the use of F-DEMO a survey was held to check how many of the findings that were raised when producing the information system at the intermediary could be prevented. The findings were categorized in implementation, requirements, usability, misunderstandings, wishes and irrelevant types. From all these findings 33,1 percent could be prevented using the new methodology. The project time is also reduced. Therefore, the recommendation is to start using the F-DEMO methodology in future projects.
|
[PDF]
[Abstract]
|
| 3 |
|
Digital Review: Final Project Report, Final report on the project of developing the Digital Review Application
SKION is a foundation that facilitates research of children with cancer. The research consists of investigating slides and other material gotten from the treating hospitals at SKION. The results of these investigations are saved into a database, while other information gathered by SKION through forms is stored in another database. Four times a year, Dutch oncologists from all around the country meet in real life to review several slides. This is a very inefficient way of working, since all participants have to come to a central location. As a solution, Martijn Tijsma introduced the possibilities of a Digital Review. This requires an application that stores forms and combines data from the two databases and merges them on screen for all participants of the review to see. The goal of this project was to create a proof that such an application can be build (Proof of concept).
|
[PDF]
[Abstract]
|
| 4 |
|
New Information System: Design of a Web-based Information System for the planning department of Viva Telecom
Introductie:
Dit rapport is een verslag van het New Information System project bij Viva Telecom te Cochabamba, Bolivia. Nick Klomp, Paul Spiele en Bart-Jan Vink hebben hier in het kader van hun bachelorproject de
situatie geanalyseerd, een ontwerp voor een systeem gemaakt en een prototype hiervan geïmplementeerd. In de maanden juli en augustus 2006 hebben zij hiervoor intern bij Viva Telecom gewerkt.
Probleemstelling:
Aanleiding voor dit project is de waarneming van de planning manager dat de communicatie inefficiënt, asynchroon, onoverzichtelijk en slecht gearchiveerd is. Dit betreft zowel de interne als de externe
communicatie. Als mogelijke oplossing hiervoor is een web based systeem geopperd.
Opdracht:
De opdracht bestond uit het grondig analyseren van de huidige situatie en het opstellen van een ontwerp voor een web based informatie systeem dat de problemen rond de communicatie grotendeels
moet kunnen oplossen. Hiervan moest een implementatie gemaakt worden met behulp van ColdFusion. Van tevoren gestelde eisen waren dat het systeem een centrale database moest
gebruiken. Tevens moest het systeem makkelijk toegankelijk zijn maar goed beveiligd gezien de bedrijfsinformatie die in dit systeem staat.
Analyse:
Allereerst is er een analyse gemaakt van de huidige situatie. Naar aanleiding hiervan is een database model gemaakt en structuur van de applicatie opgesteld. Deze zijn voornamelijk gebaseerd op de
aanbevelingen die van uit de gebruikers gedaan werden.
Implementatie en testen:
We hebben het prototype op een incrementele wijze geïmplementeerd. Hierbij hebben het systeem opgedeeld in verschillende componenten en deze apart geprogrammeerd en getest. Vervolgens
hebben we de belangrijkste eindgebruiker deze componenten laten testen voor gebruiksgemak.
Conclusies:
De opdracht is al snel te groot en complex gebleken om in de beperkte tijd die we hadden volledig uit te werken. Hierdoor hebben wij ons in overleg met onze begeleider gericht op het framework en het GSM gedeelte. Het gebruik van ColdFusion componenten heeft een goede scheiding tussen lay-out en
functionaliteit opgeleverd, maar ook erg veel tijd gekost. Ook de soms gebrekkige begeleiding heeft onze voortgang belemmerd. Desondanks zijn we tot een werkend prototype van het systeem gekomen.
Het door ons ontwikkelde systeem is uiteindelijk in staat om alle gegevens centraal te beheren en door de beveiliging zijn de gegevens ook niet eenvoudig door buitenstaanders te benaderen.
Aanbevelingen:
Door het tijdsgebrek is het systeem nog niet af. De delen die nog ontwikkeld moeten worden kunnen door de modulaire opbouw van ons systeem echter eenvoudig toegevoegd worden. Het is belangrijk bij
dit soort projecten veel overleg met de begeleiders te hebben. Een vaste regelmaat hierin zorgt voor duidelijkheid aan beide kanten.
|
[PDF]
[Abstract]
|
| 5 |
|
Indoor Localization for Wireless Sensor Networks; Applying multiple frequencies to mitigate multipath effects
Localization has an import role in wireless sensor networks, as it adds context to gathered data. The goal of this thesis is to create an application that determines the location of a mobile sensor node in an indoor environment. A secondary goal is to get practical experience with indoor localization. Previously, in a literature review, we selected two localization algorithms for this purpose. RIPS was selected since it was tested in practice, uses no additional hardware and has a very good accuracy. CAB was selected because it is a range-free localization algorithm and has low computational complexity. RIPS turned out to be too hardware specific and was not portable to the target hardware. CAB failed because of multipath effects. However, by transmitting beacons on multiple frequencies and averaging over the received signal strength, these multipath effects can be mitigated. In this thesis, we tested the effect of multiple frequencies on a simple proximity algorithm. Although the accuracy did not improve as we expected, it did improve the robustness against temporal disturbances. We also tested the effect of multiple frequencies on two different fingerprinting systems, with the fingerprint database constructed in two ways: a small database, where samples are averaged over all channels and a large database, where samples are averaged per channel. We show that the small database provides the best accuracy with a mean localization error of 2.19 meters.
|
[PDF]
[Abstract]
|
| 6 |
|
Online portfolio system
|
[PDF]
|
| 7 |
|
Evaluating model-based diagnosis for wireless sensor networks
Model-based diagnosis is a technique where a model of a system is combined with observations from that system, to generate diagnoses for failures of the system. This thesis looks at how model-based diagnosis can be applied to wireless sensor networks (WSNs). WSNs are ad-hoc wireless networks of small form-factor, embedded nodes with limited memory and processor power. Further, they are often battery powered, meaning that energy use must be kept to a minimum. A diagnoser design is
proposed that uses the distributed nature of WSNs to find initial symptoms based on a local model, while leaving the more complex computations required to combine these symptoms to a more powerful central sink computer. A proof-of-concept design is then implemented. Results from this implementation show that using model-based diagnosis in sensor networks is certainly a viable solution. The model used in the proof of concept application created during the work on this thesis did have some problems in dense networks, showing that care must be taken when crafting the model to ensure a successful deployment.
|
[PDF]
[Abstract]
|
| 8 |
|
Automated Reuse of SystemFunctionality Information for FPA andSystem Specification
In the process of creating an information system for a customer, the function point analysis workflow and the system specification workflow fail to take advantage of each others knowledge gained during these workflows. Analyzing the functionality of a system is usually a time consuming task, which is currently performed for each workflow separately. In this research we created SFRL (System Functionality Recording Language), a means for formally recording the knowledge gained during such an analysis. By formally recording this knowledge, it becomes easier to exchange information between workflows. To make the information useful we created mappings from SFRL to function point counts based on the NESMA specification and to an initial system specification based on the UML components method. Also, we mapped the information in a UML components specification back to SFRL. These mappings were implemented in a model transformation language. This way we enabled ourselves to perform an automated function point count based on the UML components specification of a system. Furthermore, we introduced a means for performing an automated functional completeness evaluation using SFRL.
|
[PDF]
[Abstract]
|
| 9 |
|
Elektronische Wachtrij / Electronic Lab Course Queue System (ELCQS)
Tijdens practica moet vaak gewacht worden op assistentie door veel studenten. Gedurende dit BSc-project is een elektronisch wachtrijsysteem ontwikkeld om studenten en student-assistenten de mogelijkheid te geven om effectief met elkaar te communiceren.
|
[PDF]
[Abstract]
|
| 10 |
|
DIPLOID - DIstributed P2P LOcation-based Information Database
The acronym DIPLOID stands for DIstributed P2P LOcation-based Information Database. The development of DIPLOID is the main assignment of this BSc project. The purpose of this information storage system is to store location-based GMapWiki-information in a flexible extendible way using PIAX, a distributed storage system developed at Osaka University. To fulfill these goals, information is stored as a peer-to-peer system and the information is distributed over the peers in the system.
In short, DIPLOID is a two way interface between a front-end application and a storage layer.
Using DIPLOID, users should be able to create their own custom sensors, to add information to the location-based-wiki. The information added is stored on the sensor itself but it is indexed by the peer-to-peer system, to make the data accessible by all users in the system.
|
[PDF]
[Abstract]
|
| 11 |
|
A Roadmap for the Transition from Paper to Digital Records
Nowadays there are a lot of innovative activities going on in the youth care sector. One of the innovations is using digital client records instead of paper client records and in the future online access to digital records for clients. Before an organisation can make client records accessible through the internet, they have to professionalize and organize the digital client records and their own organisation. Thus when introducing a new working method in an organisation, organisations have to deal with organisational and technical changes. This thesis describes a roadmap which describes the process for transiting from paper to digital records in a youth care organisation where the organisational and technical issues will be taken into account. The DEMO methodology is used to model the organisation undergoing the change. The organisational model produced using this methodology, gives the management a good overview of how the care taking process takes place at the moment and can be used to improve this process if necessary. This model also helps to identify the roles and responsibilities of the actors involved in the organisation. Furthermore this model gives additional contribution to the concept of the Alares ‘knowledge environment’ which is also used the organisation according to its four components.
|
[PDF]
[Abstract]
|
| 12 |
|
The Friendly Project
The first assignment of this bachelorproject was to enhance the user experience of the Test Zone on
www.gmat-zone.com. This web application helps users practice tests before taking the GMAT. This
project required that research was done about the usability of the system using several techniques.
First, an online questionnaire was sent to students of the Rotterdam School of Management
asking them to participate. They were asked to look at the Test Zone and share their thoughts by
answering the questions in the questionnaire. Only one person filled in half of the questionnaire. A
paper-based version was handed out to people who attended the GMAT training courses at Collins
Kumarasinghe Associates and who had worked with the application before. Hardly anyone had used
the application because they had just started studying for the GMAT. Most people started practicing
with the application after they had finished the courses. The paper-based questionnaire was not a
success either.
Since most people attending the courses would be using the application later, they were
perfect users for the think-aloud protocol. This technique is used to identify any usability problems
by letting users, who have never used the application before, play around with the system and talk
about what they are thinking. This makes it possible to identify what people do not understand and
what parts of the application are unclear. This technique proved very effective and a lot of data was
gathered from multiple sessions with different users.
Most problems found using the think-aloud protocol were easily fixed. Most functionality
was already available in the application but users had trouble finding it. Some pages were renamed
and some bugs were fixed. Some new functionality was proposed during the second research phase.
This involved adding a progress bar to show users how much time they were spending on each
question, the possibility to rate and flag questions while taking the tests and being able to send
questions to the trainers through the website. Users were also asked about the new functionality and
they thought that each extra function was a good idea. These functions were also implemented and
tested, and did not show any other major problems with the application.
The second assignment was to gather the requirements for a car parts website, www.parts.sg, and
implementing a part of the website. This assignment was not the project described in the Orientation
Report. At first the assignment was to create an environment in which the web developer at Collins
Kumarasinghe Associates could program websites easily and quickly. Research was done to see if
another framework could support the company in a more efficient way. Collins Kumarasinghe
Associates use Joomla to create websites. The project changed when the car parts website was
ordered by the new clients. This was during the research phase and the idea became to pick a
framework that would fit this project. This framework ended up being Drupal.
Drupal is a good framework to help create community based websites. It is possible to create
many different types of users with different permissions. This was exactly what was needed for the
car parts website. Normal users are allowed to view and edit content such as parts or car brand
descriptions and these users can also offer used parts for sell. Workshops are allowed to sell new
parts and offer services. Workshops are run by other types of users, namely Workshop Moderators
and Mechanics. They have other permissions than users who are not part of a Workshop.
To gather the requirements for the website, multiple meetings were held with the clients.
First, use cases and UML diagrams were created after meeting the clients for the first time. This
highlighted what parts of the system were still unclear. After the second meeting, a PowerPoint
presentation was made. This functioned as the prototype of the website and it contained almost all
the functionality that would be found in the final version of the car parts website. This prototype
proved to be very useful. The clients were happy to see the project taking shape and the prototype
made it easy to discuss the different functions and to find missing functions. The prototype was also
used to explain the website to the other developer. After the prototype was revised a couple of times,
it was approved by the clients. After that the UML class diagram was finished and a functionality
matrix was created. A Gantt chart was made to plan the implementation phase of the website.
To implement the website, it was decided to use custom and existing modules. Modules add
certain functionality to the web application. Many useful existing modules were found but the other
programmer had a preference for his own modules. This meant that he decided to code a lot of
modules himself even though existing modules could create the same functionality. One existing
module called Modr8 contained some useful features for the Moderator function. Code was added to
this module to adhere to the specifications of the Moderator. A rating system and personal messaging
system were both implemented using existing modules. Other functionality was built using a
combination of different modules or custom modules.
|
[PDF]
[Abstract]
|
| 13 |
|
Evaluating Software Security Aspects through Fuzzing and Genetic Algorithms
Improve software security evaluation by combining fuzzing and genetic algorithms.
|
[PDF]
[Abstract]
|
| 14 |
|
Extending the Java Programming Language with Generators
The Java programming language allows to create portable applications in a variety of domains. With the continuous development and demanding environment in industrial and research fields many proposals exist to extend the language in order to facilitate a more easier development and implementation of applications. Many extensions have been implemented by applying several program transformation techniques such as Domain Specific Languages (DSLs), extensions to existing compilers, language extension assimilation, intermediate code transformation and strategy rewriting frameworks. A particular extension that has not yet been integrated in the Java programming language and merits further research is generators. This extension allows an easier implementation of iterators and is suitable for many other patterns due to its semantics.
In this thesis report we introduce generators and discuss the design and implementation of a non-intrusive solution that extends the Java programming language with this construct by means of intermediate code manipulation (bytecode weaving). We also evaluate the implemented solution and demonstrate a sample application where we assess the performance of generators. Finally, we discuss our experiences of implementing this extension in relation to a solution for language extensions in general by means of this non-intrusive approach.
|
[PDF]
[Abstract]
|
| 15 |
|
Bepaling van capaciteitseisen in ontkoppelde temporele netwerken
|
[PDF]
|
| 16 |
|
Image viewer control
|
[PDF]
|
| 17 |
|
Resolving Disruptions in Simple Temporal Problems
Simple Temporal Problems (STPs) can be used for representation of and reasoning with temporal constraint satisfaction problems. In dynamic environments, it often happens that - after a problem has been modelled as an STP - a change occurs in one of the constraints. This can lead to an inconsistent situation, in which case there are negative cycles in the distance graph representation of the STP.
In this thesis, we discuss heuristic algorithms for solving such disruptions in STPs. More specifically, we try to find a minimum set of constraints that has to be changed to remove all negative cycles from the distance graph. First, we give an overview of known approaches for solving disruptions in STPs. After that, we present some new algorithms. We look at the basic case, in which constraints may entirely be removed from the graph. Then, we discuss the case in which preferences are added to the model. Furthermore, we investigate the situation in which a single constraint is known to be the source of the inconsistency, and we want to repair the STP without changing this specific constraint. Finally, we empirically evaluate the performance of our algorithms for the basic case, and for repairing an STP with a known source of inconsistency. In these experiments, our new algorithms are shown to outperform existing algorithms.
|
[PDF]
[Abstract]
|
| 18 |
|
On The Coupling Of Architectures: Leveraging DEMO Theory Within The ARIS Framework
This thesis project has been carried out within the Data and ICT Service Centre of the Directorate‐General for Public Works and Water Management (Rijkswaterstaat).
The project is aimed at exploring how architectures that are based on the DEMO methodology and the ARIS framework can be consistently interconnected in practice. The architectures that were used are the Dienstverleningsmodellen (DVL) and the Uniforme Primaire Processen (UPP) of Rijkswaterstaat, which are based on DEMO and ARIS respectively. The research culminates in the development of a consistent coupling between these two architectures.
The project is defined by the following question:
“How can DVL and UPP models be coupled to each other in a way that is consistent?”
The following results of the project provide an answer to the research question:
- A description of the current state of coupling
- A description of the consistent state of coupling
- A method to achieve the consistent state of coupling
- Guidelines to maintain the consistency of the coupling
|
[PDF]
[PDF]
[Abstract]
|
| 19 |
|
On the design and synthesis of voting games : exact solutions for the inverse problems
In many real-world decision making settings, situations arise in which the parties (or: players) involved must collectively make decisions while not every player is supposed to have an equal amount of influence in the outcome of such a decision. The "weighted voting game" is a model that is often used to make such decisions. The amount of influence that a player has in a weighted voting game can be measured by means of various power indices.
Weighted voting games are part of the more general class of simple games. In this thesis, we study the problem of finding for a given class of simple games (including weighted voting games), the game in which the distribution of the influence among the players is as close as possible to a given target value (i.e. power index). We investigate the posibilities that we have for exactly solving this problem. For the case of weighted voting games, we obtain a method that relies on a new efficient procedure for enumerating weighted voting games of a fixed number of players.
The enumeration algorithm we propose works by exploiting the properties of a specific partial order over the class of weighted voting games, for which we prove existence. The algorithm enumerates weighted voting games of a fixed number of players in time exponential in the number of players, but polynomial in the number of games output. As a consequence we obtain an exact anytime algorithm for designing weighted voting games.
We look at various ways to improve on this algorithm. A large improvement follows by exploiting the properties of two specific types of coalitions, which we refer to as roof coalitions and ceiling coalitions. The algorithm, together with these improvements, has been implemented in order to measure the practical performance and to obtain various data on the class of weighted voting games.
Our method for solving the voting game design problem heavily relies on the ability to transform between different representations of simple games, which we refer to as "voting game synthesis problems". We give an extensive treatment of these synthesis problems, and in particular we prove that there does not exist a polynomial time algorithm that transforms the list of ceiling coalitions of a game into the list of roof coalitions. However, we also show that an output-polynomial time algorithm for this problem actually does exist, by providing one.
|
[PDF]
[Abstract]
|
| 20 |
|
Plan repair in decoupled Simple Temporal Problems
Airports will face congestion problems due to increasing air traffic. Since airport expansion is not always possible, other solutions must be found. One solution could be to make better use of the parties at an airport.
Ground handling parties are an example of parties at an airport. Aircraft fueling, passenger boarding and cleaning of an aircraft are examples of ground handling processes, which are performed by ground handling parties.
This thesis focuses on replanning of ground handling processes. The original ground handling process plan is modeled as a Simple Temporal Problem. By solving the Temporal Decoupling Problem for a given plan, the plan is split into several independent subplans, each subplan represents a plan for a service provider. Whenever an aircraft is delayed or one of the ground handling processes is disturbed, the current plan may become infeasible. Subsequently, repair algorithms have to be applied to repair the broken plan.
The main contribution of this thesis is to propose repair algorithms for a ground handling process plan, modeled as a decoupled Simple Temporal Problem.
|
[PDF]
[Abstract]
|