Sie sind auf Seite 1von 4

Name: Oscar Oluoch

Reg. No.: C026-0261/2011


Instructor: Mr. P. Ndungu
Unit: ICS 2302
Assignment I
Question one:
A company is looking to develop an Invoice Processing System(IPS) for its worldwide business.
As Chief designer,
a. Suggest and justify an architectural design solution for IPS, based on the repository
model of software architecture giving due consideration to the users' requirements
for performance, availability, and maintainability
An IPS is a type of a billing system which produces the bill of a given rendered service or
commodity to a particular person. The Invoice Processing System should store the customer
details such as names and addresses. The system would create a unique id for each customer say
the client ID, which can be used to refer to invoices to the respective client and also for the
payment received. Many clients are to use the system at a given time, hence the system should
ensure uniqueness in storage and independence so that an information requested by a given client
is sent to another client.
On the managers side, the following servers should access the repository for the following each
of their functions.
i. Reporting system: The sub system should collect the information on the
number of clients, and invoices and the payments received with respect to
the specific client. The reporting system, access the information of clients
from the client details database and uses the client unique ID to check for
invoices given and payments made to come up with a report on the clients
and invoices with respect to the unique ID (clientID)
ii. Reconciling Payments: A sub-system to determine the paid invoices and
be able to write them off on a real time basis so as to avoid multiple
payments by a given client. The subsystem gets the invoice from the
invoice database server in the repository, then confirms the amount paid

and writes off or confirms paid in the invoice and in the payment database
server, it adds the mount paid and from which client specifying the
clientID.
iii. Customer mailing: It sends mails to the clients after delivery of given
service or commodity and also the mailing server should mail each
customer after payment reconciliation. The completed tasks by the
reconciliation and invoice servers gives out a report which is mailed to the
respective user, so as to ensure every activity is confirmed to the user.
The architectural design is as follows:

Client
1

Client
2

Client
3

Client
4

Internet
The projects reporitory: customer details database, invoice
databases, payment databases with respect to ClientID

Report
Generator
----------------Management

Payment
Reconciliatio
n
----------------Management

Mailing
Server
----------------Management

To achieve a high performance, the client end would work on a pipe and filter layer such that
most of the processing is done on the client who may use mobile phone, or web where the client
side javascript would be used.

Since most of the sub systems access the main server independent since the repository has
normalized databases for storage of information and also to avoid replication and to ensure the
data stored is related and exists in the client database.
The repository model is chosen as the data stored is sharable through many devices which can
access online data such as mobile apps, web based and also the stand alone subsystems. The
efficiency and security of the data is also guaranteed as the information is stored in one server
and is accessed using security measures such as the clientID for the specified clients
information. The time to access the information from the repository may decrease performance,
but cache on the different client devices would increase performance.
b. Compare and contrast the use of architectural reference models and design patterns
for the rapid development of high quality systems.
Reference model is an abstract representation of independent entities and their relationship in
a given domain of interest, and which typically forms the conceptual basis for the
development of large components. They originated from the application domain and act as
standard for comparisons or evaluation of different architectures.
A design pattern provides a scheme for refining and defining the relationships between the
subsystems or components of a software system. Mostly used to solve common problems and
is applicable where the solution is reusable hence used in rapid development environment.
Combination of these patterns may give rise to systems of high quality within a short time;
hence both can be used for rapid development.
Question two:
Defects in software that result from the actions of those involved in the software engineering
process, have led to the belief that the quality of software is determined by the quality of its
develoers in terms of their knowledge, discipline, and commitment.
(a) Explain the typical project manager's problem of people selection, motivation, and
team effectiveness in an IT department, and discuss the extent to which the personal
software process model can provide a solution.

Selection mainly focuses on skills, expertise and the resources at ones disposal with respect to
time, internal staff members, and potential external applicants. Motivation depends on the
personality of the professional. The preferred personality should be task oriented, self oriented,
interaction oriented and the instrument types such as extrinsic or intrinsic. The effectiveness of a
team is dependent on the identifiable roles, communication, cohesiveness and mutual support.
The main focus of the personal software process model focus on increasing the capability and
motivation of the individuals in a team within the organizations framework. The peoplecapability model is developed by SEI with emphasis on training, self-improvement, and
identifieable and usable measures of performance, and rewards. The project manager should
have a system of Zero tolerance of defects and motivate the team/individual who work produce
clean and effective codes or systems. Hence, there would be an explicit production of quality
software.
(b) Discuss whether managing software engineering projects is any different to the
management of projects in other sectors of society today.
All projects face the following challenges to produce effective products, such as increasing level
of technology, uniqueness in every project encountered. In software development the same
challenges are faced and the major challenge is technological improvement which would
increase the maintenance level of a given software. Hence management of software projects has
minimal difference from management of society projects.
The major difference in the society projects is the uniqueness by which they are accomplished
while in software management the software view is majorly on compatibility with future
technology.

Das könnte Ihnen auch gefallen