Shared Flashcard Set

Details

CS 206 Final FS 2013
MS&T CS206 final (exam 2)
69
Computer Science
Undergraduate 4
12/10/2013

Additional Computer Science Flashcards

 


 

Cards

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
Fan out
Definition
one controls many (top of control hierarchy)
Term
Fan In
Definition
many use one (bottom of control hierarchy)
Term
cohesion
Definition
how related are components of a module
Term
coupling
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
Abstraction
Definition
data procedure control
Term
Refinement
Definition
elaboration of detail
Term
Modularity:
Definition
compartmentalization of data and function, allows you to take large programs and break them down to be managed
Term
Hiding:
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
Define architecture.
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
Logical
Definition
object models, sequence of collaboration diagrams,
Term
Process
Definition
threads or processes used to implement the system
Term
Deployment
Definition
Describes how the software itself is deployed to the hardware
Term
Implementation
Definition
the code
Term
Use Cases -
Definition
set of use cases to describe the system
Term
How does architecture relate to subdividing work among teams
Definition
Team Charter
Term
Steps in a team charter
Definition
Maintaining the integrity Assessing technical risks Proposing the order Consulting services Assisting marketing Facilitation of communications
Term
Dynamic View
Definition
has interaction diagrams how objects will communicate to fulfill requirements
Term
Static View
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
What are the two types?
Definition
integration and sequence
Term
Design Pattern
Definition
Good solution to some problem you see over and over, name associated with it
Term
architecture Pattern
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
What is refactoring
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
verification
Definition
refers to the set of tasks that ensure software correctly implements a specific function
Term
validation
Definition
refers to a different set of tasks that ensure that the software has been built is traceable to consumer requirements
Term
white box
Definition
tests internal ascpects
Term
black box
Definition
Doesn’t know what is going on just has access to input and output
Term
advantages of white box
Definition
test internal aspects can follow the code of the program, can separately test what the user doesn't interact with
Term
advantages of black box
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
Cyclomatic complexity
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
Equivalence Partitioning
Definition
: technique that divides the input data of a software unit into partitions of equivalent data from which test cases can be derived
Term
Boundary Value Analysis
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
top down intergration
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
forget minor details
Term
bottom up integration
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
driver, stubs
Term
what are three major categories of tests
Definition
unit, integration system test
Term
what unified process artifact suports system testing
Definition
use case
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
object oriented design:
Definition
classes object interaction method detail
Term
structured design
Definition
data structures program structures procedural detail
Supporting users have an ad free experience!