Solved by verified expert:Type: Individual ProjectUnit: UML Development PracticesDeliverable Length: 3 pages Assignment DescriptionUML 2.0 provides the requirements engineer and design expert with the ability to perform use case development, requirements, and activity diagram accomplishment within the scope of the intended system behavior. Your project has transitioned from the use case development step to a stage requiring sequence diagram development. The customer paying for your product desires the development team to provide three sequences diagrams in UML 2.0 pasted into an MS Word document depicting how the system/software will exchange messaging (i.e., incoming and outgoing messages).Provide the following in your assignment:Precondition (identifies the condition that must be met before the sequence proceeds)Identify 3 sequences with at least two life-lines per sequence (i.e., box with a dashed line descending from the center of the box). Place the life-line name in the box.Provide incoming messages to the sequence (i.e., getAvailableReports; getSecurityClearance) and return messages (i.e., userClearance); there should at least 5 steps per sequence (steps can involve the action to receive, return, determine, log, store, etc.). Alternative sequences (ALT) blocks or optional sequences (OPT) blocks are not required.Postcondition (identifies the change in the condition that will occur or will be true after the sequence is done)Sequence should be at least 3 pages in MS Word.
unit_4_discussion_board_software_design.docx

Unformatted Attachment Preview

1
Software Design (CS457 – 1802A – 01)
Unit 4 Discussion Board
Key Assignment
Phillip Isiah Houston Sr.
Instructor Howard Evans
Due Date 01 May 2018
2
Introduction
Design of client /server design will be meant for facilitating and monitoring communication
between a computer server and other users (Détienne and Bott, 2002). The server design
application is designed to enable one computer or the end system to function as a server thus
controlling, monitoring and providing service to other computers connected on the same
network. The user’s computer is fitted with enough programs which helps in controlling services
in other computers.
Implementation work to be done

The first task will involve determining the number of clients to be connected on the same
network.

Secondly, we will determine the location which is more accessible to clients.

The other process is to determine the criterial of the system operation.

The other task will be suggestion of alternatives in case of system failure.
Objectives

The first objective is to ensure that the development of the new-system ensures effective
communication and co-ordination with other computer systems connected on the same network.

Secondly, the server design will focus on preventing data leakage between parties
communicating on the same network.

The other objective will be determining on whether the customers will be added in batch,
online or both.

If online, it will be vital to determine if the system users will be allowed to add multiple-
customers within a single execution.
3

The other objective of the design will involve determining whether the user interface will
be in the form of screen or window.
Constraints
Design and implementation of the Client Server Design may be impacted by a number
constraint:

First, the design data collection will be done for a small application due to inadequate
funds.

Secondly, the design will not involve consideration of external factors such as number of
clients to use the system due to time factor.

Lastly, the study will not cater for the type of computer in terms of operating system
which the server can be ran in.
Requirements
Generally, there are a number of factors and requirements which must be factored in when
modelling or designing a client/server design.

The first requirement is linked with the LAN or WAN network latencies. The server must
be capable of supporting both the LAN and WAN network system. This will help in ensuring the
new applications is widely used by clients (Software Design, 2018).

The design or system boundaries for the model must be extending past the conventional
analysis especially for a single server-queuing. This will help in reducing congestion and
confusion in the network.

The new server must be capable of sending an RPC to the same node which was used by
the client or local personal computer.
4

It should allow all the available RPC’s to invoke other servers. This will help in
addressing issues to do with the software congestion.
Client/Server Diagrams
The following diagrams represents the nature of how the proposed client/server will be
operating.
Diagram 1
Diagram 2
Using the client server, it will be easy to detect all information being shared on the same network
as illustrated above. As indicated on the diagram 1, the server will be providing all clients with
instant information regardless of their geographical locations. Here, internet will be used as the
intermediate connection.
5
Design description needed to describe the implementation for the client

The design will be useful as far as business expansion is concerned. This will be achieved
through facilitating communication between servers.

Secondly, the clients are supposed to have a single computer which will serve as the
server for the other computers connected on the same network.

