Free Essay

Software Architecture

In:

Submitted By ha418
Words 401
Pages 2
Fundamental Design Principles
Separation of concerns
• To prevent overlapping between components of the system, all “concerns” (aspects and mechanisms) of the system should be separate. The codes for each concern should be separated from the other to prevent co-locating. This also prevents interdependency within the system and helps to maintain the system easily.
• This is beneficial in architecture because separation of concerns promotes organization. Each application of a software has a specific code, and separation of these codes leads to an effective and organized layered effect. A software may have business aspects, user interfaces, structure and design codes, etc., there may be more than one application of the software working together. As long as the codes of these mechanisms are separated, there will not be an overlap leading to malfunctioning. Also if each section of a system consists of a specific set of features, going back and modifying or repairing a certain feature is easily done without disturbing other aspects of the system.
Single responsibility principle
• In a software or system, each module should only have one task or responsibility. Responsibilities can also be described as “reasons for change.”
• Each mechanism of the system should only be responsible for one task. Providing multiple tasks for one module can overload that aspect of the system and lead to faults. In an example of opening a browser page, there is a functional aspect and the cosmetic aspect. If the functional aspect is trying to work on something regarding the cosmetic aspects of the browser, then the actual module regarding the looks of the browser may not implement properly because two applications are working on the same things.
• Having only one task assigned to each mechanism allows that specific process to be easily changed.
Principle of least knowledge (Law of Demeter)
• Information will flow better within a system if the components of the system do not know what the other components are doing. Internal details should not be shared within the different sections of the system.
• If there are changes within one module of the system, this should in no way affect other parts of the system. Hiding information and tasks of one module prevents other tasks from changing if they use the same facilities. It also promotes independency within the system. Since the modules of the system will be less dependent on each other, promoting maintainability and adaptability of the system.

Similar Documents

Premium Essay

Software Architecture Project

...Software Architecture Project Team A CSS 422 11-7-11 Mohammad Shakir Kamali Executive Summary This paper will discuss in detail the software currently in use at the four facilities of Riordan Manufacturing. Likewise, the paper will discuss the recommended software upgrades suggested by Team A in week 2. These recommendations will allow Riordan Manufacturing and its employee’s to work more efficiently and have greater overall productivity. This will ensure that Riordan Manufacturing will stay one step ahead of their competitors and have the ability to do business in a more professional manner. To do this, Riordan Manufacturing will need upgrades involving both hardware and software with minimal training and downtime. Introduction Riordan Manufacturing must update their current software and hardware systems to become up-to-date and competitive. Riordan Manufacturing consists of four separate locations, which all currently use dated software systems such as Microsoft 98 OS and Microsoft Office 2K, updating these outdated systems will increase efficiency with the advancements in newer systems. Riordan Manufacturing also has older outdated servers and switches that should be replaced to increase computing speed and transfer time. Updating the overall software architecture of Riordan will see gains overall for Riordan Manufacturing. Company Background Riordan Manufacturing is a global plastics manufacturer employing 550 people with projected annual earnings of $46 million...

Words: 1655 - Pages: 7

Premium Essay

Based on Scott’s (2007) Article, Recommend Whether Your Company Should Build, Buy, or Outsource Enterprise Software. How Practical Is It for an Entire Enterprise to Have Only Architecture of Object-Oriented Software?

...Booch’s article “The Irrelevance of Architecture” (May/June 2007). Way too many people already feel that architecture is irrelevant, and they’ll be tempted to read the misleading title, skip the article, and forever use Booch as proof of their erroneous beliefs about architecture. Additionally, I should admonish Booch for the invalid assumptions and errors of omission his article propounded on the way to reaching an otherwise good conclusion—namely, that architecture is quite relevant. A better conclusion would have been that a proper systems architecture is vital, desires of the agile cowboy coding hackers notwithstanding. One always has an architecture. It might have been done explicitly; otherwise, it’s ultimately defined by whatever the developers came up with. It all depends on which end of the dog is wagging the other. And this is not some Big-Endian vs. Little-Endian religious dispute (see Danny Cohen’s article “On Holy Wars and a Plea for Peace” in the October 1981 issue of Computer). When it comes to dogs, the tail should be the thing wagged, just as a design should be dictated by an architecture. And architecture is relevant to the end users. Without starting with a proper systems architecture, the end result won’t serve users well. They might not care about the implementation details, but they do care that the interface and functionality suit their needs when delivered. Although Booch observes the generic relationship between architecture and implementation, he omits the...

