\documentclass[a4paper,12pt]{report} \usepackage{hyperref} \usepackage{a4wide} \usepackage{indentfirst} \usepackage[english]{babel} \usepackage{graphics} \usepackage[pdftex]{graphicx} \usepackage{latexsym} \usepackage{fancyhdr} \usepackage{fancyvrb} \usepackage[all]{hypcap} \pagestyle{fancyplain} \newcommand{\tstamp}{\today} \newcommand{\id}{$ $Id: report.tex 454 2008-01-05 21:18:31Z rick $ $} \lfoot[\fancyplain{\tstamp}{\tstamp}] {\fancyplain{\tstamp}{\tstamp}} \cfoot[\fancyplain{\id}{\id}] {\fancyplain{\id}{\id}} \rfoot[\fancyplain{\thepage}{\thepage}] {\fancyplain{\thepage}{\thepage}} \title{ Requirements engineering \\ \large{Assignment 6 - organisational analyse} \\ \large{Stichting Wireless Leiden}} \author{Rick van der Zwet\\ \texttt{}\\ \\ LIACS\\ Leiden University\\ Niels Bohrweg 1\\ 2333 CA Leiden\\ The Netherlands} \date{\today} \begin{document} \maketitle \chapter{Introduction} The assignment given out by Luuk Groenewegen as part of the course Requirement Engineering to help learning applying the theory in a practical example. The assignment has been split into 6 parts, every chapter will handle one of them. The original questions could be found in appendix~\ref{chap:questions}. Instead of choosing a default industrial or governmental organisation, a non-profit organisation is chosen. \chapter{Description} Stichting Wireless Leiden (hereafter called WL) has got a mission statement to build a wireless local network, technically comparable to the Internet, but standing alone and functioning independently. Making the connection easy and traffic free. This is done with the hands of sponsors and many volunteers. Inside WL a number groups are working on ICT related services. Some highlighted ones: \begin{description} \item[Maintenance ('beheer')] Keeps the network and supporting services keeps running. \item[R\&D ('techniek')] will build new software and hardware solutions. \item[Support ('gebruikers')] is helping persons to get connected. \item[Construction ('nodebouw')] will create new network points. \end{description} This paper will focus on the group maintenance as I am primary active inside this group and know most about it. The group mainly communicate by the means of an mailinglist, email send such list will received by all members of the list. All persons are unpaid volunteers with no agreements made with the foundations in terms of SLA or else. Every active member however did sign the 'volunteer agreement', which ensures people will no abuse the power they receive and will not mislead other volunteers or external persons in the name of WL. It is a very informal infrastructure, where apart from some technical setup nothing is documented. There is no hierarchy in terms of bosses and/or managers and people are free to contribute whenever they like. \chapter{Activity diagram} \label{chap:activity} Instead of making activity diagrams for the whole organisation, which are complicated and will not be clear in a short time-period. Only some parts of organisation will be highlighted. The activity diagrams will focus on maintenance and construction. \begin{figure} \centering \includegraphics[width=.8\textwidth]{wl-maintenance-activity.eps} \label{fig:maintenance-activity} \caption{Activity diagram of maintenance 'group'} \end{figure} \begin{figure} \centering \includegraphics[width=.8\textwidth]{wl-construction-activity.eps} \label{fig:construction-activity} \caption{Activity diagram of construction group} \end{figure} Figure~\ref{fig:construction-activity} on page~\pageref{fig:construction-activity} will show the activity diagram of construction of a node \footnote{piece of hardware with radio antennas which provides a connection point for the people around the node and a number of antennas/hardware to provide connectivity between nodes}. A site-survey will mean taking pictures of the possible location and do radio scanning to check for potential connections with other nodes and possible interference inside the neighborhood. Documenting will include putting the information in the version control system. Figure~\ref{fig:maintenance-activity} on page~\pageref{fig:maintenance-activity} will show the activity diagram of construction, the caption has quotes around 'group'. Those are intentional cause we cannot look at the group at one glance, but we have to look all persons individually. No person is assigned to a certain task or responsible for certain part of the system, which will cause all persons in the group to do the same activity diagram and not the group all together. None of the activities are related of monitoring the processes or making sure problems are actually fixed or improved, which are some vital parts of embedded feedback loop pattern. Some parts however are covered. Environment input is set to be incoming problems from various sources, output will be the fixed problem. Production process is visualized inside the activity diagram. The Management information system will the the gathering of all problems, comments and their status. But standards, management, control, (intern) data, information and external data are currently lacking. \chapter{Class diagram} \label{chap:class} \begin{figure} \centering \includegraphics[width=.8\textwidth]{wl-maintenance-class.eps} \label{fig:m-c} \caption{Class diagram of maintenance group} \end{figure} Figure~\ref{fig:m-c} on page~\pageref{fig:m-c} has got a class diagram which reflect the execution of the activity diagram as found in figure~\ref{fig:maintenance-activity}. Depending whether someone has time is very subjective and has been put in a function gotTime(), but there is no solid definition for this case. Note that a problem is very subjective as well and there is not definition of a problem, it might as well could be an announcement for a birthday party. \chapter{Use Cases} \label{chap:use-case} \begin{figure} \centering \includegraphics[width=.8\textwidth]{wl-maintenance-use-case.eps} \label{fig:use-case} \caption{Uses Case of maintenance application, the mailinglist. In order to keep the picture readable the generalisations of the actors are left out. This is a hierarchical tree namely admin, moderator, member, user} \end{figure} Figure~\ref{fig:use-case} on page~\pageref{fig:use-case} has got the use case of the open source mailinglist system called mailman \footnote{http://www.gnu.org/software/mailman/}, this application is used in maintenance group to support communication and problem solving of activity and class diagram as described in chapter~\ref{chap:activity} and chapter~\ref{chap:class}. Functionality is relatively simple, both powerful at the same time. The system does not say anything about the possible usage of the system which makes it workable for multiple parts of the organisation, inside WL system is virtually used in all groups of WL to communicate and discuss various topics. The admin is in charge of the technical parts of the mailinglist system, most of the times he/she is responsible for all mailing-lists of the organisation. The moderator is set in place in order to prevent abuse of the system, by sending fake/unwanted messages like spam and to ensure to keep certain lists free of non-volunteers, like a list of all volunteers which did sign their 'volunteer agreement'. But also to make sure the admin could focus on his part and not to get distracted/flooded by the moderator requests. \chapter{Change Proposal} The so powerful, easy to use, simple mailing system as described in chapter~\ref{chap:use-case} has one major problem as it comes to supporting the maintenance group. This is no way to track a problem or to do something which related to reporting as there are no states defined. Which will cause the embedded feedback loop to be broken, the flow from the main process to the management and back is missing. Changing this will be almost impossible, cause it require a lot of rule setting -like predefined email formats- which will make it more difficult for persons to participate in the process. A better solution will be to start looking at a so called issue tracking system, which makes it possible to address a state to a problem. An other problem relates to the moderators' task, email is frequently abused as spam making the moderator job cumbersome and time consuming. Every email of a non-member needs to verified and checked. The last problem relates to the email communication in general; \begin{itemize} \item Everybody use their own email client which makes every message unique. \item There are social rules involved, where to type your text when replaying on a email message for example. \item The underlying email communication systems are fairly difficult and error prone, due the many technical factors -like DNS/network/programs/filters- involved. \end{itemize} \chapter{New Use Cases} \begin{figure} \centering \includegraphics[width=.8\textwidth]{wl-maintenance-issue-tracking.eps} \label{fig:issue-tracking} \caption{Uses Case of suggested maintenance application, issue tracker. In order to keep the picture readable the generalisations of the actors are left out. This is a hierarchical tree namely admin, moderator, member, user} \end{figure} Figure~\ref{fig:issue-tracking} at page~\pageref{fig:issue-tracking} will propose the use cases involved into such issue tracking system. There exist almost an one-to-one mapping with the old use case at page~\pageref{fig:use-case}. To get rid of email communication as primary source, a web-based application will be setup. To address the spam problem, users will first need to register before they are allowed to create a issue, which removes the 2 use cases `Moderate email' and `Post email` (linked to the actor user). `Post email' has been split into `Create issue' and alter `Alter issue'. `Set list properties will become `Set project properties' \chapter{Check effectively} Effectively could be defined in many ways in a volunteer organisation, only checking the time needed to solve a problem might not be sufficient. More important is looking at the human touch. Volunteers needs to be more happy with the systems and willing to address more time to a project cause of the new system. The new system will need to assist them more than the old systems. Next will be the user -the person who reported the problem-. Checking whether a user is more happy with the new system could be checked by simply asking him, but there could also be a more technical approach. Check the amount of problems coming in and whether a user asks multiple different questions. Asking new questions means that the user is willing to spend time to have a problems fixed and has trust the system and underlying structure will solve the problem. Talking to volunteers and users will the only way to check whether the new system works more efficient, as the bits and bytes only will be far from sufficient. \appendix \chapter{Original questions} \label{chap:questions} RE-assignment November 2005 my deadline proposal: Monday 2 January 2006 Select an existing organization - industrial or governmental - about which you can be informed quite easily and in which ICT-applications do play a role; e.g., the organization your mother is employed in or your father or yourself or someone else you are acquainted with. a. Describe the organization verbally and not too long, including ICT's role(s) in it; use a half to one A4 for it. b. Give an activity diagram of it (drawing!), which moreover is according to the embedded feedback loop pattern; apart from the figure, explain in not more than one A4. c. Give a class diagram with their attributes and methods, such that these methods reflect the execution of the above activities or the manipulations by these activities and with relationships reflecting relevant connections between them. Explain in not more than one and a halve A4. d. Give one or more use case diagrams together with a description of the various use cases, covering the process support offered by the software / information system(s) as well as the main activities in and around the organization. Explain in not more than two A4 - and one might be enough. e. Formulate a change proposal for the support as modelled in d. Keep the embedded feedback loop pattern (as clear) as it was; also, keep as many of the classes involved as you can. Explain in one A4. f. Describe new use cases, where relevant in relation to already existing ones. explain the goal of the change proposed in not more than one A4. g. How can one, after the change has been implemented, check the effectivity of the change in relation to the goal. Explain carefully, but in not more than one A4. \end{document}