Save
Upgrade to remove ads
Busy. Please wait.
Log in with Clever
or

show password
Forgot Password?

Don't have an account?  Sign up 
Sign up using Clever
or

Username is available taken
show password


Make sure to remember your password. If you forget it there is no way for StudyStack to send you a reset link. You would need to create a new account.
Your email address is only used to allow you to reset your password. See our Privacy Policy and Terms of Service.


Already a StudyStack user? Log In

Reset Password
Enter the associated with your account, and we'll email you a link to reset your password.
focusNode
Didn't know it?
click below
 
Knew it?
click below
Don't Know
Remaining cards (0)
Know
0:00
Embed Code - If you would like this activity on your web page, copy the script below and paste it into your web page.

  Normal Size     Small Size show me how

CECS 343 Quiz7- CH.8

QuestionAnswer
What are the key characteristics of good design? Consistency and completeness
What are some examples of consistency across design? Common UI, Common error processing, Common reports, Common system interfaces, Common help, All design carried to the same depth level
What is common UI? Looks and logical flow
What are some explanations of completeness of the design? All requirements are accounted for, All parts of the design is carried to its completion (to the same depth level)
Some legacy characterization of design complexity: Halstead metrics, McCabe's Cyclomatic Complexity metric, Henry-Kafura Information Flow metrics, Card and Glass design complexity metrics
Out of these 4, which is the most broadly used: McCabe’s Cyclomatic Complexity metric
Who developed Halstead Metrics? Maurice Halstead of Purdue
When was Halstead Metrics developed? 1970s
What is Halstead Metrics used for? Analyzing program source code complexity
Which four fundamental units of measurements from code are using in Halstead Metrics? n1, n2, N1, N2
In Halstead Metrics, n1 represents: number of distinct operators
In Halstead Metrics, n2 represents: number of distinct operators
In Halstead Metrics, N1 represents: sum of all occurrences of the n1
In Halstead Metrics, N2 represents: sum of all occurrences of the n2
Program vocabulary, n = n1 + n2
Program length, N = N1 + N2
Using these, he defined four metrics: Volume, Potential Volume, Program Implementation Level, Effort
Volume, V = N * (Log_2 n)
Potential Volume, V^@ = (2 + 2n^@)log_2(2+2n^@)
Program Implementation Level, L = V^@/V
Effort, E = V/L
Halstead metrics mainly measures _______________, and sometimes also ________________ is a suspect Lexical complexity; potential volume
Cyclomatic complexity = E - N + 2p
In the cyclomatic complexity formula, E represents: number of edges
In the cyclomatic complexity formula, N represents: number of nodes
In the cyclomatic complexity formula, p represents: number of connected components (usually 1)
Cyclomatic complexity number can also be computed as followed: Number of binary decision +1; Number of closed regions +1
T.J. McCabe's Cyclomatic Complexity metric is based on the belief that program quality is related to: the complexity of the program "control flow"
Henry and Kafura metric measures: Inter-modular flow
In Henry and Kafura metrics, Fan-in: number of inter-modular flow into a program
In Henry and Kafura metrics, Fan-out: number of inter-modular flow out of a program
In Module's Complexity, Cp = (fan-in x fan-out)^2
Card and Glass used the same concept of fan-in and fan-out to describe design complexity: Structural complexity of module x, Data complexity, System complexity
Structural complexity, Sx = (fan-out)^2
Data complexity, Dx = Dx = Px/(fan-out+1)
Px: represents the number of variables passed to and from the module
System complexity, Cx = Sx + Dx
Card and Glass is considered a: Higher-level complexity
In Henry and Kafura metric measures the inter-modular flow, which includes: Parameter passing, global variable access, inputs, outputs
"Easy to" attributes (Hint: There's 6): Understand, Change, Reuse, Test, Integrate, Code
We can get many of these "easy to's" if we consider: Cohesion and Coupling
Cohesion: a unit, of a module, of an object, or of a component addresses the attribute of "degree of relatedness" within that unit, module, object, or component
Cohesion refers to: Degree of relatedness within a module
Higher cohesion is: Better
Beiman and Ott introduced a measure of program cohesion using the following concepts from program and data slices: Data token, slice, data slice, glue tokens, super glue tokens
Data token: any occurrence of variable or constant in the program
Slice: the collection of all the statements that can affect the value of a specific variable of interest
Data slice: the collection of all the data tokens in the slice that will affect the value of a specific variable of interest
Glue tokens: the data tokens in the program that lie in more than one data slice
Super glue tokens: the data tokens in the program that lie in every data slice of the program
Measurement program cohesion through two metrics: Weak functional cohesion and strong functional cohesion
Weak functional cohesion = (# of glue tokens)/(total # of data tokens)
Strong functional cohesion = (# of super glue tokens)/(total # of data tokens)
What does coupling address in software design? degree of interdependence between soft units, modules, or components
Levels of couplings where data coupling is lowest (lower the better)
What is content coupling? accessing the internal data or procedural information
What is data coupling? passing only the necessary information
What is true about no coupling? ideal, but not practical
What are some examples of Chidamber and Kemerer (C-K) OO Metrics? Weighted Methods per Class (WMC), Depth of Inheritance Tree (DIT), Number of Children (NOC), Coupling Between Object Classes (CBO), Response for a Class (RFC), Lack of Cohesion in Methods (LCOM)
What is LCOM? a reverse measure in that high LCOM indicates low cohesion and possible high complexity
In LCOM, #p = number of pairs of methods in class that have no common instance variables
In LCOM, #q = number of pairs of methods in class that have common instance variables
What is the formula for LCOM? LCOM = #p - #q
Cohesion is _________ at the low level, and ________ at the high level weak; strong
Coupling is _________ at the low level and _________ at the high level loose; tight
What is the Origin of Law of Demeter? A design “guideline” for OO systems that originated from the Demeter System project
Where did the Law of Demeter originate? Northeastern University in the 1980s
What project is associated with the origin of the Law of Demeter? Aspect-Oriented Programming Project
What is the main purpose of the Law of Demeter origin design goal? Addresses the design coupling issue through placing constraints on messaging among the objects
What is the key limitation introduced by the Law of Demeter origin? Limit the sending of messages to objects that are directly known to it
What are Mandel’s three golden rules for UI design? Place the user in control, Reduce the users’ memory load (G. Miller’s 7 + or – 2), Consistency (earlier: design completeness and consistency)
What are Shneiderman and Plaisant’s eight rules for design? Consistency, Short cuts for frequent (or experienced) users, Informative feedback, Dialogues should result in closure, Strive for error prevention and simple error handling, Easy reversal of action, Internal locus of control, Reduce short-term memory
Describe UI design prototypes: Low fidelity (with cardboards), High fidelity (with “storyboard” tools)
Describe testing methods used in UI design: Usability “laboratories test” and statistical analysis
What measurement is used in UI usability evaluation? Number of subjects who can complete the tasks within some specified time
What represents a UI usability performance measure? Length of time required to complete different tasks
What metric is used in usability testing for support usage? Number of times “help functions need”
Which usability metric tracks user correction behavior? Number of times “redo” used and where
Which metric evaluates efficiency in UI interaction? Number of times “short cuts” were used
What are the two UI design prototypes: Low fidelity (with cardboards), High fidelity (with “storyboard” tools)
What is measured in usability "laboratories test" and statistical analysis? Number of subjects who can complete the tasks within some specified time, Length of time required to complete different tasks, Number of times “help functions need”, Number of times “redo” used and where, Number of times “short cuts” were used
According to the Law of Demeter, which set of objects can receive messages? (Part 1) The object itself, The object’s attributes (instance variables), The parameters of the methods in the object, Any object created by a method in the object, Any object returned from a call to one of the method of the object, etc.
According to the Law of Demeter, which set of objects can receive messages? (Part 2) Any object in any collection that is one of the above categories
Created by: MinYoongi67
 

 



Voices

Use these flashcards to help memorize information. Look at the large card and try to recall what is on the other side. Then click the card to flip it. If you knew the answer, click the green Know box. Otherwise, click the red Don't know box.

When you've placed seven or more cards in the Don't know box, click "retry" to try those cards again.

If you've accidentally put the card in the wrong box, just click on the card to take it out of the box.

You can also use your keyboard to move the cards as follows:

If you are logged in to your account, this website will remember which cards you know and don't know so that they are in the same box the next time you log in.

When you need a break, try one of the other activities listed below the flashcards like Matching, Snowman, or Hungry Bug. Although it may feel like you're playing a game, your brain is still making more connections with the information to help you out.

To see how well you know the information, try the Quiz or Test activity.

Pass complete!
"Know" box contains:
Time elapsed:
Retries:
restart all cards