Words: 1514 - Pages: 7

Free Essay

Template for Ida Project

...Template for IDA Project (Project Id) Template for specific development (Contract Id) Technical Design Document Issue 1 TABLE OF CONTENTS 0 Preface 1 0.1 PURPOSE OF THIS DOCUMENT 1 0.2 Use of this document 1 0.3 Overview 2 0.4 Basis of this Document 2 0.5 A Reference Architecture for the IDA Programme 3 0.6 Specific Design Considerations 3 1 Introduction 5 1.1 PURPOSE 5 1.2 Scope 5 1.3 Definitions, Acronyms and Abbreviations 5 1.4 References 6 1.5 Overview 6 2 System Overview 7 2.1 SYSTEM CHARACTERISTICS 7 2.2 System Architecture 7 2.3 Infrastructure Services 9 3 System Context 10 4 SYSTEM DESIGN 11 4.1 DESIGN METHOD AND STANDARDS 11 4.2 Documentation Standards 12 4.3 Naming conventions 13 4.4 Programming Standards 13 4.5 Software development tools 13 4.6 Outstanding Issues 14 4.7 Decomposition Description 14 5 Component Description 15 5.1 COMPONENT IDENTIFIER 16 6 Software Requirements Traceability Matrix 19 DOCUMENT CONTROL 20 DOCUMENT SIGNOFF 20 DOCUMENT CHANGE RECORD 20 0 PREFACE 0.1 PURPOSE OF THIS DOCUMENT 1. THIS DOCUMENT IS A GENERIC TECHNICAL DESIGN DOCUMENT DOCUMENT FOR USE BY IDA PROJECTS. IT PROVIDES GUIDANCE AND TEMPLATE MATERIAL WHICH IS INTENDED TO ASSIST THE RELEVANT MANAGEMENT OR TECHNICAL STAFF, WHETHER CLIENT OR SUPPLIER, IN PRODUCING A PROJECT-SPECIFIC TECHNICAL DESIGN DOCUMENT DOCUMENT. IT IS ALSO USEFUL BACKGROUND READING FOR ANYONE INVOLVED IN DEVELOPING OR MONITORING...

Words: 6668 - Pages: 27

Premium Essay

Itn 100

...second alternative will have the C++ program running on the server; the client will use his or her browser to interact with the server. a) Classify the two alternatives in terms of what type of application architecture they use. b) Outline the pros and cons of the two alternatives c) Make a recommendation to Fred about which is better. ANSWER a) Classification Alternative 1 : | Alternative 2 : | | | b) Alternative 1 | Alternative 2 | Pros | Cons | Pros | Cons | | | | | d) RECOMMENDATION Q2 Deals-R-Us Brokers (Part 2) Dears-R-Us Brokers has decided to install a new e-mail package. One vendor is offering an SMTP-based two-tier client server architecture. The second vendor is offering a Web-based e-mail architecture. Fred doesn't understand either one, but thinks the Web-based one should be better because, in his words "the Web is the future." a) Briefly explain to Fred, in layman's terms, the differences between the two. b) Outline the pros and cons of the two alternatives c) Make a recommendation to Fred about which is better. ANSWER c) Classification SMTP-based two-tier client server architecture | Web-based e-mail architecture | | | d) SMTP-based | Web-based e-mail architecture | Pros | Cons | Pros | Cons | | | | | e) RECOMMENDATION * Q3 Accurate Accounting Accurate Accounting managing partner Diego Lopez...

Words: 361 - Pages: 2

Premium Essay

Hdgjdhfszgd

