CIS 112 Exam Review. Exam Content 100 questions valued at 1 point each 100 questions valued at 1...

Preview:

Citation preview

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.

Recommended