This site is 100% ad supported. Please add an exception to adblock for this site.

SE Exam 3


undefined, object
copy deck
Compare and contrast usability and utility.
Usability and utility are both measures of the overall usefullness of a system. Utility measures whether the system provides the raw functionality to allow the user(s) to achieve their goals. Usability measures if the sytem allows the user(s) to learn and use the raw capabilities easily.
What are the aspects of usability? Define each of them.
learnability, efficiency of use, error handling, and acceptability.

Learnability- The speed at which a new user can become profficient with the system.

Efficiency of Use- How fast an expert user can do their work with the sytem.

Error Handling- The ability of the system to prevent the user from creating errors, helps the user to detect errors, and helps the user correct errors.

Acceptability- a purely subjective measurement of whether the users like the system.
What attributes distinguish each type of user group (e.g. novice users, expert users)?
Experience with the system. A expert user could also be someone who has had formal training in use of the system.
Given the course project, list the most critical characteristics that the user interface must reflect. Defend your choices.
Obviusly do not user any tachnical language, assume the users are rather novice, Consistency is neccesary.
What design element is the most appropriate when you want the user to select an item from a small set? What is your rationale?
I would say radio buttons. A set of radio buttons ussually follow the convention that only one of them can be selected at a time. If the set is small, radio buttons are entirely appropriate to selection of one and only one element from a set.
What is a user interface design heuristic? Why are such heuristics useful to UI design?
Heuristic evaluation allow you to discover when use cases are not being met poorly. For a heuristic evalution, you first pick a use case, and then test for that use case, if you see something that is not appropriate or that could be done better, you right a little comment consisting of this.
1)a short description of the defect
2)your idea of how to fix the defect
What is a heuristic?
Computer Science. Relating to or using a problem-solving technique in which the most appropriate solution of several found by alternative methods is selected at successive stages of a program for use in the next step of the program.
In regards to user interface design and maintenance, why is MVC a good design choice?
MVC allows for a supposedly completely independent implementation of the user interface from the controller and model. This allows the user interface to be changed and modified in a modular manner.
What is the definition of a design pattern?
A pattern is the outline of a reusable solution to a general problem encountered in a particular context.
What are the three major categories of design patterns as defined by the Gang of Four?
Creational- Singleton- Ensure a class has only one instance and provide a global point of access

Structural- Facade- Encapsulate a subsystem using a high-level interface, simplifying subsystem usage and hiding structural details.

Behavioral- Observer- Define relationship between a group of objects such that whenever one object is updated all others are notified automatically.
What 5 mandatory and 2 optional pieces of information should be included with any design pattern?
Context- the general situation in which the pattern applies.
Problem- a sentence or two explaining the main difficulty being tackled.
Forces- the issues or concerns that you need to consider when solving the problem. These include criteria for evaluating good solutions.
Solution- The recomended way to solve the problem in the given context. The solution is said to 'balance the forces'; in other words it has a good combination of advantages to balance the disadvantages.
References- ackhnowledgements of those who inspired of developed the pattern.
Related Pattern-(optional)-solutions that are similar to this pattern.
Antipatterns-(optional)solutions that are inferior or do not work in this context.
How does the singleton pattern work?
make constructor private, make a method getInstance() that acts as constructor, only returning new object if object does not already exist.
How does the facade pattern work?
Make a wraparound class (facade) for the package that allows most of the commonly used functionality of the package to be accessed through this facade. This will make it so that most classes using the package do not require the package themselves and can instead use the facade.
How does solution to design pattern Observer work?
There is a abstract class called Observable that contains two methods. AddObserver and notifyObservers. Their is a also a interface called Observers that have one method called update. If observers register themseleves with Observable then Observable will call their update method when a appropriate state change has occured.In example, Forecaster is the Observable, and the Observer is WeatherViewer.
What is the Law of Demeter, how does it relate to good software design?
The law of Demeter specifies that you should 'only talk to your immediate friends'. In software design, this means that a method should only access data passed as arguments, linked via associations, or obtained via calls on operations to other neighbors data. The rational is that this limits the impact of change, and makes it easier for software developers to understand the impact of their change.
Named after Demeter, the greek goddess of agriculture, because it 'grows software incrementally. Addhering to the law of demeter makes incremental software development much easier.
Explain the design flaws present in a design that exhibits characteristics of the “Blob” anti-pattern.
A single class with many methods and attributes. Controller class with many data container classes. High coupling, low cohesion.
What is refactoring?
Once a class is fully refactored, the design flaws should be removed, and the class should now probably exibit some sort of recognizable design pattern.
What are two UML techniques used to model dynamic behavior in a system?
Collabaration Diagrams and sequence diagrams.
What are two other UML diagrams that are used to model the possible behaviors of a system.
State diagrams and activity diagrams.
What is an interation?
An interaction is a sequence of steps necesary to complete a use case.
What is a sequence diagram?
A sequence diagram shows the sequence of messages exchanged by the set of objects (and optionally an actor) performing a certain task. This is the usual thing where objects are arranged from left to right, message being called from left to right, return values passed back as arrows. Down indicates the order of execution. return values are indicated using a dotted arrow. * and something called a multiobject are used to represent a function that was called on multiple objects of the same type. Destruction of objects indicated with a bix X.
What is a collaberation diagram?
A collaberation looks lots like an instance diagram, however its links indicate communication, and not association. Order is shown by the methods called, with a number next to it indicating the order of execution, clearly, all classes (xept the first and last) should have two adjacent numbers comming in and out of it.
How are dynamic modeling techniques used during the maintenance phase to help understand an existing design?
Used during the maintenance phase to interpret the design
of an existing system (reverse engineering).
What are the 2 characteristics of interaction diagrams?
Instance of glasses
Describe state diagrams?
A state diagram is a directed graph where the nodes are states and the arcs are transitions.
A black circle represents the start state
A circle with a ring around it represents an end state

Deck Info