...eBay - eCommerce Platform A case study in Scalability by Mohammad Usman Ahmed mohammad.ahmed@mail.mcgill.ca Table of Contents: 1. 2. 3. 4. 5. 6. 7. 8. The Application and its overall architecture Component Model and its interactions Technological aspects of the eBay Architecture Strengths and relative weaknesses of the Architecture Component Model and variations Key Quality Attributes favoured by the eBay Architecture Evolution of the Application and its Architecture Conclusion The Application and its overall architecture EBay is a highly successful eCommerce platform. The larger category of eBay includes 19 different platforms (e.g. skype, payPal, rent) but we'll be focusing on the search and trade platform. The other sister platforms became part of eBay due to recent acquisitions and in some cases result in architectural mismatch which would be an interesting topic for a separate case study, therefore this case study focuses on the original platform's architecture and its evolution in recent years. EBay is an eCommerce system where a user can browse to the website eBay .com and search for anything they want to buy, in auction or right away from the buyer, or to post some item for sale which other users can search for as prospective buyers. The users then arrange for payments online (using eBay's payPal system which is a separate system designed solely for that purpose and recently integrated onto the eBay platform) and receive the...

Words: 4022 - Pages: 17

Premium Essay

System Architecture

...System Architecture When we think about System Architecture and what does it really consist of; one may ask themselves what is it really and what are the components of it. System architecture is a system used to describe the overall design and structure of a computer network or system. System architecture translates the logical design of an information system into a physical structure that includes hardware, software, network support, processing methods and security. As information technology has expanded to include a wide range of physical devices, a method is required to organize and connect these items together in an organized manner. The term is also used to describe multifaceted computer software tools that include multiple modules. (Shelly & Rosenblatt, 2012) There are four main components to any system architecture; which are processing power, storage, connectivity, and user experience. The complexity of the system varies widely and is dependent upon user needs, business requirements, funding, and resource accessibility. It is imperative to note that system architecture must be malleable and able to meet changing needs quickly. A structure that is too rigid will not be able to accommodate new software or hardware. When it comes to building a payroll program I think the best architecture to use would be the client/server architecture. Client/server system generally refers to system that divide processing between one or more networked clients and a central server. We...

Words: 1065 - Pages: 5

Free Essay

Information Systems

...University Components and Infrastructures of Information Systems Information systems are a collection of hardware and software that control the flow of data. Information systems are useful because they enable organizations to collect and process data faster, create reports in real time, and help improve decision making. Major components of information systems There are five major components that needs to be in place in order for information systems to operate properly. The first component is hardware which is basically the physical aspects of computer parts such as monitors, motherboards, keyboards, mouse, and speakers. Software is the second component, which is the instructions for computers (5 key components of an information system?, 2014). Another major component is data, which is a collection of facts and values. The fourth component is procedures which are strictly the guidelines that must be followed. The last major components of information systems are the people needed to monitor the systems (5 key components of an information system?, 2014). Relation between business architecture, IT architecture, and information system Business architecture is “graphical representation of a business model, showing the networks, through which authority, information, and work flows is a firm” (Business Architecture, 2014). IT architecture is the process of developing organized decisions base on guidelines, specifications, and models. It is designed based on...

Words: 682 - Pages: 3

Free Essay

What Is the Difference Between Web-Based Email Architecture and Simple Mail Transfer Protocol-Based Two-Tier Client-Server Architecture

...Brokers (Part 2)’ on pages 66-67 of the text. Based on the scenario, create the deliverables listed below. Fred Jones, a distant relative of yours and president of Deals-R-Us Brokers (DRUB), has come to you for advice. DRUB is a small brokerage house that enables its clients to buy and sell stocks over the Internet, as well as place traditional orders by phone or fax. DRUB has just decided to install a new email package. One vendor is offering an SMTP(Simple Mail Transfer Protocol).-based two-tier client-server architecture. The second vendor is offering a Web-based email architecture. Fred doesn’t understand either one but thinks the Web-based one should be better because, in his words, “The Web is the future.” a. Briefly explain to Fred, in layperson’s terms, the differences between the two. b. Outline the pros and cons of the two alternatives and make a recommendation to Fred about which is better. Part A - Assignment Deliverables: Client-server architectures attempt to balance the processing between the client and the server by having both do some of the logic. a) Write a memo to Fred that explains the differences between the two options. Be sure to explain the difference in terms Fred will understand, since he does not know much about technology or networks. b) In the memo outline the pros and cons of the two alternatives and make a recommendation to Fred. Part B: Part B - Assignment Scenario: Read the ‘Accurate Accounting’ scenario on page 67. One...

