Question

In: Computer Science

Submit a DRAFT of ARCHITECTURAL DESIGN SPECIFICATIONS (designed with the Client-Server Approach).

Submit a DRAFT of ARCHITECTURAL DESIGN SPECIFICATIONS (designed with the Client-Server Approach).

Solutions

Expert Solution

Answer:

Draft:

Architectural design is concerned with understanding how a system should be organized and designing the overall structure of that system. In the model of the software development process. Architectural design is the first stage in the software design process. It is the critical link between design and requirements engineering, as it identifies the main structural components in a system and the relationships between them. The output of the architectural design process is an architectural model that describes how the system is organized as a set of communicating components.

In agile processes, it is generally accepted that an early stage of the development process should be concerned with establishing an overall system architecture. Incremental development of architectures is not usually successful. While refactoring components in response to changes is usually relatively easy, refactoring a system architecture is likely to be expensive.

In practice, there is a significant overlap between the processes of requirements engineering and architectural design. Ideally, a system specification should not include any design information. This is unrealistic except for very small systems.

Architectural decomposition is usually necessary to structure and organize the specification. Therefore, as part of the requirements engineering process, you might propose an abstract system architecture where you associate groups of system functions or features with large-scale components or sub-systems. You can then use this decomposition to discuss the requirements and features of the system with stakeholders.

You can design software architectures at two levels of abstraction, which Sommerville calls architecture in the small and architecture in the large:

  1. Architecture in the small is concerned with the architecture of individual programs. At this level, we are concerned with the way that an individual program is decomposed into components.

  2. Architecture in the large is concerned with the architecture of complex enterprise systems that include other systems, programs, and program components. These enterprise systems are distributed over different computers, which may be owned and managed by different companies.

The three main advantages of explicitly designing and documenting a software architecture are:

  1. Stakeholder communication. The architecture is a high-level presentation of the system that may be used as a focus for discussion by a range of different stakeholders.

  2. System analysis. Making the system architecture explicit at an early stage in the system development requires some analysis. Architectural design decisions have a profound effect on whether or not the system can meet critical requirements such as performance, reliability, and maintainability.

  3. Large-scale reuse. A model of a system architecture is a compact, manageable description of how a system is organized and how the components interoperate. The system architecture is often the same for systems with similar requirements and so can support large-scale software reuse.

Requirement Specification:

Functional requirements:

Info-miner shall accept a list of keywords and return a list of URL’s whose descriptions contain any of the given keywords.

Info-miner shall use another software system as a component, KWIC, in order to efficiently maintain a database of URL’s and the corresponding descriptions.

Non-functional requirements:

Easily understandable – the system should be easy to learn and understand

Portable – the system should run on many platforms, browsers and operating Systems

Enhanceable – the system should allow for enhancement without major code rewrites or architectural changes

Reusable – the components of the system should be reusable

Good performance – the system should provide good performance on all Platforms

User-friendly – the system should be intuitive and easy to use

Responsive – the system should respond to user actions quickly

Adaptive – the system should be able to adapt to changes

During architectural design the system should be decomposed onto a set of communicating subsystems. These subsystems will work together in order to provide overall system functionalities and also to meet the non-functional requirements. As the context model clarified, we have a couple of systems that we supposed to be present: an inventory system provides information about the available products, the shipping system is responsible for handle the delivery of products that our customers purchased.

This means that have legacy systems that we need to communicate with. We did not emphasize it yet but existing systems will also influence the requirements of our systems. It is because they have some existing interfaces how they can be used so it is not up to our architects' design decisions. Some of the systems in the ecosystem might be replaced from time to time (new releases, change of supplier, etc.), or sometimes we need to prepare our system to work with several existing systems of the same domain. A good example for that is when delivery is performed by several companies which have systems with diverse interfaces but we want to support our customers with the possibility of tracking the status of the order regardless which provider delivers the package.

Note: If you have any related doubts, queries, feel free to ask by commenting down below.

And if my answer suffice your requirements, then kindly upvote.

Happy Learning


Related Solutions

