1/57
Flashcards based on lecture notes about Object-Oriented Systems Analysis and Design.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
What is Object-Oriented Analysis (OOA)?
A technique used to analyze requirements using objects, classes, and interactions.
What is Object-Oriented Design (OOD)?
A process of designing software using OOP principles before implementation.
What is Object-Oriented Programming (OOP)?
A programming paradigm based on objects and classes.
What are the key aspects of Object-Oriented Analysis (OOA)?
Understand and define the system requirements, identify objects and their behaviors, use techniques like Use Case Diagrams and Requirement Analysis.
What are the key aspects of Object-Oriented Design (OOD)?
Design the system structure using classes, relationships, and hierarchies, create UML diagrams, apply design patterns.
What are the key aspects of Object-Oriented Programming (OOP)?
Implement the system using a programming language, write code using objects and classes, ensure proper testing and debugging.
What are the steps in Object-Oriented Analysis (OOA)?
Identifying requirements from stakeholders, defining objects and their behaviors, creating use case diagrams.
What are the key steps in Object-Oriented Design (OOD)?
Identifying objects and their relationships, defining classes, attributes, and methods, applying design patterns.
What are the key features of Object-Oriented Programming (OOP)?
Encapsulation, Abstraction, Inheritance, Polymorphism.
What are the key principles of the Object-Oriented Systems Approach?
Encapsulation (Data protection), Inheritance (Code reusability), Polymorphism (Flexibility in system behavior), UML diagrams.
What are the defining features of Object-Oriented Systems?
Objects and Classes, Encapsulation, Inheritance, Polymorphism, Association & Aggregation, Use of UML Diagrams.
What is a Class?
A blueprint for creating objects.
What is an Object?
An instance of a class.
What do Attributes do?
Define the state of an object.
What do Operations (Methods) do?
Define the behavior of an object.
What is Abstraction?
Hides implementation details while presenting the attributes to the outer world; reduces code complexity.
What is Encapsulation?
Bundling of data and methods to control access into the object; also known as information/data hiding.
What does Abstraction do?
Hides complex details and exposes only necessary parts.
What does Encapsulation do?
Restricts direct access to data and ensures controlled access via methods.
What is Inheritance?
Creating a new class from an existing one; a sub-class derives features from the parent class.
What is Polymorphism?
The occurrence of something in many forms; objects can be represented in many forms.
What are the various types of Inheritance in OOP?
Single, Multiple, Hierarchical, Multilevel.
What is Association?
A relationship between two objects.
What is Aggregation?
A weaker relationship where objects exist independently.
What is Composition?
A strong relationship where one object owns another.
What is Aggregation in OOP?
Special type of Association which follows a “has-a” relationship between 2 related objects. Both entities are independent of each other.
What is Composition in OOP?
Restricted form of Association where entities are strongly dependent on each other. Represents the “part-of” relationship.
What does Coupling refer to?
Degree of dependency between different modules or classes in a system.
What does Cohesion refer to?
How well the methods and attributes of a class work together towards a single purpose.
What is Low Coupling?
When components interact minimally with each other; makes code reusable, easy to maintain, and testable.
What is High Coupling?
When components heavily depend on each other; any change in one module affects multiple other modules.
What is High Cohesion?
A class is focused on a single responsibility; easier to understand, modify, and test.
What is Low Cohesion?
A class performs multiple unrelated tasks; harder to maintain and test.
What does OOA do?
Assesses the system requirements, recognizes the classes and objects, and determines the relationship between them
What is the main focus for OOA?
It mainly focuses on what the system will do rather than how it performs the task.
What are the three components of OOA?
Object Modeling, Dynamic Modeling, and Functional Modeling.
What does Object modeling do?
Develops the static structure of the software system in terms of objects and their relationships.
What does Dynamic Modelling do?
Analyzes the behavior of the system with respect to time and external changes.
What does Functional Modelling do?
Shows the processes that are performed within an object and how the data changes as it moves between methods.
In the LMS example provided, what should objects include?
Objects should include Book, LibraryMember, Librarian and Transaction
What are Instance Variables?
Data attributes that are specific to an object.
What are Instance Methods?
Operations that are specific to an object.
What are Class Variables?
Data attributes that are not specific to an object.
What are Class Methods?
Operations that are not specific to an object.
What are Constructors?
A unique method that creates and initializes the objects for a class to perform some operations.
What are the 6 steps of the Software Development Cycle?
Planning, Analysis, Design, Implementation, Testing & Integration, and Maintenance.
What occurs during the Planning phase of SDLC?
Project scope, goals, and objectives are determined, along with feasibility, budget, and timeline.
What occurs during the Analysis phase of SDLC?
Project requirements are identified and documented. The Use Case Diagram is typically created in this phase.
What occurs during the Design phase of SDLC?
Creating a detailed design for the software application based on the requirements. The class, state, sequence, activity diagram are typically created in this phase.
What occurs during the Implementation phase of SDLC?
Writing the code for the software application and performs unit testing to ensure the code functions as expected.
What occurs during the Testing phase of SDLC?
Performing various types of testing to ensure the software application meets the requirements and is free of defects.
What occurs during the Deployment phase of SDLC?
Releasing the software application to the production environment.
What occurs during the Maintenance phase of SDLC?
Performing ongoing maintenance and support, including bug fixes, updates, and enhancements.
What are the boundaries of Object-Oriented Systems Development?
System Boundary, Actors, Interfaces, Encapsulation & Modularity, Use Case Diagrams.
What are the most common UML Diagrams used in Object-Oriented Development?
Use Case Diagram, Class Diagram, Sequence Diagram, Activity Diagram.
What do Use Case Diagrams do in Object-Oriented Development?
Define WHAT the system should do.
What do Class Diagrams do in Object-Oriented Development?
Define HOW the system is structured.
What do Sequence Diagrams do in Object-Oriented Development?
Define WHEN interactions happen.