Words: 539 - Pages: 3

Free Essay

Network Architecture

...Network Architecture Four Network Architecture: 1. HOST BASED ARCHITECTURE 2. CLIENT-BASED ARCHITECTURE 3. CLIENT-SERVER ARCHITECTURE 4. CLOUD ARCHITECTURE HOST BASED ARCHITECTURE * The early types of data communications networks used host-based architecture. The host was usually a mainframe which performed the functions of data storage, data access, application logic, and presentation logic. In this architecture, the client was usually a terminal. A major problem with this architecture is that the host is required to do all the processing and as the number of applications grows on a given network, processing will slow-down significantly. The only solution will be to upgrade the host, which is usually very expensive. Because of this, since late 1980's organizations moved toward the use of Local Area Networks which is a client-based architecture. CLIENT-BASED ARCHITECTURE * In a client-based architecture, the client, usually a low-cost microcomputer does a good amount of processing functions. More specifically, the client performs the data access, application logic, and presentation logic. The host, a server, simply stores the data. As the amount of data and the number of applications grow in this type of architecture, more and more data needs to travel on the network circuit so that the clients can process it. Demand for network circuit capacity increases and as such, the overall network performance decreases. CLIENT-SERVER ARCHITECTURE *...

Words: 777 - Pages: 4

Free Essay

Web Migration4

...secure, working website with an uptime as close to 100% as possible. With the very real possibility of malicious crackers trying to do damage or steal data security is of the utmost importance. One of the best ways to improve security and control is for the company to host their own website internally. The benefit’s for doing this transition will be well worth the effort but there are few points that need to be considered before making the final decision. The goal of this report is to provide information and a guide to the process of creating a secure e-commerce site with minimum downtime. Considerations: There are a few factors that need to be considered before making the move to migrate the website. * Cost-Hardware, labor, software, etc. * Security-physical and physical * Physical space- structure, square footage, additional offices etc. Solution Using the System Development Life cycle we can define an efficient way to meet our set requirements and improve the existing website. Improving on the old foundation we can minimize costs, reduce project time and save the labor costs of having to start from scratch. This way we can focus on only redesigning parts we can’t recycle and improve on what we need to. Goals of the SDLC: * Deliver quality systems that meet or exceed customer expectations when promised and within cost estimates. * Provide a framework for developing quality systems using an identifiable, measurable, and repeatable process...

Words: 1721 - Pages: 7

Free Essay

It Architecture

...Why do we need architecture? Architecture is needed in all sorts of creative projects. Of course we know architecture used in the context of building houses or other buildings. A clear structure for the building must be laid out by the architect so that different professional disciplines are on the same line on what should be built. For example there are bricklayers, electricians, plumbers and roof makers who all have to know what the building should be like. In this case its mostly done with a structured map of the building. For a skyscraper a different pattern is used then when building a house. Architectural patterns in software development are much like these structured maps. What is an architectural pattern? A "pattern" has been defined as “an idea that has been useful in one practical context and will probably be useful in others. An Architectural Pattern expresses a fundamental structural organization or schema for software systems. It provides a set of predefined subsystems, specifies their responsibilities, and includes rules and guidelines for organizing the relationships between them. A distributed system is a software system in which components located on networked computers communicate and coordinate their actions by passing messages Adaptive architecture is a system which changes its structure, behaviour or resources according to demand. The adaptation made is usually [always?] to non-functional characteristics rather than functional ones. Mud-to-structure...

Words: 574 - Pages: 3

Free Essay

Systems Analysis