a) draft the architectural structure you designed for a digital children hospiatl. (Information: TThe first two...
a) draft the architectural structure you designed for a digital children hospiatl. (Information: TThe first two pages will be used to discribe the design. b Plan the technological applications that should be in the digital hospital you will build using this knowledges.( Information: This section will be at least “3” pages.) c) Using your creativity and modern technology, plan a communication method for pediatric patients who can be used in this hospital and also after discharge. ( Information: This section...
Greetings, Consider a client server model.The server sends the message 'I am the server' to client....
Greetings, Consider a client server model.The server sends the message 'I am the server' to client. Describe and compare in details how the client and server exchange these messages using internet domain in the following two modes. a) connection-oriented modes b) connectionless-oriented modes
In the provided client and server code, the server can serve to single client at a...
In the provided client and server code, the server can serve to single client at a time. You have to change server.java code so that it can connect and serve multiple clients at the same time. Use multithreading. =============================================================================== import java.io.*; import java.net.*; public class Client { public static void main(String[] args) throws IOException { String serverHostname = new String ("127.0.0.1"); if (args.length > 0) { //pass the hsotname through cmd argument serverHostname = args[0]; } System.out.println ("Attemping to connect...
The client connects to the server. The server accepts the connection. The client sends a line...
The client connects to the server. The server accepts the connection. The client sends a line of text containing only SHAKESPEARE_COUNTS. The server sends back a sequence of integers. The number of integers in that list specifies the number of words in each insult; the numbers themselves specify how many possible words there are in each position. So, for example, if you received the output 15 20 30, it would indicate that insults are three words long, with 15 possible...
in Java - implement ftp-server and ftp-client. ftp-server Logging into ftp-server from ftp-client The ftp-server is...
in Java - implement ftp-server and ftp-client. ftp-server Logging into ftp-server from ftp-client The ftp-server is an interactive, command-line program that creates a server socket, and waits for connections. Once connected, the ftp-client can send and receive files with ftp-server until ftp-client logs out. Sending and receiving files The commands sent from the ftp-client to the ftp-server must recognize and handle are these: rename- the ftp-server responds to this command by renaming the named file in its current directory to...
Submit a draft of the first section of your Economics Module Assignment. While a “draft” your...
Submit a draft of the first section of your Economics Module Assignment. While a “draft” your submission, it must be in paragraph form, properly formatted and proofread thoroughly. I expect your draft response to each topic to be between one half and one page long. 1. INCENTIVES TO BUY HYBRID VEHICLES 2.DON’T FORGET THE COSTS OF TIME AND INVESTED FUNDS 3.LAW OF DEMAND FOR YOUNG SMOKERS
You need to design a Web Server, Database Server and a Backup server. If you had...
You need to design a Web Server, Database Server and a Backup server. If you had to choose from the following list of resources which ones would you place a priority on and state why you would do so. List these for each server type. Hint: You need to think about the functionality of the server. Based on this information, which resource would you emphasize on the most to increase the performance of the server. CPU utilization and speed Multiprocessing...
There are many factors that can influence such decision for cloud server and client server. security,...
There are many factors that can influence such decision for cloud server and client server. security, cost, training and more. which would you choose and why ? there are many factors that influenced the decision on a cloud server or client server such as cost, security, training and more. which one would you choose, cost, security,training etc. and why ? cancel that answer
In Java and using JavaFX, write a client/server application with two parts, a server and a...
In Java and using JavaFX, write a client/server application with two parts, a server and a client. Have the client send the server a request to compute whether a number that the user provided is prime. The server responds with yes or no, then the client displays the answer.
Prompt: Submit a draft of the Costs of Production, Overall Market, and Recommendation of the company...
Prompt: Submit a draft of the Costs of Production, Overall Market, and Recommendation of the company Netflix, including all critical elements listed below. You will review Netflix financial reports and other relevant data sources to collect and analyze cost information for Netflix over the past five or so years. Using real data you will analyze Netflix profitability and how costs impact its growth. Additionally, you will find data on Netflix competitors in order to detail Netflix place within the market...
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT