csci 387 final Flashcards

1
Q

design patterns

A

observer, adapter, bridge, singleton, strategy

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

observer is

A

behavioral

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

strategy is

A

behavioral

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

singleton is

A

creational

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

adapter is

A

structural

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

bridge is

A

structural

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

regression testing

A

check that changes have not broken previously working code by re-running all tests

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

distributed software architectural patterns

A

master-slave, two-tier client-server, multi-tier client-server, distributed component, peer-to-peer

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

pros and cons of master-slave

A

Pros: good for use in real-time systems where it is important to meet processing deadlines

Cons: not good for systems where it is not easy to predict the distributed processing that is required/where processing can be easily localized to slave processors

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

pros and cons of two-tier client-server

A

Pros: simplest form; simple to manage the clients

Cons: heavy processing load on both the server and the network (thin client model), new versions of the application have to be installed on all clients (fat client model)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

pros and cons of multi-tier client-server

A

Pros: avoids problems with scalability and performance from thin-client, avoids problems of system management from fat-client

Cons: you have to decide what services should be included in each layer

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

pros and cons of distributed component

A

Pros: allows system designer to delay decisions on where and how services should be provided, flexible and scalable, allows resources to be added as required, possible to reconfigure the system dynamically

Cons: more complex to design than client-server systems (difficult to visualize and understand), standardized middleware for distributed component systems has never been accepted

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

pros and cons of peer-to-peer

A

Pros: takes advantage of the computational power and storage of a large number of networked computers

Cons: lack of central management is a security concern

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

what are the layers to arrange in client-server?

A

database, data management, application processing, presentation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

software as a service

A

a way of deploying applications as thin client-server systems, where the client is a web browser - owned and managed by a software provider

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

SaaS examples

A

microsoft 365, google apps, dropbox

17
Q

Facebook (is/is not) SaaS

18
Q

What is WSDL?

A

(Web Service Definition Language): allows a service interface and its bindings to be defined (what operations the service supports, how the service is accessed, where the service is located)

19
Q

the “what” of WSDL

A

interface specifying what operations the service supports

20
Q

the “how” of WSDL

A

binding; maps the abstract interface to a concrete set of protocols

21
Q

the “where” of WSDL

A

describes the location of a specific web service implementation

22
Q

what is SOAP?

A

a message exchange standard that supports service communication

23
Q

what is RESTful?

A

REpresentational State Transfer

An architectural style based on transferring representations of resources from a server to a client

24
Q

advantages and disadvantages of RESTful

A

Advantages of RESTful: CRUD operations, data is exposed and accessed using URL
Disadvantages of RESTful: not good for complex interfaces, no standards for the interface, implement your own infrastructure

25
SOLID principles
``` single responsibility open-closed liskov substitution interfae substitution dependency inversion ```
26
single responsibility principle
a class should have only one reason to change
27
open-closed principle
extend the behavior of a module without changing it (should be closed for modification but open for extension)
28
liskov substitution principle
subtypes must be substitutable for their base types (functions should be able to use objects of derived classes without knowing it)
29
interface substitution principle
clients should not be forced to depend on methods they do not use
30
dependency inversion principle
high-level modules should not depend on low-level modules but both should depend on abstractions; abstractions should not depend on details but details should depend on abstractions
31
how to apply SRP
new class
32
how to apply OCP
abstraction of class/method
33
how to apply LSP
extend base class?
34
how to apply ISP
add an interface for classes to implement as needed but let the abstract class only include the general methods
35
how to apply DIP
connect dependencies through an interface
36
a risk can affect (3 things)
product, project, business
37
4 different components of risk management
identification, analysis, planning, monitoring
38
risk planning has 3 stages
avoidance, minimization, contingency