From 4ca23ff4129fd1fcc0676c96452f78d4c5ff4774 Mon Sep 17 00:00:00 2001
From: Oliver Schinagl <oliver@schinagl.nl>
Date: Mon, 24 Oct 2005 18:22:14 +0000
Subject:

---
 ADD/ADD.pdf          | Bin 0 -> 165190 bytes
 ADD/ADD.tex          |   4 +
 ADD/ClassDiagram.jpg | Bin 0 -> 311747 bytes
 ADD/chapter2.tex     |  46 ++-
 ADD/chapter3.tex     | 988 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 UML/B10.zuml         | Bin 223040 -> 223289 bytes
 6 files changed, 1031 insertions(+), 7 deletions(-)
 create mode 100644 ADD/ADD.pdf
 create mode 100644 ADD/ClassDiagram.jpg

diff --git a/ADD/ADD.pdf b/ADD/ADD.pdf
new file mode 100644
index 0000000..3e7bc07
Binary files /dev/null and b/ADD/ADD.pdf differ
diff --git a/ADD/ADD.tex b/ADD/ADD.tex
index f9f82e4..1015bfb 100644
--- a/ADD/ADD.tex
+++ b/ADD/ADD.tex
@@ -8,6 +8,10 @@
 %----------------------------------------------------------
 \documentclass[11pt,a4paper,twoside]{book}
 \usepackage{docstyle}
+\usepackage{graphicx}
+\usepackage{longtable}
+\usepackage[pdftex]{hyperref}
+
 \renewcommand{\title}{Architectural Design Document}
 \renewcommand{\author}{W.F. Schellekens \\ O.M. Schinagl \\ T.A. van Roermund}
 \newcommand{\docver}{1.0}
diff --git a/ADD/ClassDiagram.jpg b/ADD/ClassDiagram.jpg
new file mode 100644
index 0000000..d4cc62e
Binary files /dev/null and b/ADD/ClassDiagram.jpg differ
diff --git a/ADD/chapter2.tex b/ADD/chapter2.tex
index 82abeb1..4a838e2 100644
--- a/ADD/chapter2.tex
+++ b/ADD/chapter2.tex
@@ -1,12 +1,47 @@
 \chapter{Overall design}
 \section{System overview}
