CSE360 Exam 2

Pataasin ang iyong marka sa homework at exams ngayon gamit ang Quizwiz!

SQL Crap

CREATE TABLE PatientInfo (first_Name VARCHAR(32), last_Name VARCHAR(32), age INT, patientID INT, doctorID INT, Primary Key(patientID)); CREATE TABLE Doctor (first_Name VARCHAR(32), last_Name VARCHAR(32), specialization VARCHAR(32), hospital VARCHAR(32), doctorID INT, Primary Key(doctorID)); INSERT INTO Doctor (first_name, last_name, specialization, hospital, doctorID) VALUES( "Andy" , "Moore" , "Family medicine" , "Banner", 1001), ( "Pual" , "Anderson" , "Nueurology" , "Phoenix Children", 2010), ( "John" , "Doe" , "Pathology" , "HonorHealth", 3001), ( "Josh" , "Anderson" , "Family medicine" , "Banner", 1010), ( "Eric" , "Lopez" , "Internal medicine" , "Abrazo", 4045); INSERT INTO PatientInfo (first_name, last_name, age, patientID, doctorID) VALUES( "Pual" , "Smith" , 23, 1000, 1001), ( "Brian" , "Johnson" , 56, 1001, 2010), ( "Stephnie" , "Jones" , 38, 1002, 4045), ( "Nancy" , "Brown" , 86, 1003, 1001), ( "Steve" , "Martin" , 54, 1004, 4045), ( "Josh" , "Lee" , 36, 1005, 3001), ( "Jose" , "Ramirez" , 29, 1006, 1001); Select first_name, last_name FROM PatientInfo; Select first_name, last_name FROM Doctor; Select first_name, last_name FROM PatientInfo; where doctorID=3001 Select d.first_name, d.last_name FROM PatientInfo p, Doctor d WHERE p.doctorID = d.doctorID AND p.first_name="Nancy"; Select first_name, last_name FROM Doctor WHERE hospital="Banner";

Client-server pattern

Description - In a client-server architecture, the functionality of the system is organized into services, with each service delivered from a separate server. Clients are users of these services and access servers to make use of them. Example - Figure 6.11 is an example of a film and video/DVD library organized as a client-server system. When used - Used when data in a shared database has to be accessed from a range of locations. Because servers can be replicated, may also be used when the load on a system is variable. Advantages - The principal advantage of this model is that servers can be distributed across a network. General functionality (e.g., a printing service) can be available to all clients and does not need to be implemented by all services. Disadvantages - Each service is a single point of failure so susceptible to denial of service attacks or server failure. Performance may be unpredictable because it depends on the network as well as the system. May be management problems if servers are owned by different organizations.

Layered architecture pattern

Description - Organizes the system into layers with related functionality associated with each layer. A layer provides services to the layer above it so the lowest-level layers represent core services that are likely to be used throughout the system. See Figure 6.6. Example - A layered model of a system for sharing copyright documents held in different libraries, as shown in Figure 6.7. When used - Used when building new facilities on top of existing systems; when the development is spread across several teams with each team responsibility for a layer of functionality; when there is a requirement for multi-level security. Advantages - Allows replacement of entire layers so long as the interface is maintained. Redundant facilities (e.g., authentication) can be provided in each layer to increase the dependability of the system. Disadvantages - In practice, providing a clean separation between layers is often difficult and a high-level layer may have to interact directly with lower-level layers rather than through the layer immediately below it. Performance can be a problem because of multiple levels of interpretation of a service request as it is processed at each layer.

Model-View-Controller

Separates - presentation and interaction from the system data. The system is structured into three logical components that interact with each other. The Model component manages the system data and associated operations on that data. The View component defines and manages how the data is presented to the user. The Controller component manages user interaction (e.g., key presses, mouse clicks, etc.) and passes these interactions to the View and the Model. Example - Figure 6.4 shows the architecture of a web-based application system organized using the MVC pattern. When used - Used when there are multiple ways to view and interact with data. Also used when the future requirements for interaction and presentation of data are unknown. Advantages - Allows the data to change independently of its representation and vice versa. Supports presentation of the same data in different ways with changes made in one representation shown in all of them. Disadvantages - Can involve additional code and code complexity when the data model and interactions are simple.

Framework

• A framework is a semi-complete application. • A framework provides a reusable, common structure to share among applications. • Developers incorporate the framework into their own application and extend it to meet their specific needs. • Frameworks differ from toolkits by providing a coherent structure, rather than a simple set of utility classes.

Architectural Views

• A logical view, which shows the key abstractions in the system as objects or object classes. • A process view, which shows how, at run-time, the system is composed of interacting processes. • A development view, which shows how the software is decomposed for development. • A physical view, which shows the system hardware and how software components are distributed across the processors in the system. • Related using use cases or scenarios (+1)

Software Architecture

• Architectural design is concerned with understanding how a software system should be organized and designing the overall structure of that system .• Architectural design 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.

Client-server architecture

• Distributed system model which shows how data and processing is distributed across a range of components. - Can be implemented on a single computer. • Set of stand-alone servers which provide specific services such as printing, data management, etc. • Set of clients which call on these services. • Network which allows clients to access servers.

Architectural patterns

• Patterns are a means of representing, sharing and reusing knowledge. • An architectural pattern is a stylized description of good design practice, which has been tried and tested in different environments. • Patterns should include information about when they are and when the are not useful. • Patterns may be represented using tabular and graphical descriptions.

Architecture and system characteristics

• Performance- Localise critical operations and minimise communications. Use large rather than fine-grain components. • Security- Use a layered architecture with critical assets in the inner layers. • Safety- Localise safety-critical features in a small number of sub-systems. • Availability- Include redundant components and mechanisms for fault tolerance. • Maintainability- Use fine-grain, replaceable components.

Reusable services

• Services are reusable components that are independent (no requires interface) and are loosely coupled. • A web service is: - A loosely coupled, reusable software component that encapsulates discrete functionality, which may be distributed and programmatically accessed. A web service is a service that is accessed using standard Internet and XML-based protocols. • Services are platform and implementation-language independent

Benefits of service-oriented approach

• Services can be offered by any service provider inside or outside of an organisation so organizations can create applications by integrating services from a range of providers. • The service provider makes information about the service public so that any authorised user can use the service. • Applications can delay the binding of services until they are deployed or until execution. This means that applications can be reactive and adapt their operation to cope with changes to their execution environment.

Verification and Validation

• Verification - refers to the set of activities that ensure that software correctly implements a specific function."Are we building the product right?" • Validation - refers to a different set of activities that ensure that the software that has been built is traceable to customer requirements. "Are we building the right product?"


Kaugnay na mga set ng pag-aaral

Chapter 2 Physical Science Review

View Set

Chapter 15 and 16 Psychology Exam

View Set

IS 360 Cybersecurity in Business - Midterm

View Set