1/44
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
method
Acceptable calls (atm machine - accept card, read card, etc)
interface
signature (name, parameters , return type)
Client object
sends message asks for service
Server object
provides service returns result
composition
use variables that reference other objects (diamond) has a
inheritance
inherits common properties (arrow) is a
process-oriented
what to do next which way to flow
object oriented
break up into tasks
dependency relationship
a connection between classes where one relies on the functionality of another.
generalization relationship
a connection that defines a hierarchy, where one class is a specialized version of another, inheriting attributes and behaviors.
association relationship
a connection between classes that allows them to communicate and interact without implying a dependency.
ocp(open closed) principle
classes should be open for extension but closed to modification
liskov substitution
derived classes must be substitutable for their base classes
isp
principle states that no client should be forced to depend on methods it does not use.
dip(dependency inversion)
the principle that depends on abstractions, not concretions, to reduce coupling between modules.
synchronous operation
two bubbles are connected directly
asynchronous operation
teo bubbles connected by data store
good implementation
Readability
•Maintainability
• Performance
• Traceability
• Correctness
• Completeness
method size
should be less than 50 lines when possible
4 phases of debugging
1. Stabilization/reproduction (output is a
minimal test case that causes the error,
don’t need to look at code)
2. Localization (find in code)
3. Correction
4. Verification
golden rules of user interface design
place user in control
reduce the users memory load
design consistent user interface
software arch
a set of high-level decisions that determine the structure of the solution. Not a phase of devolpment. Software architecture provides a set of well-known solutions that are proven to work for similar
problems
module decomposition veiw
top down refinement
dependency veiw
how parts relate to eachother
components
processing element that do the work, input into output
connectors
enable communication between components, pipe data streams
interfaces
connection points on connecters and components
configurations
arrangements of connectors and components that form an arc
bugs estimate
10-50 every 1000 lines
one fp =
60 lines of oop code
fps per person one month estimate
12 fps
errors per fp analysis and design review
3
errors per fp unit and integration testing
4
inspection
visual review of product
review
meeting where project is presented
walkthrough
lead through products and ask questions
annual cost of defects in us
59 billion
rework dev cost
44 %
Fagans six major steps
Planning
2. Overview
3. Preparation
4. Examination
5. Rework
6. Follow-up
5 types of reveiws
Management Reviews
• Technical Reviews
• Inspections (Formal Peer Review)
• Walk-throughs
• Audits