cis 112 exam review. exam content 100 questions valued at 1 point each 100 questions valued at 1...
TRANSCRIPT
CIS 112CIS 112
Exam ReviewExam Review
Exam Content Exam Content
100 questions valued at 1 point each100 questions valued at 1 point each 100 points total100 points total 10 each from Chapters 1, 2, 3, 4, 5, 6, 7, 8, 9, 1010 each from Chapters 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Exam is open-book, open-notes, internet accessExam is open-book, open-notes, internet access
What We CoveredWhat We Covered
Chapter 1Chapter 1 history of the object-oriented approachhistory of the object-oriented approach
Chapter 2Chapter 2 introduction to the object-oriented approachintroduction to the object-oriented approach
Chapter 3Chapter 3 a way of thinking about objectsa way of thinking about objects
Chapter 4Chapter 4 introduction to terms and conceptsintroduction to terms and concepts
Chapter 5Chapter 5 UML notation for model buildingUML notation for model building
What We Covered What We Covered
Chapter 6Chapter 6 requirements modelingrequirements modeling
Chapter 7Chapter 7 hierarchies and requirements modelshierarchies and requirements models
Chapter 8Chapter 8 object-oriented system development life cyclesobject-oriented system development life cycles
Chapter 9Chapter 9 detailed case studydetailed case study
Chapter 10Chapter 10 Object-oriented DesignObject-oriented Design
Object-oriented system development Object-oriented system development
building block approach to system developmentbuilding block approach to system development identify the objects that are needed in the systemidentify the objects that are needed in the system identify objects that already exist and can be reusedidentify objects that already exist and can be reused
Benefits of the object-oriented approach Benefits of the object-oriented approach
addresses three pervasive problems with traditional addresses three pervasive problems with traditional system developmentsystem development quality, productivity, and flexibilityquality, productivity, and flexibility
each object is small thereby reducing complexity each object is small thereby reducing complexity and leading to higher qualityand leading to higher quality
an object can be reused once it is written, an object can be reused once it is written, implemented, and testedimplemented, and tested
system can be easily modified by changing only the system can be easily modified by changing only the appropriate objects appropriate objects
HierarchiesHierarchies
organization of classes into super and sub classesorganization of classes into super and sub classes sub classes inherit attributes and methods from those sub classes inherit attributes and methods from those
above in the hierarchabove in the hierarch allows system to be broken down into smaller pieces allows system to be broken down into smaller pieces
that are easier to understand, implement, maintainthat are easier to understand, implement, maintain ensures independence of system componentsensures independence of system components
Whole / PartWhole / PartC
om
pon
en
ts
Ag
gre
gati
on
Part
Wh
ole
Su
per
Cla
ss
Su
b C
lass
Generalization / SpecializationGeneralization / Specialization
Source: http://people.cs.vt.edu/~kafura/cs2704/oop.swe.html
Sp
ecia
liza
tion
Gen
era
liza
tion
Su
per
Cla
ss
Su
b C
lass
AbstractionsAbstractions
refers to the relevant features and behaviors of an refers to the relevant features and behaviors of an objectobject
abstract classes are not used to create objectsabstract classes are not used to create objects designed to act as a base class to be inherited by designed to act as a base class to be inherited by
other classesother classes design concept in program development that design concept in program development that
provides a foundation upon which other classes are provides a foundation upon which other classes are builtbuilt
CRCCRC
class, responsibility, collaborationclass, responsibility, collaboration used to identify and explore the nature of a systemused to identify and explore the nature of a system CRC card is an index card used to represent the CRC card is an index card used to represent the
responsibilities of classes and the interaction responsibilities of classes and the interaction between the classesbetween the classes
informal approach to object oriented modelinginformal approach to object oriented modeling created through scenarios, based on the system created through scenarios, based on the system
requirements, that model the behavior of the systemrequirements, that model the behavior of the system aids in capturing essence of object-oriented systemsaids in capturing essence of object-oriented systems
Unified Modeling Language Unified Modeling Language
standardized approach to object-oriented standardized approach to object-oriented terminology and diagramming notationterminology and diagramming notation
used to define object-oriented constructs and models used to define object-oriented constructs and models
Classes differ from objectsClasses differ from objects
A class is a type of thing or a general category. A class is a type of thing or a general category. An object is a specific instance of a class.An object is a specific instance of a class.
Inheritance Inheritance
Inheritance means get something from.Inheritance means get something from. One class of objects can inherit attributes and One class of objects can inherit attributes and
methods from another.methods from another. This type of relationship is shown in the This type of relationship is shown in the
generalization/specialization hierarchy.generalization/specialization hierarchy.
Polymorphism Polymorphism
literally means "multiple forms“literally means "multiple forms“ extremely important to object-oriented programmers extremely important to object-oriented programmers
who have to implement messageswho have to implement messages ability to send the same message to different ability to send the same message to different
receivers and have the message trigger the right receivers and have the message trigger the right method within each receivermethod within each receiver
Sequence diagramsSequence diagrams
presents object interaction arranged in time presents object interaction arranged in time sequencesequence
shows the objects involved in the scenario and the shows the objects involved in the scenario and the sequence of messages that are exchangedsequence of messages that are exchanged
show interactions among objects and with outside show interactions among objects and with outside actors for a specific scenario or instance of a use actors for a specific scenario or instance of a use case case
ActorsActors
either a person (user) interacting with the system or either a person (user) interacting with the system or another system interacting with the systemanother system interacting with the system
use cases capture the main functionality of a system use cases capture the main functionality of a system from the perspective of a user or actorfrom the perspective of a user or actor
Use casesUse cases
identified by looking for events that might cause the identified by looking for events that might cause the user to interact with the systemuser to interact with the system
a use case might have more than one scenarioa use case might have more than one scenario
Verifying requirements satisfactionVerifying requirements satisfaction
walk through all use caseswalk through all use cases
Custom methodsCustom methods
necessary when the class must process messages not necessary when the class must process messages not handled by standard methodshandled by standard methods
Inheritance Inheritance
Inheritance means get something from.Inheritance means get something from. One class of objects can inherit attributes and One class of objects can inherit attributes and
methods from another.methods from another. This type of relationship is shown in the This type of relationship is shown in the
generalization/specialization hierarchy.generalization/specialization hierarchy.
Generalization / SpecializationGeneralization / Specialization
Source: http://people.cs.vt.edu/~kafura/cs2704/oop.swe.html
Sp
ecia
liza
tion
Gen
era
liza
tion
Su
per
Cla
ss
Su
b C
lass
Inh
eri
ts F
rom
Heir
s
Abstract ClassesAbstract Classes
Exists only to allow subclasses to inherit from it.Exists only to allow subclasses to inherit from it. Objects of that class type not normally created.Objects of that class type not normally created.
matter of design / implementation policymatter of design / implementation policy nothing to prevent it actually being donenothing to prevent it actually being done
Development Life CycleDevelopment Life Cycle
Widely used framework for organizing and Widely used framework for organizing and managing system development process.managing system development process.
Five phasesFive phases planningplanning analysisanalysis designdesign implementationimplementation maintenancemaintenance
Process vs. Technique Process vs. Technique
““Process” explains what tasks to do and when to Process” explains what tasks to do and when to do them. do them.
““Technique” describes approaches that could or Technique” describes approaches that could or should be used for the tasks at hand.should be used for the tasks at hand.
how to implement the processhow to implement the process
Objectives vs. ScopeObjectives vs. Scope
Objectives are statements that define the expected Objectives are statements that define the expected benefits of the system.benefits of the system.
Scope defines the boundary of the system.Scope defines the boundary of the system. describes what the system will be used fordescribes what the system will be used for defines main usersdefines main users prevents requirements creepprevents requirements creep
ever-expanding objectivesever-expanding objectives keeps cost and schedule under controlkeeps cost and schedule under control
Starting an Object-Oriented Project Starting an Object-Oriented Project
Start by identifying the most important business Start by identifying the most important business events.events. there might be many more events buy only the important there might be many more events buy only the important
or typical events need to be identified early onor typical events need to be identified early on this can lead rapidly to an initial prototype that can this can lead rapidly to an initial prototype that can
ultimately be expanded into the full systemultimately be expanded into the full system yields gradual implementation and growing benefitsyields gradual implementation and growing benefits
Use CasesUse Cases
Use cases provide natural way of dividing the Use cases provide natural way of dividing the system into manageable units.system into manageable units.
The objective of use cases is to identify what the The objective of use cases is to identify what the system must do for the user to complete required system must do for the user to complete required work tasks.work tasks.
Physical vs. Logical ModelsPhysical vs. Logical Models
Physical model includes details of system Physical model includes details of system implementation. implementation.
Logical model specifies what is required without Logical model specifies what is required without defining implementation details.defining implementation details.
User EvaluationUser Evaluation
A variety of different types of users will typically A variety of different types of users will typically interact with a system.interact with a system.
Prototyping and evaluation by users will help Prototyping and evaluation by users will help identify the most effective design of the overall identify the most effective design of the overall system structure and user interface.system structure and user interface.
Considerations During TransitionConsiderations During Transition
Three main areas need to be considered during Three main areas need to be considered during transition to object-oriented methods.transition to object-oriented methods. toolstools methodology or means of employmentmethodology or means of employment organization’s cultureorganization’s culture
Benefits of OO ImplementationBenefits of OO Implementation
Methods and attributes can be added to existing Methods and attributes can be added to existing object classes without disrupting the rest of the object classes without disrupting the rest of the system. system.
New classes can be added easily.New classes can be added easily. Additional features can be added after the main Additional features can be added after the main
functionality has been implemented.functionality has been implemented.