Term
How are analysis and design related? How are they different? |
|
Definition
Design is the process of applying various techniques and principles. Quality software is goal repeatable method driven by analysis. |
|
|
Term
What are the “process” inputs/outputs of a structured design? |
|
Definition
Analysis model, use cases |
|
|
Term
What are the “process” inputs/outputs of an object-oriented design? |
|
Definition
Inputs: analysis model Outcome: collaboration diagrams design models, and code. |
|
|
Term
|
Definition
one controls many (top of control hierarchy) |
|
|
Term
|
Definition
many use one (bottom of control hierarchy) |
|
|
Term
|
Definition
how related are components of a module |
|
|
Term
|
Definition
interdependence / interaction between modules |
|
|
Term
What is structured programming |
|
Definition
Single entry / exit, three logic structures (sequence, condition repetition) |
|
|
Term
How is a data flow converted to a design |
|
Definition
The DFD is mapped into a program structure, control hierarchy is defined by factoring, and the result is defined |
|
|
Term
What are the two flow types |
|
Definition
Transform and transaction |
|
|
Term
What is factoring (in data flow/structured design)? |
|
Definition
staging a tree that the deeper into the tree you go the less decisions are made, in first order factoring the main controller is the root, and the input controller processing and output controller are children |
|
|
Term
|
Definition
|
|
Term
|
Definition
|
|
Term
|
Definition
compartmentalization of data and function, allows you to take large programs and break them down to be managed |
|
|
Term
|
Definition
controlled interfaces: reduces side effects |
|
|
Term
Why is architecture important |
|
Definition
due to the fact that it’s the fundamental framework for structuring the system, as well as it helps organize large projects |
|
|
Term
|
Definition
It’s what software architects do system level large scale and broad problems that involve fundamental design decision. |
|
|
Term
What is the difference between design and architecture? |
|
Definition
Design: meet requirements Architecture: helps organize nonfunctional solutions |
|
|
Term
What are architecture views? |
|
Definition
A view of the system architecture from a given perspective, focuses on structure modularity essential components and main control flows |
|
|
Term
What are the five main views? |
|
Definition
Logical, process, deployment, implementation, use cases |
|
|
Term
|
Definition
object models, sequence of collaboration diagrams, |
|
|
Term
|
Definition
threads or processes used to implement the system |
|
|
Term
|
Definition
Describes how the software itself is deployed to the hardware |
|
|
Term
|
Definition
|
|
Term
|
Definition
set of use cases to describe the system |
|
|
Term
How does architecture relate to subdividing work among teams |
|
Definition
|
|
Term
|
Definition
Maintaining the integrity Assessing technical risks Proposing the order Consulting services Assisting marketing Facilitation of communications |
|
|
Term
|
Definition
has interaction diagrams how objects will communicate to fulfill requirements |
|
|
Term
|
Definition
design class diagrams, definition of class and interfaces |
|
|
Term
why do we create interaction diagrams |
|
Definition
to show how objects interact via messages to fulfill task, inputs are use cases and messages to systems |
|
|
Term
what are the inputs of interaction diagrams |
|
Definition
objects or function calls |
|
|
Term
What do interaction diagrams describe |
|
Definition
They describe how the messages interact with the system |
|
|
Term
|
Definition
|
|
Term
|
Definition
Good solution to some problem you see over and over, name associated with it |
|
|
Term
|
Definition
Solution that you use to solve architectural problems how to organize the solution (layer, model view, controller pattern) |
|
|
Term
What are design class diagrams |
|
Definition
Follows / performed in parallel to create a sequence of diagrams. They have the following: classes associations, attributes, type information, dependencies and methods |
|
|
Term
How are design class diagrams created |
|
Definition
They are created by identifying all the classes participating in the software solution. Draw them in a class diagram, duplicate the attributes from the associated concepts in the conceptual model |
|
|
Term
What is the purpose of a coding standard |
|
Definition
enable programmers to program the same way, that way just because a different programmer worked on a project, it doesn’t mean it would be confusing for someone else on the team to look at it. It encourages team collaboration, as well as makes it easy to help debug because you don’t spend your time figuring out what’s going on. |
|
|
Term
|
Definition
taking code that exists and changing it to make it better. This may be with the terms of changing the inheritance structure, adding more modules, taking out unnecessary modules. |
|
|
Term
Describe Test First Programming (Test Driven Development) |
|
Definition
Rapid cycle of testing, coding, and refactoring You write small amounts of code at a time and you get to state your project twice first with the test and then with the code |
|
|
Term
Can we prove the absence of defects in a program |
|
Definition
No. You can never prove the absence of defects in a program, even with all of the testing, it is impossible to get 100% insurance until you’ve deployed the project and are testing on real data |
|
|
Term
|
Definition
refers to the set of tasks that ensure software correctly implements a specific function |
|
|
Term
|
Definition
refers to a different set of tasks that ensure that the software has been built is traceable to consumer requirements |
|
|
Term
|
Definition
|
|
Term
|
Definition
Doesn’t know what is going on just has access to input and output |
|
|
Term
|
Definition
test internal aspects can follow the code of the program, can separately test what the user doesn't interact with |
|
|
Term
|
Definition
just works with input output, things the user will see. /, doesn’t work with things that are in-depth within the code. |
|
|
Term
What does a good white box test do |
|
Definition
Tests the infrastructure or working applications as opposed to the functionality of the code. For example, working with private classes and private functions that the user will never touch to ensure that they are working properly. |
|
|
Term
What does a good black box test do |
|
Definition
Black box tests the functionality of the code. For example, ensuring that the results that are requested of the system are the results that are given back. I.e. asking the user for a value and calculating the square, the only function that the user has access to is probably the input function, then privately the computer calculates the square and outputs it back to the user. |
|
|
Term
What is basis path testing |
|
Definition
A.K.A structured testing. Method for designing test cases intended to examine each mathematically possible path of execution at least once. |
|
|
Term
|
Definition
the higher complexity the higher probability of errors. |
|
|
Term
Cyclomatic complexity formula |
|
Definition
number of decisions +1 or number of enclosed areas +1 |
|
|
Term
Why is it useful to test all statements/paths in a program |
|
Definition
then you can ensure to the stake holders with 100% guarantee that everything that was stated in the problem set or the use cases is tested and gives back positive results. |
|
|
Term
|
Definition
: technique that divides the input data of a software unit into partitions of equivalent data from which test cases can be derived |
|
|
Term
|
Definition
: tests are designed to include representatives of boundary values. |
|
|
Term
What are the strategies for using white box/black box testing to integrate/test a system |
|
Definition
when working with black box, you have a knowledge of the interface, so you work with the interface as though you were a userwhen working with a white box, you know the implementation, so you use white box testing to work with the process which the system follows throughout the program |
|
|
Term
|
Definition
starts with control mechanisms and builds towards details, tests major structure of the systems |
|
|
Term
advantages of top down integration |
|
Definition
start at control then intergrate or add stubs later |
|
|
Term
disadvantages of top down integration |
|
Definition
|
|
Term
|
Definition
starting from the minor details and working to large scale |
|
|
Term
advantages of bottom up integration |
|
Definition
ensure you are not forgetting things have inputs , outputs and algorithms |
|
|
Term
disadvantages of bottom up integration |
|
Definition
get caught up in the small details |
|
|
Term
what is required to support unit testing |
|
Definition
|
|
Term
what are three major categories of tests |
|
Definition
unit, integration system test |
|
|
Term
what unified process artifact suports system testing |
|
Definition
|
|
Term
what is regression testing |
|
Definition
reexecution of some subset of test that has already been conducted to ensure the changes hae not propagated unintended side effects |
|
|
Term
when is testing compelte? |
|
Definition
never, when out of time and money, use statistical techniques to predict current status |
|
|
Term
|
Definition
classes object interaction method detail |
|
|
Term
|
Definition
data structures program structures procedural detail |
|
|