A common interface will be maintained with the designed server to avoid confusion or
congestion in the system (Lakos, 2011).
Software Design Specifics
Functional Issues Associated with the Project and
Conversion into Software/system Objectives
The technical issues of the client/server software include consistency of the coordination
function that the system will provide to the network users and the ability of the software to guard
against loss of data outside the networks (Spichkova, Liu, Laali & Schmidt, 2015). Other
functional concerns that would become objectives for the client/server software system include
the effectiveness and usability of the graphical user interface. The ability of the users on the
network system to interact with ease and efficiency is a critical issue that makes a workable
objective in the client/server development project. Determining the nature of the user interface
also becomes an objective for the software development project as that is important in enhancing
the convenience of users on the system (Siu et al., 2017). Key goals for the software project also
include security issues related to the data transacted across the network, the compatibility of the
hardware system with the client/server software system under construction and the performance
levels of the entire system.
6
The issues are vital objectives that the software development process has to take into
consideration while executing the project. The fact that the client/server system aims at creating
a system that manages several users on the network makes the entire project intricate hence
calling for the careful implementation of the functional components. The primary focus is,
therefore, on the overall performance of the system and the critical elements have to get executed
in a manner that promotes the required standards of efficiency (Khan, Jan, Tahir, Khan & Ullah,
2016). The robust outcomes will set the stage for high levels of usability and functional benefits
to the network system users by ensuring prompt address of critical issues such as system
security, communication consistency and overall user experience with the graphical user
interface.
Various Elements Considered in Defining the Objectives
The definition of objectives for the software development takes into consideration
elements such as the cost of construction, ability to execute necessary upgrades and updates in
the future and the security provisions that the system will offer to the distributed users across the
network. It is also important to consider the amount of software expertise and human effort
required to develop the system and have it up and running. Such considerations are necessary as
they set the objectives in a realistic line and allow the developers to identify critical failures in
achieving the set goals (Buede & Miller, 2016). The objectives related to cost of software
development and ability to carry out necessary modification ensure that the client/server system
gets developed at a reasonable cost while providing that it serves the purposes according to the
dynamics in network infrastructure. Making room for future modifications is a first objective that
helps the development process to establish perpetual functionality regardless of the changes in
network configurations, protocols, and infrastructural attributes.
7
The principal objectives of reliability also need to be considered to ensure that the
software enables users to acquire the desired levels of security in executing various network
functions. The sustainability and availability of the software also form one of the most essential
elements under consideration when setting the software development objectives (Siu et al.,
2017). The entire list of features plays an essential role in ensuring that all operations are geared
towards producing a robust software that serves the needs of the users on the network. The
proper definition of project objectives, therefore, lays tremendous focus on the critical elements
that shape the undertaking into a worthwhile venture for the efficient development of the
client/server software system.
Software Design Process
A client-server architecture plays a crucial role in making the entire management process
easy. Big firms and also small business entities develop and use client-server systems to
effectively and efficiently allocate the available resources as per the needs of the daily
operations. In a client-server model, the users sit at one side of the business while the databases
reside on the other (Coffman, Soroker, Narayanaswami & Zinman, 2010). As a result, the
communication between the two sides may happen over the selected and desired
communications channels depending on the size and needs of the entity. Some examples of
client-server software systems include a banking application. In most cases, the tellers who
handle and deal with the customers sit at one end of the bank structure while the databases and
process handling servers reside on the other locations.
In evaluating the architecture and communication in a client-server model, this paper will
use one example of such a system. The selected system will provide the various details needed in
defining the underlying concepts that revolve around the client-server model. As mentioned
8
above, the client-server architecture involves a variety of actors and set of activities that each
party performs. Most of the work and interactions happen on the client side while just the core
tasks occur at the server. This architecture plays a key role in efficiently managing the tasks and
also the available resources to achieve just the best results. This paper will describe the clientserver model using the banking system as the ultimate example. The selection of the banking
system comes from the fact that it includes both the client and also the server side. In developing
such a system, the programmers must first describe it on a piece of paper or in writing.
Developers use a variety of strategies in describing and defining the underlying software in
writing. For example, programmers may design a use case diagram that would help to point out
the various actors as well as their role in the software. Another essential aspect to consider
includes the use of activity diagrams. All these graphical representations intend to describe the
software in a paper before embarking on the development process. Ultimately, this helps in
giving the stakeholders and users the desired information about the software in context while at
the same time building a form of reference to aid in the development process.
Use case diagram
The use case diagram helps in the definition of the different actors and their roles in the
entire system. For example, in a client-server system, the former includes the users who may
consist of the tellers and customers in case of banking software. On the other hand, the latter
represents the data processing units which include the mainframe computers among different
servers. The following figure shows the use case diagram for a banking system and the
respective actors.
9
10
References
Détienne, F., & Bott, F. (2002). Software Design – Cognitive Aspects. London: Springer London.
Lakos, J. (2011). Large-scale C++ software design. Boston, Mass.: Addison-Wesley.
Software Design. (2018).
Buede, D. M., & Miller, W. D. (2016). The engineering design of systems: models and methods.
John Wiley & Sons.
Khan, F., Jan, S. R., Tahir, M., Khan, S., & Ullah, F. (2016). Survey: Dealing Non-Functional
Requirements at Architecture Level. VFAST Transactions on Software Engineering, 9(2),
7-13.
Siu, K. Y., Crapo, A. W., Durling, M. R., Parolini, L., Manolios, P., Yu, H., & Stacey, S.
(2017). U.S. Patent No. 9,747,079. Washington, DC: U.S. Patent and Trademark Office.
Spichkova, M., Liu, H., Laali, M., & Schmidt, H. W. (2015). Human factors in software
reliability engineering. arXiv preprint arXiv:1503.03584.
Coffman, D., Soroker, D., Narayanaswami, C., & Zinman, A. (2010, April). A client-server
architecture for state-dependent dynamic visualizations on the web. In Proceedings of the
19th international conference on World wide web (pp. 1237-1240). ACM.

Purchase answer to see full
attachment