summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOliver Schinagl <oliver@schinagl.nl>2005-10-24 18:22:14 (GMT)
committerOliver Schinagl <oliver@schinagl.nl>2005-10-24 18:22:14 (GMT)
commit4ca23ff4129fd1fcc0676c96452f78d4c5ff4774 (patch)
tree814d15f886df864956389d9f7b1c26e53447c688
parent2f62b9d9ef00b9df2f943f2a7249560b77e59b80 (diff)
download2ii10-4ca23ff4129fd1fcc0676c96452f78d4c5ff4774.zip
2ii10-4ca23ff4129fd1fcc0676c96452f78d4c5ff4774.tar.gz
2ii10-4ca23ff4129fd1fcc0676c96452f78d4c5ff4774.tar.bz2
-rw-r--r--ADD/ADD.pdfbin0 -> 165190 bytes
-rw-r--r--ADD/ADD.tex4
-rw-r--r--ADD/ClassDiagram.jpgbin0 -> 311747 bytes
-rw-r--r--ADD/chapter2.tex46
-rw-r--r--ADD/chapter3.tex988
-rw-r--r--UML/B10.zumlbin223040 -> 223289 bytes
6 files changed, 1031 insertions, 7 deletions
diff --git a/ADD/ADD.pdf b/ADD/ADD.pdf
new file mode 100644
index 0000000..3e7bc07
--- /dev/null
+++ b/ADD/ADD.pdf
Binary files 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
--- /dev/null
+++ b/ADD/ClassDiagram.jpg
Binary files 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
--- a/UML/B10.zuml
+++ b/UML/B10.zuml
Binary files differ