415 Midterm Flashcards Preview

CMPS 415 midterm > 415 Midterm > Flashcards

Flashcards in 415 Midterm Deck (28)
Loading flashcards...

What makes and Enterprise System

Process on complex data
Stores complex data
Persistent Data
Concurrent User


What are layers of architecture

Domain (Business Logic)
Data/ Data Access


List some reasons to use constants

A way of organizing the data access layer.
It avoids literal strings
It effects everything in every place and in every area.
Makes it easier and faster
Re factors easily


List some the 3 main layers.

Software Layer
Data Access Layer


What is this line of code doing?

public const string Identity = "REQ_ETY_SCH_I";

Declaring a constant


The following are examples of what:
Organization, Abstraction(Eliminate Dependency between layer)

Advantages of Layers


This 3 layers of architecture where, Interactions with users come in (Application layer)



What is the single responsibility principle.

Every class should have a responsibility over a single part of the functionality provided by the software, and that responsibility should be entirely encapsulated by the class.


What are some examples of the 3 main layers

Breaks down system into coherent pieces
Way to design code to provide for sensible robust systems
Provides Organization
flexibility to code


What types of examples are the following:
Payroll, Shipping, Customer, relationship management system.



What are some examples of the single responsibility principle?

Querying data and Hydrating it


What is a Design Patter?

A general reusable solution to a commonly occurring problem within a given context in software design. A design pattern is not a finished design that can be transformed directly into source or machine code.


What is the Dependency Inversion Principle

This refers to a specific form of decoupling software modules.


What is a Singleton Design Pattern?

is implemented by creating a class with a method that creates a new instance of the class if one does not exist. If an instance already exists, it simply returns a reference to that object. To make sure that the object cannot be instantiated any other way, the constructor is made private.


Implement a Singleton pattern

private static SqlServerDAO Instance { get; set;}

private SQLServerDAO();

public static SQLServerDAO GetInstance()




What are Creational patterns?

Design patterns that deal with object creation mechanisms, trying to create objects in a manner suitable to the situation. The basic form of object creation could result in design problems or in added complexity to the design.


What does VO stand for? and What is it used for?

Value Objects

It has a value you can compare but it is not based on identity


What is a Factory Design Pattern?

A creational pattern which uses factory methods to deal with the problem of creating objects without specifying the exact class of object that will be created.


What is a DTO and What is it used for?

Data Transfer Objects

Objects that carries data between processes.


What is an Entity Object?

It encapsulates the business policy and data.


Define Test Driven Developement

You write your test that is going to fail and then you are testing for what new improvements or functions you are trying to add. So you know what you want the result of this method to be.


How to implement a TDD

GetById(Int Id)
// IDatabase db;


Describe Unit Testing

Smallest Unit Key thing is isolation, it is isolated because you can only test the functionality of a particular software, you have no outside interference.


Implement an Entity Object

public int id {get; set;}
private int id;

public int get Id()
return Id;

public void setId(int id)
this.id = id;


What are some advantages of Unit testing.

It helps identify a large number of defects early in development.
It also facilitates maintenance of changes.
It also becomes living documentation
It also aids in OOD


Define Dependency injection

a software design pattern that deals with how components get a hold of their dependencies.


What are some disadvantages of unit testing

Extra time to code.
Limited by your scenarios or test cases.


What are some advantages of SRP in Unit Testing

You increase the testability of your design by decreasing the number of tests you have to write that test the same functionality on different objects, and you also typically end up with smaller pieces of functionality that are easier to test in isolation.