-\textit{Short description of what the systems's function is and any important background or constraints}.
-TCCRMS enables the organization to beter serve their customers through the introduction of reliable process and procedures of interacting with those customers. 
-The following functions are It shows customer details to the employee when the customer is calling.
+TCCRMS enables the organization to better serve their customers
+through the introduction of reliable process and procedures of
+interacting with those customers.\\
+The system will support or automate the tasks in the insurance
+proposal and/or an insurance policy making process. It provides
+detailed information about the client, claims and payments, to
+employees. Employees will also use this system to track and manage
+there own careers and those of other employees.\\
+The system will be build from scratch, because this isn't an update
+of an earlier system.
 
 
 \section{Stakeholders}
-\textit{Who the users of the system are and maybe their concerns or relevant views}.
+The system has a couple of stakeholder groups.
+
+The first group consists of the users of the system. This group
+contains the sales representatives, clients (via website),
+administrative personnel and the business department. The main
+purpose of this document for this group is to show that every
+requirement is adequately provided by the system. The sequence
+diagrams are the views for this particular group.
+
+The second group are the people who will maintain the system. The
+main purpose of this document for this group is to show how the
+system is build and deployed, so it can be understood and
+maintained. The logical view shows how the system is divided into
+classes and describes the functionality of the the system. The
+deployment view shows where each component or layer will be
+installed.
+
+The third group are the developers who will implement the system.
+The main purpose of this document for this group is to show what has
+to be implemented. The logical view shows the functionality that
+should be implemented.
+
+The last group consist of the managers who will divide the work,
+assign development teams and must calculate project metrics. The
+main purpose of this document for this group is to show how the
+system can be divided into smaller subsystems. The development view
+shows how the system can be divided.
+
+
 
 \section{View template}
 This is a description of the template of used to describe all of the views.
@@ -32,9 +67,8 @@ The assumptions part will describe any assumptions reflected in the design.
 
 
 \section{Chosen views}
-\textit{Rationale about the chosen views}.
+See \textit{stakeholders} section for explanation of chosen views.
 
 
 \section{Mapping between views}
 \textit{relationships among the views}
-
diff --git a/ADD/chapter3.tex b/ADD/chapter3.tex
index 5dc7ee8..81fc67a 100644
--- a/ADD/chapter3.tex
+++ b/ADD/chapter3.tex
@@ -1,15 +1,1001 @@
 \chapter{Logical view}
-\textit{UML class diagram}
+
 \section{Primary presentation}
 
 \section{Element catalog}
+This section describes all of the classes in the class diagram as
+shown above. Each class description contains a general purpose of
+the class, the attributes of the class, the operations of the class
+and the relations with other classes.
+
+\subsection*{Person}
+This class is a general class which specifies the common attributes
+for a person.
+
+The class attributes are:
+\begin{longtable}{|p{12mm}|p{30mm}|p{80mm}|}
+  \hline
+  \textbf{ID} & \textbf{Attribute name} & \textbf{Description} \\
+  \hline
+  AT0101 & name & Represents the name of the person \\
+  \hline
+  AT0102 & address & Represents the address of the person\\
+  \hline
+  AT0103 & telephone\_nr & Represents the telephone number of the person\\
+  \hline
+  AT0104 & e-mail & Represents the e-mail address of the person\\
+  \hline
+  AT0105 & fax\_nr & Represents the fax number of the person\\
+  \hline
+  AT0106 & mobile\_nr & Represents the mobile number of the person\\
+  \hline
+\end{longtable}
+
+This class has the following relations:
+\begin{longtable}{|p{30mm}|p{20mm}|p{70mm}|}
+  \hline
+  \textbf{Related with} & \textbf{Multiplicity} & \textbf{Description} \\
+  \hline
+  Employee & - & Generalization \\
+  \hline
+  Client & - & Generalization \\
+  \hline
+  WebsiteUser & - & Generalization \\
+  \hline
+  Representative & - & Generalization \\
+  \hline
+  System & * & Known by system  \\
+  \hline
+\end{longtable}
+
+
+
+\subsection*{Employee}
+This class represents an employee of TOTAL COVER.
+
+The class attributes are:
+\begin{longtable}{|p{12mm}|p{30mm}|p{80mm}|}
+  \hline
+  \textbf{ID} & \textbf{Attribute name} & \textbf{Description} \\
+  \hline
+  AT0201 & employee\_ID & Represents the unique ID number of the employee \\
+  \hline
+  AT0202 & insurance\_nr & Represents the insurance number of the employee \\
+  \hline
+  AT0203 & benefit\_structure & Represents the benefit structure the employee has \\
+  \hline
+  AT0204 & leave\_accrued & Represents the amount of leave the employee has accrued \\
+  \hline
+  AT0205 & contract\_staff & Represents if the employee is a contract staff \\
+  \hline
+  AT0206 & career\_steps & Represents the list of career steps of the employee \\
+  \hline
+  AT0207 & salaries & Represents the list of salary records of the employee \\
+  \hline
+  AT0208 & timesheets & Represents the list of timesheets of the employee\\
+  \hline
+  AT0209 & auth\_level & Represents the authorization level of the employee \\
+  \hline
+\end{longtable}
+
+The class operations are:
+\begin{longtable}{|p{12mm}|p{30mm}|p{80mm}|}
+  \hline
+  \textbf{ID} & \textbf{Operation name} & \textbf{Description} \\
+  \hline
+  OP0201 & Employee & Creates a new employee \\
+  \hline
+  OP0202 & DeleteEmployee & Deletes the employee \\
+  \hline
+  OP0203 & SearchTimesheet & Searches a specific timesheet of the employee \\
+  \hline
+  OP0204 & SearchSalary &  Searches a specific salary record of the employee\\
+  \hline
+  OP0205 & SearchCareerStep & Searches a specific career step of the employee \\
+  \hline
+  OP0206 & AddCareerStep & Adds a career step of the employee \\
+  \hline
+  OP0207 & AddSalary & Adds a salary record of the employee \\
+  \hline
+  OP0208 & AddTimesheet & Adds a timesheet of the employee</p> \\
+  \hline
+  OP0209 & RemoveCareerStep & Removes a career step of the employee \\
+  \hline
+  OP0210 & RemoveSalary & Removes a salary record of the employee \\
+  \hline
+  OP0211 & RemoveTimesheet & Removes a timesheet of the employee \\
+  \hline
+  OP0212 & CheckAuthorization & Checks if employee has right authorization level \\
+  \hline
+\end{longtable}
+
+This class has the following relations:
+\begin{longtable}{|p{30mm}|p{20mm}|p{70mm}|}
+  \hline
+  \textbf{Related with} & \textbf{Multiplicity} & \textbf{Description} \\
+  \hline
+  Employee & * & Is managed by \\
+  \hline
+  Employee & * & Manages \\
+  \hline
+  Timesheet & * & Has time sheets\\
+  \hline
+  Salary & * & Salaries recieved\\
+  \hline
+  CareerStep & * & Career steps taken \\
+  \hline
+  Client & * &  Manages\\
+  \hline
+  ClientType & * & Manages \\
+  \hline
+  InsurancePackage & * & Manages \\
+  \hline
+  SingleInsurance & * & Manages \\
+  \hline
+  InsuranceProposal & * & Responsible for\\
+  \hline
+  Person & - & Inherits from \\
+  \hline
+\end{longtable}
+
+
+
+
+\subsection*{Client}
+This class represents a client of TOTAL COVER.
+
+The class attributes are:
+\begin{longtable}{|p{12mm}|p{30mm}|p{80mm}|}
+  \hline
+  \textbf{ID} & \textbf{Attribute name} & \textbf{Description} \\
+  \hline
+  AT0301 & client\_ID & Represents the unique client number \\
+  \hline
+  AT0302 & representative\_IDs & Represents the list of representatives of the client \\
+  \hline
+\end{longtable}
+
+The class operations are:
+\begin{longtable}{|p{12mm}|p{35mm}|p{75mm}|}
+  \hline
+  \textbf{ID} & \textbf{Operation name} & \textbf{Description} \\
+  \hline
+  OP0301 & Client & Creates a new client \\
+  \hline
+  OP0302 & DeleteClient & Deletes the client \\
+  \hline
+  OP0303 & EditClient & Edits a client \\
+  \hline
+  OP0304 & QueryClient & Queries a client \\
+  \hline
+  OP0305 & AddRepresentative & Adds a representative to the representative list \\
+  \hline
+  OP0306 & RemoveRepresenative & Removes a representative from the list \\
+  \hline
+\end{longtable}
+
+This class has the following relations:
+\begin{longtable}{|p{30mm}|p{20mm}|p{70mm}|}
+  \hline
+  \textbf{Related with} & \textbf{Multiplicity} & \textbf{Description} \\
+  \hline
+  Representative  & * & Is represented by \\
+  \hline
+  Employee  & 1 & Managed by  \\
+  \hline
+  ClientType  & 1 & Is of type \\
+  \hline
+  InsurancePolicy  & 1..* & Has  \\
+  \hline
+  InsuranceProposal  & 1..* & Has \\
+  \hline
+  Payment  & * & Made \\
+  \hline
+  Person  & - & Inherits from \\
+  \hline
+\end{longtable}
+
+
+
+\subsection*{Representative}
+This class represents a representative of a client.
+
+The class attributes are:
+\begin{longtable}{|p{12mm}|p{30mm}|p{80mm}|}
+  \hline
+  \textbf{ID} & \textbf{Attribute name} & \textbf{Description} \\
+  \hline
+  AT0401 & representative\_ID & Represents the unique representative number \\
+  \hline
+\end{longtable}
+
+The class operations are:
+\begin{longtable}{|p{12mm}|p{33mm}|p{77mm}|}
+  \hline
+  \textbf{ID} & \textbf{Operation name} & \textbf{Description} \\
+  \hline
+  OP0401 & Representative & Creates a new representative \\
+  \hline
+  OP0402 & DeleteRepresentative & Deletes the representative \\
+  \hline
+\end{longtable}
+
+This class has the following relations:
+\begin{longtable}{|p{30mm}|p{20mm}|p{70mm}|}
+  \hline
+  \textbf{Related with} & \textbf{Multiplicity} & \textbf{Description} \\
+  \hline
+  Person & - & Inherits from \\
+  \hline
+  Client & 1 & Represents \\
+  \hline
+\end{longtable}
+
+
+
+\subsection*{WebsiteUser}
+This class represent a registered user of the website.
+
+The class attributes are:
+\begin{longtable}{|p{12mm}|p{30mm}|p{80mm}|}
+  \hline
+  \textbf{ID} & \textbf{Attribute name} & \textbf{Description} \\
+  \hline
+  AT0501 & user\_ID & Represents the unique website user number \\
+  \hline
+  AT0502 & login\_name & Represents the login name of the website user \\
+  \hline
+  AT0503 & password & Represents the password of the website user \\
+  \hline
+\end{longtable}
+
+The class operations are:
+\begin{longtable}{|p{12mm}|p{30mm}|p{80mm}|}
+  \hline
+  \textbf{ID} & \textbf{Operation name} & \textbf{Description} \\
+  \hline
+  OP0501 & WebsiteUser & Creates a new website user \\
+  \hline
+  OP0502 & DeleteWebsiteUser & Deletes the website user \\
+  \hline
+\end{longtable}
+
+This class has the following relations:
+\begin{longtable}{|p{30mm}|p{20mm}|p{70mm}|}
+  \hline
+  \textbf{Related with} & \textbf{Multiplicity} & \textbf{Description} \\
+  \hline
+  InsuranceProposal & 0..1 & Has \\
+  \hline
+  Person & - & Inherits from \\
+  \hline
+\end{longtable}
+
+
+
+\subsection*{System}
+This class represents the system which has common and high level
+operations.
+
+The class operations are:
+\begin{longtable}{|p{12mm}|p{30mm}|p{80mm}|}
+  \hline
+  \textbf{ID} & \textbf{Operation name} & \textbf{Description} \\
+  \hline
+  OP0601 & LoginWebsiteUser & Does login a website user\\
+  \hline
+  OP0602 & LoginEmployee & Does login an employee \\
+  \hline
+  OP0603 & SearchCaller & Searches the callers details if available \\
+  \hline
+\end{longtable}
+
+This class has the following relations:
+\begin{longtable}{|p{30mm}|p{20mm}|p{70mm}|}
+  \hline
+  \textbf{Related with} & \textbf{Multiplicity} & \textbf{Description} \\
+  \hline
+  Person & * & Knows about\\
+  \hline
+\end{longtable}
+
+
+
+\subsection*{Timesheet}
+This class represents a time sheet that an employee filled in for a
+particular work day.
+
+The class attributes are:
+\begin{longtable}{|p{12mm}|p{30mm}|p{80mm}|}
+  \hline
+  \textbf{ID} & \textbf{Attribute name} & \textbf{Description} \\
+  \hline
+  AT0701 & timesheet\_ID & Represents the unique timesheet number \\
+  \hline
+  AT0702 & ts\_date & Represents the date for which the timesheet is about \\
+  \hline
+  AT0703 & hours\_worked & Represents the number of hours the employee worked on that day \\
+  \hline
+  AT0704 & hours\_leave & Represents the number of hours the employee took leave that day \\
+  \hline
+\end{longtable}
+
+The class operations are:
+\begin{longtable}{|p{12mm}|p{30mm}|p{80mm}|}
+  \hline
+  \textbf{ID} & \textbf{Operation name} & \textbf{Description} \\
+  \hline
+  OP0701 & Timesheet & Creates a new timesheet \\
+  \hline
+  OP0702 & DeleteTimesheet & Deletes the timesheet \\
+  \hline
+\end{longtable}
+
+This class has the following relations:
+\begin{longtable}{|p{30mm}|p{20mm}|p{70mm}|}
+  \hline
+  \textbf{Related with} & \textbf{Multiplicity} & \textbf{Description} \\
+  \hline
+  Employee & 1 & Is of \\
+  \hline
+\end{longtable}
+
+
+
+\subsection*{Salary}
+This class represents a salary record of an employee.
+
+The class attributes are:
+\begin{longtable}{|p{12mm}|p{30mm}|p{80mm}|}
+  \hline
+  \textbf{ID} & \textbf{Attribute name} & \textbf{Description} \\
+  \hline
+  AT0801 & salary\_ID & Represents the unique salary record number  \\
+  \hline
+  AT0802 & tax\_percentage & Represents the tax percentage calculated over the salary \\
+  \hline
+  AT0803 & salary\_amount & Represents the salary amount of the salary record \\
+  \hline
+  AT0804 & salary\_date & Represents the payment date of the salary \\
+  \hline
+\end{longtable}
+
+The class operations are:
+\begin{longtable}{|p{12mm}|p{30mm}|p{80mm}|}
+  \hline
+  \textbf{ID} & \textbf{Operation name} & \textbf{Description} \\
+  \hline
+  OP0801 & Salary & Creates a new salary record \\
+  \hline
+  OP0802 & DeleteSalary & Deletes the salary record \\
+  \hline
+\end{longtable}
+
+This class has the following relations:
+\begin{longtable}{|p{30mm}|p{20mm}|p{70mm}|}
+  \hline
+  \textbf{Related with} & \textbf{Multiplicity} & \textbf{Description} \\
+  \hline
+  Employee & 1 & Is of \\
+  \hline
+\end{longtable}
+
+
+
+\subsection*{CareerStep}
+This class represents a career step which an employee has taken.
+
+The class attributes are:
+\begin{longtable}{|p{12mm}|p{30mm}|p{80mm}|}
+  \hline
+  \textbf{ID} & \textbf{Attribute name} & \textbf{Description} \\
+  \hline
+  AT0901 & step\_ID & Represents the unique career step number \\
+  \hline
+  AT0902 & job\_function & Represents the job function of the employee in the career step \\
+  \hline
+  AT0903 & step\_begin\_date & Represents the begin date of the career step \\
+  \hline
+  AT0904 & step\_end\_date & Represents the end date of the career step \\
+  \hline
+  AT0905 & step\_info & Represents additional info about the career step \\
+  \hline
+\end{longtable}
+
+The class operations are:
+\begin{longtable}{|p{12mm}|p{30mm}|p{80mm}|}
+  \hline
+  \textbf{ID} & \textbf{Operation name} & \textbf{Description} \\
+  \hline
+  OP0901 & CareerStep & Creates a new career step \\
+  \hline
+  OP0902 & DeleteCareerStep & Deletes the career step \\
+  \hline
+\end{longtable}
+
+This class has the following relations:
+\begin{longtable}{|p{30mm}|p{20mm}|p{70mm}|}
+  \hline
+  \textbf{Related with} & \textbf{Multiplicity} & \textbf{Description} \\
+  \hline
+  Employee & 1 & Is of \\
+  \hline
+\end{longtable}
+
+
+
+\subsection*{ClientType}
+This class represents a type of the client.
+
+The class attributes are:
+\begin{longtable}{|p{12mm}|p{30mm}|p{80mm}|}
+  \hline
+  \textbf{ID} & \textbf{Attribute name} & \textbf{Description} \\
+  \hline
+  AT1001 & client\_type\_ID & Represents the unique client type number \\
+  \hline
+  AT1002 & type\_name & Represents the name of the client type \\
+  \hline
+  AT1003 & type\_info & Represents info about the client type \\
+  \hline
+\end{longtable}
+
+The class operations are:
+\begin{longtable}{|p{12mm}|p{30mm}|p{80mm}|}
+  \hline
+  \textbf{ID} & \textbf{Operation name} & \textbf{Description} \\
+  \hline
+  OP1001 & ClientType & Creates a new client type \\
+  \hline
+  OP1002 & DeleteClientType & Deletes the client type \\
+  \hline
+  OP1003 & EditClientType & Edits a client type \\
+  \hline
+\end{longtable}
+
+This class has the following relations:
+\begin{longtable}{|p{30mm}|p{20mm}|p{70mm}|}
+  \hline
+  \textbf{Related with} & \textbf{Multiplicity} & \textbf{Description} \\
+  \hline
+  Client & * & Describes type for\\
+  \hline
+  SingleInsurance & * & Describes type for \\
+  \hline
+\end{longtable}
+
+
+
+
+\subsection*{Insurance}
+This class represents the common operations and attributes of an
+insurance.
+
+The class attributes are:
+\begin{longtable}{|p{12mm}|p{30mm}|p{80mm}|}
+  \hline
+  \textbf{ID} & \textbf{Attribute name} & \textbf{Description} \\
+  \hline
+  AT1101 & insurance\_ID & Represents the unique insurance number \\
+  \hline
+  AT1102 & cross\_sell\_IDs & Represents the list of insurance IDs which are cross-sell opportunities for this insurance \\
+  \hline
+  AT1103 & up\_sell\_IDs & Represents the list of insurance IDs which are up-sell opportunities for this insurance \\
+  \hline
+\end{longtable}
+
+The class operations are:
+\begin{longtable}{|p{12mm}|p{50mm}|p{60mm}|}
+  \hline
+  \textbf{ID} & \textbf{Operation name} & \textbf{Description} \\
+  \hline
+  OP1101 & AddUpSell & Adds a up sell opportunities to the list \\
+  \hline
+  OP1102 & AddCrossSell & Adds a cross sell opportunities to the list \\
+  \hline
+  OP1103 & RemoveUpSell & Removes a up sell opportunities to the list \\
+  \hline
+  OP1104 & RemoveCrossSell & Removes a cross sell opportunities to the list \\
+  \hline
+  OP1105 & CheckCrossSellOpportunities & Checks for proposals which apply to a new cross opportunities \\
+  \hline
+  OP1106 & CheckUpSellOpportunities & Checks for proposals which apply to a new up sell opportunities\\
+  \hline
+\end{longtable}
+
+This class has the following relations:
+\begin{longtable}{|p{30mm}|p{20mm}|p{70mm}|}
+  \hline
+  \textbf{Related with} & \textbf{Multiplicity} & \textbf{Description} \\
+  \hline
+  SingleInsurance & - & Inherits from \\
+  \hline
+  InsurancePackage & - & Inherits from \\
+  \hline
+  InsuranceProposal & * & Used in \\
+  \hline
+\end{longtable}
+
+
+
+
+\subsection*{SingleInsurance}
+This class represents a single insurance which can be used in an
+insurance proposal.
+
+The class attributes are:
+\begin{longtable}{|p{12mm}|p{30mm}|p{80mm}|}
+  \hline
+  \textbf{ID} & \textbf{Attribute name} & \textbf{Description} \\
+  \hline
+  AT1201 & insurance\_name & Represents the name of the single insurance \\
+  \hline
+  AT1202 & insurance\_info & Represents the info about the single insurance \\
+  \hline
+\end{longtable}
+
+The class operations are:
+\begin{longtable}{|p{12mm}|p{35mm}|p{75mm}|}
+  \hline
+  \textbf{ID} & \textbf{Operation name} & \textbf{Description} \\
+  \hline
+  OP1201 & SingleInsurance & Creates a new single insurance \\
+  \hline
+  OP1202 & DeleteSingleInsurance & Delete the single insurance \\
+  \hline
+  OP1203 & EditSingleInsurance & Edit the single insurance  \\
+  \hline
+\end{longtable}
+
+This class has the following relations:
+\begin{longtable}{|p{30mm}|p{20mm}|p{70mm}|}
+  \hline
+  \textbf{Related with} & \textbf{Multiplicity} & \textbf{Description} \\
+  \hline
+  SingleInsurance & * & Is up-sell for \\
+  \hline
+  SingleInsurance & * & Has up-sell \\
+  \hline
+  SingleInsurance & * & Is cross-sell for \\
+  \hline
+  SingleInsurance & * & Has cross-sell \\
+  \hline
+  InsurancePackage & * & Is in \\
+  \hline
+  ClientType & 1 & Is of type \\
+  \hline
+  Employee & 1..* & Managed by \\
+  \hline
+  Insurance & - & Inherits from \\
+  \hline
+\end{longtable}
+
+
+
+
+\subsection*{InsurancePackage}
+This class represents an insurance package.
+
+The class attributes are:
+\begin{longtable}{|p{12mm}|p{30mm}|p{80mm}|}
+  \hline
+  \textbf{ID} & \textbf{Attribute name} & \textbf{Description} \\
+  \hline
+  AT1301 & package\_name & Represents the name of the insurance package\\
+  \hline
+  AT1302 & package\_info & Represents the info about the insurance package \\
+  \hline
+  AT1303 & insurance\_IDs & Represents the list of insurances contained in the package \\
+  \hline
+\end{longtable}
+
+The class operations are:
+\begin{longtable}{|p{12mm}|p{45mm}|p{65mm}|}
+  \hline
+  \textbf{ID} & \textbf{Operation name} & \textbf{Description} \\
+  \hline
+  OP1301 & InsurancePackage & Creates a new insurance package \\
+  \hline
+  OP1302 & DeleteInsurancePackage & Deletes the insurance package \\
+  \hline
+  OP1303 & EditInsurancePackage & Does edit the insurance package \\
+  \hline
+  OP1304 & QueryInsurancePackage & Does query the insurance package  \\
+  \hline
+  OP1305 & AddInsurance & Adds an insurance to the list \\
+  \hline
+  OP1306 & RemoveInsurance & Removes an insurance from the list\\
+  \hline
+\end{longtable}
+
+This class has the following relations:
+\begin{longtable}{|p{30mm}|p{20mm}|p{70mm}|}
+  \hline
+  \textbf{Related with} & \textbf{Multiplicity} & \textbf{Description} \\
+  \hline
+  SingleInsurance & 1..* & Contains \\
+  \hline
+  Employee & * & Is managed by \\
+  \hline
+  Insurance & - & Inherits from \\
+  \hline
+\end{longtable}
+
+
+
+
+\subsection*{InsuranceProposal}
+This class represents an insurance proposal created for a client or
+website user.
+
+The class attributes are:
+\begin{longtable}{|p{12mm}|p{30mm}|p{80mm}|}
+  \hline
+  \textbf{ID} & \textbf{Attribute name} & \textbf{Description} \\
+  \hline
+  AT1401 & proposal\_ID & Represents the unique insurance proposal number \\
+  \hline
+  AT1402 & risks & Represents the list of risks which the insurance proposal insures \\
+  \hline
+  AT1403 & premium\_amount & Represents the premium amount for the insurance proposal \\
+  \hline
+\end{longtable}
+
+The class operations are:
+\begin{longtable}{|p{12mm}|p{45mm}|p{65mm}|}
+  \hline
+  \textbf{ID} & \textbf{Operation name} & \textbf{Description} \\
+  \hline
+  OP1401 & InsuranceProposal & Creates a new insurance proposal \\
+  \hline
+  OP1402 & DeleteInsuranceProposal & Deletes the insurance proposal \\
+  \hline
+  OP1403 & QueryInsuranceProposal & Queries the insurance proposal \\
+  \hline
+  OP1404 & CalculateInsuranceProposal & Calculates a premium amount \\
+  \hline
+  OP1405 & ConvertToPolicy & Converts the proposal into a policy \\
+  \hline
+  OP1406 & AddRisk & Adds a risk to the list\\
+  \hline
+  OP1407 & RemoveRisk & Removes a risk from the list \\
+  \hline
+  OP1408 & CheckForUpSell & Checks for up sell opportunities when proposal is created \\
+  \hline
+  OP1409 & CheckForCrossSell & Checks for cross sell opportunities when proposal is created \\
+  \hline
+\end{longtable}
+
+This class has the following relations:
+\begin{longtable}{|p{30mm}|p{20mm}|p{70mm}|}
+  \hline
+  \textbf{Related with} & \textbf{Multiplicity} & \textbf{Description} \\
+  \hline
+  Employee & 1 & Responsible employee \\
+  \hline
+  WebsiteUser & 1 & Is proposed to \\
+  \hline
+  Client & 1 & Is proposed to \\
+  \hline
+  Risk & 1..* & Insures \\
+  \hline
+  Insurance & 1 & Is of type \\
+  \hline
+  InsurancePolicy & 1 & Is converted in \\
+  \hline
+\end{longtable}
+
+
+
+
+\subsection*{InsurancePolicy}
+This class represents an insurance policy of a client.
+
+The class attributes are:
+\begin{longtable}{|p{12mm}|p{40mm}|p{70mm}|}
+  \hline
+  \textbf{ID} & \textbf{Attribute name} & \textbf{Description} \\
+  \hline
+  AT1501 & policy\_ID & Represents the unique policy number \\
+  \hline
+  AT1502 & issue\_frequency & Represents the frequency with which the policy is issued \\
+  \hline
+  AT1503 & begin\_date & Represents the begin date of the policy \\
+  \hline
+  AT1504 & end\_date & Represents the end date of the policy \\
+  \hline
+  AT1505 & details\_excess\_payment & Represents the details of excess payment \\
+  \hline
+  AT1506 & obligation\_terms & Represents the obligation terms of the policy \\
+  \hline
+  AT1507 & claim\_IDs & Represents the list of claims of the policy \\
+  \hline
+\end{longtable}
+
+The class operations are:
+\begin{longtable}{|p{12mm}|p{50mm}|p{60mm}|}
+  \hline
+  \textbf{ID} & \textbf{Operation name} & \textbf{Description} \\
+  \hline
+  OP1501 & InsurancePolicy & Creates a new insurance policy \\
+  \hline
+  OP1502 & DeleteInsurancePolicy & Deletes the insurance policy \\
+  \hline
+  OP1503 & QueryInsurancePolicy & Queries the insurance policy \\
+  \hline
+  OP1504 & EditInsurancePolicy & Edits the insurance policy \\
+  \hline
+  OP1505 & GenerateGovernmentReport & Generates a government report \\
+  \hline
+  OP1506 & RemoveClaim & Removes a claim from the list \\
+  \hline
+  OP1507 & AddClaim & Adds a claim to the list \\
+  \hline
+\end{longtable}
+
+This class has the following relations:
+\begin{longtable}{|p{30mm}|p{20mm}|p{70mm}|}
+  \hline
+  \textbf{Related with} & \textbf{Multiplicity} & \textbf{Description} \\
+  \hline
+  InsuranceProposal & 1 & Is converted from \\
+  \hline
+  PaymentInfo & 1 & Has \\
+  \hline
+  Claim & * & Has \\
+  \hline
+  Client & 1 & Is policy of \\
+  \hline
+  Payment & * & Has \\
+  \hline
+\end{longtable}
+
+
+
+
+\subsection*{Risk}
+This class represents a risk which is insured by a proposal.
+
+The class attributes are:
+\begin{longtable}{|p{12mm}|p{30mm}|p{80mm}|}
+  \hline
+  \textbf{ID} & \textbf{Attribute name} & \textbf{Description} \\
+  \hline
+  AT1601 & risk\_ID & Represents the unique risk number \\
+  \hline
+  AT1602 & risk\_name & Represents the name of the risk \\
+  \hline
+  AT1603 & risk\_info & Represents a description of the risk \\
+  \hline
+\end{longtable}
+
+The class operations are:
+\begin{longtable}{|p{12mm}|p{30mm}|p{80mm}|}
+  \hline
+  \textbf{ID} & \textbf{Operation name} & \textbf{Description} \\
+  \hline
+  OP1601 & Risk & Creates a new risk \\
+  \hline
+  OP1602 & DeleteRisk & Deletes the risk \\
+  \hline
+  OP1603 & EditRisk & Does edit the risk \\
+  \hline
+  OP1604 & QueryRisk & Queries the risk \\
+  \hline
+\end{longtable}
+
+This class has the following relations:
+\begin{longtable}{|p{30mm}|p{20mm}|p{70mm}|}
+  \hline
+  \textbf{Related with} & \textbf{Multiplicity} & \textbf{Description} \\
+  \hline
+  InsuranceProposal & 1 & Insured by \\
+  \hline
+\end{longtable}
+
+
+
+
+\subsection*{Claim}
+This class represents a claim for an insurance policy.
+
+The class attributes are:
+\begin{longtable}{|p{12mm}|p{30mm}|p{80mm}|}
+  \hline
+  \textbf{ID} & \textbf{Attribute name} & \textbf{Description} \\
+  \hline
+  AT1701 & claim\_ID & Represents the unique claim number \\
+  \hline
+  AT1702 & claim\_date & Represents the date of the claim \\
+  \hline
+  AT1703 & claim\_info & Represents a description of the claim \\
+  \hline
+\end{longtable}
+
+The class operations are:
+\begin{longtable}{|p{12mm}|p{30mm}|p{80mm}|}
+  \hline
+  \textbf{ID} & \textbf{Operation name} & \textbf{Description} \\
+  \hline
+  OP1701 & Claim & Creates a new claim \\
+  \hline
+  OP1702 & DeleteClaim & Deletes the claim \\
+  \hline
+  OP1703 & EditClaim & Does edit the claim \\
+  \hline
+\end{longtable}
+
+This class has the following relations:
+\begin{longtable}{|p{30mm}|p{20mm}|p{70mm}|}
+  \hline
+  \textbf{Related with} & \textbf{Multiplicity} & \textbf{Description} \\
+  \hline
+  InsurancePolicy & 1 & Issued for \\
+  \hline
+\end{longtable}
+
+
+
+
+\subsection*{PaymentInfo}
+This class represent payment info for an insurance policy.
+
+The class attributes are:
+\begin{longtable}{|p{12mm}|p{30mm}|p{80mm}|}
+  \hline
+  \textbf{ID} & \textbf{Attribute name} & \textbf{Description} \\
+  \hline
+  AT1801 & payment\_info\_ID & Represents the unique payment info number \\
+  \hline
+  AT1802 & payment\_frequency & Represents the frequency with which payment is done \\
+  \hline
+  AT1803 & payment\_method & Represents the method of payment of the client for the policy \\
+  \hline
+  AT1804 & payment\_renewal & Represents the method of renewal which is automatic or manually \\
+  \hline
+\end{longtable}
+
+The class operations are:
+\begin{longtable}{|p{12mm}|p{30mm}|p{80mm}|}
+  \hline
+  \textbf{ID} & \textbf{Operation name} & \textbf{Description} \\
+  \hline
+  OP1801 & PaymentInfo & Creates a new payment info \\
+  \hline
+  OP1802 & DeletePaymentInfo & Deletes the payment info\\
+  \hline
+\end{longtable}
+
+This class has the following relations:
+\begin{longtable}{|p{30mm}|p{20mm}|p{70mm}|}
+  \hline
+  \textbf{Related with} & \textbf{Multiplicity} & \textbf{Description} \\
+  \hline
+  InsurancePolicy & 1 & Is about \\
+  \hline
+\end{longtable}
+
+
+
+\subsection*{Payment}
+This association class indicates a payment paid by a client for a
+particular insurance policy.
+
+The class attributes are:
+\begin{longtable}{|p{12mm}|p{30mm}|p{80mm}|}
+  \hline
+  \textbf{ID} & \textbf{Attribute name} & \textbf{Description} \\
+  \hline
+  AT1901 & payment\_ID & Represents the unique payment number \\
+  \hline
+  AT1902 & payment\_date & Represents the date when the payment was made \\
+  \hline
+  AT1903 & method & Represents the method of payment \\
+  \hline
+  AT1904 & amount & Represents amount of the payment \\
+  \hline
+\end{longtable}
+
+The class operations are:
+\begin{longtable}{|p{12mm}|p{30mm}|p{80mm}|}
+  \hline
+  \textbf{ID} & \textbf{Operation name} & \textbf{Description} \\
+  \hline
+  OP1901 & Payment & Creates a new payment \\
+  \hline
+  OP1902 & DeletePayment & Deletes the payment \\
+  \hline
+  OP1903 & QueryPayment & Queries the payment \\
+  \hline
+  OP1904 & EditPayment & Does edit a payment \\
+  \hline
+\end{longtable}
+
+This class has the following relations:
+\begin{longtable}{|p{30mm}|p{20mm}|p{70mm}|}
+  \hline
+  \textbf{Related with} & \textbf{Multiplicity} & \textbf{Description} \\
+  \hline
+  Client & 1 & Fs from \\
+  \hline
+  InsurancePolicy & 1 & Is about \\
+  \hline
+\end{longtable}
+
+
+
+
+
+
 
 \section{Context diagram}
 
 \section{Variability guide}
+All of the operations are points of variability because none of the
+parameters are decided yet. This will be done in the "detailed
+design phase" of the project. The return type of most of the
+operations are also declared in this phase of the project.
+
+The "Edit..." operations in a class are generalizations of all the
+"Set..." operations of attributes.
 
 \section{Architectural background}
 \subsection{Rationale}
+All of the mayor entities in the requirements are modeled as a
+class, this is how the classes were generated.
+
+Because of the 4 kinds of person types in the requirements
+(\textit{employee}, \textit{client}, \textit{website user} and
+\textit{representative}), we decided to make one \textit{person}
+class with all general information. Via generalization we attached
+the 4 types to it.
+
+Because of the 2 kinds of insurances in the requirements
+(\textit{single insurances} and \textit{insurance packages}), we
+decided to make one \textit{insurance} class with all general
+information. Via generalization we attached both types to it.
+
+An \textit{employee} has time sheets, salaries and career steps
+attached to him, because of administration and career tracking
+purposes.
+
+A \textit{client} is attached to his insurance policies and
+proposals. If the client has any representatives, they will be
+denoted as a \textit{representative}. A person can both be in the
+system as a representative and as a client. The information will not
+be shared.
+
+An insurance proposal insures one or more risks, but is only of one
+type of insurance (either a single insurance or an insurance
+package). Once a proposal is converted to a policy, the proposal
+will still be used to describe the type of insurance and the insured
+risks.
+
+An insurance proposal created via the website can't be converted to
+policy. The policy can only be attached to a client.
+
+Because a payment is concerned with a client-policy pair, it has
+been modeled as a association class.
+
+Client type indicates if a client is an organization or not and
+indicates for what type of client an insurance is meant for.
+
+The higher level person operations are in the \textit{system} class.
+
 \subsection{Assumptions}
+\begin{itemize}
+  \item Every Insurance policy is converted from an Insurance proposal.
+  \item Every Insurance proposal remains stored after conversion,
+        because it contains the details about risks,
+        premiumInfo and type of insurance.
+  \item Premium amount is stored as �/month.
+  \item An insurance policy and insurance proposal is for one single
+        insurance or for one insurance package.
+  \item Website users must log-in (and register) before they can make insurance proposals.
+  \item An insurance proposal remains stored in the system if the attached policy is deleted,
+        because of reuse.
+  \item Insurance proposals made for a website user can't be
+        converted to a policy.
+\end{itemize}
 
 \section{Other information}
diff --git a/UML/B10.zuml b/UML/B10.zuml
index 7b4f763..b6c2f92 100644
Binary files a/UML/B10.zuml and b/UML/B10.zuml differ
-- 
cgit v0.12