...Chapter 10 Review Questions 1. System architecture is the conceptual model that defines the structure and/or behavior of a system. It translates the logical design of an information system into a physical structure that includes hardware, software, network support, processing methods, and security. Scalability is a system’s ability to expand, change, or downsize easily to meet the changing needs of a business enterprise. Scalability is especially important in implementing systems that are volume-related, such as transaction processing systems. 2. Before selecting the system architecture, the analyst must consider the following issues: Enterprise resource planning (ERP) Initial cost and (TCO) Scalability Web integration Legacy system interface requirements Processing options Security issues 3. Enterprise resource planning (ERP) defines a specific architecture, including standards for data, processing, network, and user interface design. It is important because it describes a specific hardware and software environment that ensures hardware connectivity and easy integration of future applications, including in-house software and commercial packages. ERP also can extend to suppliers and customers in a process called supply chain management. In a totally integrated supply chain, a customer order could cause a production planning system to schedule a work order, which in turn triggers a call for certain parts from one or more suppliers. 4. A server is a computer...

Words: 644 - Pages: 3

Premium Essay

Bsa 375 Final

...Hugh McCauley, COO, has requested that the HR system be integrated into a single application. This proposal documents my approach to gathering requirements and scoping the HRIS. In the following weeks I will outline the approach for implementing the entire HR system. The aim of this proposal is to help Riordan deploy a new HRIS. The new, modern HR system will make sure that each location can have a high level of compatibility through a standardized operating system. They will begin to implement the new system in six months, and it will be operational by next year's second quarter. Riordan's HRIS system will be updated by a developing team, who will come up with a project plan and tell management what resources they need. To understand the project goal, the problem's domain and stakeholders must be identified. Interviewing different users will pinpoint particular problems in the system and begin to develop a possible solution. “Requirement elicitation must focus on the creation of requirements, not design activities, in order to adequately address users’ concerns and not just developer needs” (Christel & Kang, p. 18, 1992). Sometimes it is an indefinite goal to gather a problem's requirements, and it is possible that design language makes the unclear specifications unverifiable. The following techniques will be used to find specific user requirements. * Workshops- that facilitating meetings with many stakeholders. * Surveys – collecting information from...

Words: 2195 - Pages: 9

Free Essay

Proposing and Designing a Student Information System for Spahs Then Evaluating the Proposed Design

...Information Systems (IS) used to generate, collect, organize, store, retrieve, and disseminate information. Specific IS used to manage student information is referred to as Student Information System (SIS). This research proposed a SIS for Saint Paul’s Academy High School (SPAHS) to address its problems with regard to managing student information which are in enormous amount of paper, documents or records filed in folders and stored in filing cabinets. Considering that information is a set or collection of data, with the manual information system approach, generating information suffers difficulties. After identifying the problem of SPAHS, a system architecture of the proposed SIS was established. The system architecture used a three tiered pattern and Unified Modeling Language (UML) was used to present the different views of the systems architecture. Functionalities include tracking all the details of a student from the day one to the end of the students stay in the school which can be used for all reporting purpose, tracking of attendance, progress in the subject, completed school years, project or any other assignment details, final exam result and all these will be available through a secure, online interface embedded in the school’s website. It will also have faculty details, batch execution details, students’ details in all aspects, the various academic notifications to the staff, students and parents updated by the administrator. Different reports and queries can be generated based...

Words: 5320 - Pages: 22

Premium Essay

Rm Seo1

...Service Request SR-rm-022 Kevin Page BAS 375 April 18, 2016 Susan Ferebee Service Request SR-rm-022, Part 2 Application and Process Design When designing the initial architecture for the application and process you will need to get the definitive interface that will interact with the business needs. This will be one of the most important parts of the program, this process will be essential throughout the System Development Life Cycle(SDLC). After reviewing the current architecture setup that Riordan is Using, I recommend altering their architecture to an N-Tiered design. N-Tiered “data applications are data applications that are separated into multiple tiers. Also called "distributed applications" and "multitier applications," n-tier applications separate processing into discrete tiers that are distributed between the client and the server” (Microsoft.com). Essentially this tier is the most consistent as well when factoring in the SDLC. The diagram at the end will demonstrate the following Application and Process Design for Riordan. Operational Requirements Riordan Manufacturing is one of the major companies that is growing in the industry. This requires most users to be mobile with a thin client server architecture could be used. It is easier to code the program or websites in HTML5. The system will then be able to work with the N-Tier view web based application or mobile apps designed for iOS, Android, or Windows OS. This will require most users to have mobile...

Words: 649 - Pages: 3