Podcast
Questions and Answers
Which of the following best describes 'Software Engineering'?
Which of the following best describes 'Software Engineering'?
- A systematic, disciplined and quantifiable approach to software development, operation and maintenance. (correct)
- Defining phases/stages throughout the software development process.
- A process of analyzing user requirements.
- Designing, building and testing software applications.
What is the primary purpose of SDLC (Software Development Life Cycle)?
What is the primary purpose of SDLC (Software Development Life Cycle)?
- To ensure the software satisfies user needs.
- To define the user requirements of a software application.
- To analyze and test a software application.
- To provide a framework that defines the phases or stages to be followed throughout the software development process. (correct)
Which of the following is NOT typically considered a phase of SDLC?
Which of the following is NOT typically considered a phase of SDLC?
- Implementation
- Design
- Requirement Gathering and Analysis
- Marketing (correct)
What is the main focus of Object-Oriented Design in software engineering?
What is the main focus of Object-Oriented Design in software engineering?
What is the role of structural models in design model types?
What is the role of structural models in design model types?
What is the primary purpose of a modeling language in software development?
What is the primary purpose of a modeling language in software development?
What is the main goal of UML (Unified Modeling Language)?
What is the main goal of UML (Unified Modeling Language)?
Which of the following UML diagrams is categorized as a Behavior Diagram?
Which of the following UML diagrams is categorized as a Behavior Diagram?
Which of the following UML diagrams is categorized as a Structure Diagram?
Which of the following UML diagrams is categorized as a Structure Diagram?
Which technique is commonly used to discover classes in object-oriented design?
Which technique is commonly used to discover classes in object-oriented design?
In a class diagram, what does a class method represent?
In a class diagram, what does a class method represent?
Which of the following notations represents inheritance in a class diagram?
Which of the following notations represents inheritance in a class diagram?
What is the purpose of an object diagram?
What is the purpose of an object diagram?
What does it mean if the Objectname is optional, in the object notation?
What does it mean if the Objectname is optional, in the object notation?
In object diagrams, what is the purpose of showing attributename = "value"
?
In object diagrams, what is the purpose of showing attributename = "value"
?
What kind of diagrams are sequence and communication diagrams?
What kind of diagrams are sequence and communication diagrams?
What aspect of system behavior does a sequence diagram primarily emphasize?
What aspect of system behavior does a sequence diagram primarily emphasize?
In a sequence diagram, what does a lifeline represent?
In a sequence diagram, what does a lifeline represent?
What does an activation bar on a lifeline in a sequence diagram indicate?
What does an activation bar on a lifeline in a sequence diagram indicate?
What is the difference between a synchronous and an asynchronous message in a sequence diagram?
What is the difference between a synchronous and an asynchronous message in a sequence diagram?
In a sequence diagram, what does a 'create message' typically represent?
In a sequence diagram, what does a 'create message' typically represent?
Which type of message in a sequence diagram implies that a message was sent, but its receipt is not guaranteed or relevant to the diagram's purpose?
Which type of message in a sequence diagram implies that a message was sent, but its receipt is not guaranteed or relevant to the diagram's purpose?
What do interaction fragments like 'alt', 'opt', and 'loop' provide in interaction diagrams?
What do interaction fragments like 'alt', 'opt', and 'loop' provide in interaction diagrams?
When is the 'opt' interaction fragment used in sequence diagrams?
When is the 'opt' interaction fragment used in sequence diagrams?
What does the 'loop' interaction fragment signify in a sequence diagram?
What does the 'loop' interaction fragment signify in a sequence diagram?
What is the primary difference between sequence and communication diagrams?
What is the primary difference between sequence and communication diagrams?
Which of the following is a typical symbol used in communication diagrams?
Which of the following is a typical symbol used in communication diagrams?
In a communication diagram, what does a numbered prefix on a message (e.g., '1.2:') indicate?
In a communication diagram, what does a numbered prefix on a message (e.g., '1.2:') indicate?
What does the syntax msg sequence no. [Condition]: Msg
represent in a communication diagram?
What does the syntax msg sequence no. [Condition]: Msg
represent in a communication diagram?
In communication diagrams, what does an asterisk (*)
in the message sequence number indicate?
In communication diagrams, what does an asterisk (*)
in the message sequence number indicate?
In communication diagrams, what does a double bar ||
in the message sequence number indicate?
In communication diagrams, what does a double bar ||
in the message sequence number indicate?
Which of the following is a key guideline for creating effective Communication Diagrams?
Which of the following is a key guideline for creating effective Communication Diagrams?
What is a primary strength of sequence diagrams compared to communication diagrams?
What is a primary strength of sequence diagrams compared to communication diagrams?
What is emphasized by communication diagrams in contrast to sequence diagrams?
What is emphasized by communication diagrams in contrast to sequence diagrams?
What does a 'State' represent in a State Chart Diagram?
What does a 'State' represent in a State Chart Diagram?
In a State Chart Diagram, what is the role of a 'Transition'?
In a State Chart Diagram, what is the role of a 'Transition'?
What are the three elements of a state transition?
What are the three elements of a state transition?
What is a 'Trigger' in the context of State Chart Diagrams?
What is a 'Trigger' in the context of State Chart Diagrams?
What is a 'self-transition' in a State Chart Diagram?
What is a 'self-transition' in a State Chart Diagram?
What is a 'Call Event' trigger?
What is a 'Call Event' trigger?
Which of the following is an example of a 'Time Event' trigger?
Which of the following is an example of a 'Time Event' trigger?
When using triggers with guard conditions, when is action executed?
When using triggers with guard conditions, when is action executed?
Flashcards
Software Engineering
Software Engineering
The application of a systematic, disciplined, quantifiable approach for the development, operation, and maintenance of software.
SIE (Software Implementation and Engineering)
SIE (Software Implementation and Engineering)
A process of analyzing user requirements and then designing, building, and testing software application which will satisfy those requirements.
SDLC (Software Development Life Cycle)
SDLC (Software Development Life Cycle)
A framework that defines the phases/stages to be followed throughout the software development process.
SDLC Stages
SDLC Stages
Signup and view all the flashcards
Function-Oriented S/W Design
Function-Oriented S/W Design
Signup and view all the flashcards
Object-Oriented S/W Design
Object-Oriented S/W Design
Signup and view all the flashcards
Object Oriented Design
Object Oriented Design
Signup and view all the flashcards
Design Model Types
Design Model Types
Signup and view all the flashcards
Modeling Language
Modeling Language
Signup and view all the flashcards
UML
UML
Signup and view all the flashcards
Behaviour Diagrams
Behaviour Diagrams
Signup and view all the flashcards
Types of Behaviour Diagrams
Types of Behaviour Diagrams
Signup and view all the flashcards
Structure Diagrams
Structure Diagrams
Signup and view all the flashcards
Types of Structure Diagrams
Types of Structure Diagrams
Signup and view all the flashcards
How to Discover Classes?
How to Discover Classes?
Signup and view all the flashcards
Class Structure
Class Structure
Signup and view all the flashcards
Class Relationships
Class Relationships
Signup and view all the flashcards
Object Diagram
Object Diagram
Signup and view all the flashcards
Static Object Diagram
Static Object Diagram
Signup and view all the flashcards
Named Object Notation
Named Object Notation
Signup and view all the flashcards
Anonymous Object Notation
Anonymous Object Notation
Signup and view all the flashcards
Object with Attributes Notation
Object with Attributes Notation
Signup and view all the flashcards
Interaction Diagram
Interaction Diagram
Signup and view all the flashcards
Interaction Diagrams Types
Interaction Diagrams Types
Signup and view all the flashcards
Sequence Diagram
Sequence Diagram
Signup and view all the flashcards
Communication Diagram
Communication Diagram
Signup and view all the flashcards
Elements of sequence diagrams
Elements of sequence diagrams
Signup and view all the flashcards
Class stereotypes
Class stereotypes
Signup and view all the flashcards
Messages stereotypes
Messages stereotypes
Signup and view all the flashcards
Message Types
Message Types
Signup and view all the flashcards
Synchronous call
Synchronous call
Signup and view all the flashcards
Asynchronous call
Asynchronous call
Signup and view all the flashcards
Interaction Fragments
Interaction Fragments
Signup and view all the flashcards
Communication Diagram Emphasis
Communication Diagram Emphasis
Signup and view all the flashcards
Communication Diagram Symbols
Communication Diagram Symbols
Signup and view all the flashcards
Guard Expressions Example
Guard Expressions Example
Signup and view all the flashcards
Iteration and Looping Signature
Iteration and Looping Signature
Signup and view all the flashcards
Rules of Thumb
Rules of Thumb
Signup and view all the flashcards
Sequence Diagrams emphasis
Sequence Diagrams emphasis
Signup and view all the flashcards
Communication Diagrams Show
Communication Diagrams Show
Signup and view all the flashcards
Study Notes
Lecture 01: Introduction & Object Diagram
- Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software.
- Software Engineering(SIE) is defined as a process of analyzing user requirements, designing, building, and testing software applications to satisfy those requirements.
- SDLC (Software Development Life Cycle) is a framework defining the phases/stages throughout the software development process.
- SDLC phases:
- Requirement Gathering And Analysis
- Design
- Implementation
- Testing
- Maintenance/Evolution
The Design Phase
- Software design methods include function-oriented S/W design and object-oriented S/W design.
- Object-oriented design defines objects and their interactions to solve a software problem.
- Design model types include structural and dynamic models.
- Modeling languages serve to express information, knowledge, or systems in a structured and consistent manner.
- UML (Unified Modeling Language)is a general-purpose, developmental modeling language intended to provide a standard way to visualize the design of a system.
- UML Diagram Structure:
- Behavior Diagrams: Activity, state machine, use case, interaction, communication diagram, interaction overview, sequence, and timing diagrams.
- Structure Diagrams: Class, composite structure, component, deployment, object, package, and profile diagrams.
Class Diagram Revision
- Classes are found using noun/verb analysis and CRC cards.
- Class Structure:
- Class name: the class name
- Class attributes: e.g., +id: String, +name: String
- Class methods: e.g., +getMaxBook(): int
- Class Relationships:
- Association
- Inheritance
- Dependency
- Aggregation
- Composition
Object Diagrams
- An object diagram is a graph of instances, including objects and data values.
- A static object diagram is an instance of a class diagram that shows a snapshot of the detailed state of a system at a point in time.
- Object Notation Types:
- Named Object: objectname : Classname.
- Anonymous Object: Classname.
- Object with Attributes:
- objectname: Classname
- attributename1 ="value"
- attributename2 ="value"
- "value" is used for string values.
Lecture 02: Interaction Diagrams - Part 1
- An interaction diagram represents an interaction, containing objects and the relationships between them including messages exchanged between the objects.
- Interaction diagrams include Sequence Diagrams (temporal focus) and Communication Diagrams (structural focus).
- Sequence diagrams emphasize the time ordering of messages.
- Elements:
- Actor
- Frame
- Object: objectName: ClassName or :ClassName.
- Class/Object Stereotypes: Boundary Class, Entity Class, Control Class.
- Lifelines
- Execution/Activation Bar
Sequence Diagrams
- Messages:
- Synchronous Message
- Asynchronous Message
- Return Message
- Participant Creation Message: <
> - Participant Destruction Message: <
>.
- Synchronous Call is used when the sender waits until the receiver has finished processing the message.
- An Asynchronous Call; the sender does not wait for the receiver to finish processing the message and it continues immediately.
- Create and Delete Message
- Create Message: <
> - Delete Message: <
>
- Create Message: <
- Lost and Found Message
- Lost Message
- Found Message
- Self Calls
Interaction Fragments
- Common interaction fragments include:
- Reference (Ref)
- Alternative (Alt): two or more
- Option (Opt): one
- Iteration (loop)
- Break (break)
- Parallel (par)
Lecture 03: Communication Diagrams
- Communication diagrams emphasize the organization of objects participating in an interaction.
- Symbols:
- Actor
- Object
- Links between Objects
- Direction of Messages
- Message sequence numbers e.g., 1, 2, 2.1
- Frame (interaction frame)
- Message Syntax E.g., 1.0:login (UN/PW)
- Self Calls
- Guard Expressions Syntax: msg sequence no. [Condition] : Msg
- Iteration and Looping Syntax:
- Msg Sequence No *[Condition]: Msg Signature
- Msg Sequence No *[condition] [iterative Clause]: Msg Signature (Optional)
- Parallel Activities
- 2.1 * [Condition]
- 2.1 * || [Condition] (Concurrently notation)
Rules of Thumb for Diagrams
- Avoid crossing links and crowded diagrams.
- Do not show all interactions.
- Do not model obvious return values.
- Sequence diagrams emphasize the sequences of events well.
- Communication diagrams show the relationships between classes.
- Strengths:
- Sequence diagrams show sequence or time order.
- Communication diagrams show flexibility to add new objects in two dimensions.
- Weeknesses:
- Sequence diagrams are forced to extend to the right when adding new objects.
- Communication diagrams are difficult to see message sequence.
- Similarities:
- Semantically equivalent
- Diagrams can convert from each other without losing most of the information.
- They model the dynamic aspects of a system.
- They model the implementation of a use-case scenario.
Lecture 04: State-Chart (State-Machine) Diagram
- State means a particular condition that someone or something is in at a specific time.
- Notations:
- Composite State
- Simple State
- State with Compartment (
) - Internal Behaviours (entry, exit, do)
- Internal Behaviours ->Entry, Exit, Do
- Internal Behaviours (entry, exit, do)
- State with Compartment (
- Special States ->Initial State, Final State
- Transitions:
- Elements: Source State -><Trigger> Target State
- Trigger: Time Event
- Call Event/ Change Event
- Self - Transitions: The state in question is exited and entered again
- Types of Triggers
- Call Event
- Change Event
- Time Event
- Call Event/Trigger; Example: buttonPressed()
- Change Event/ Trigger; Example: When (T>100°)
- Time Event/ Trigger; Example: after (1 minute)
State Machine Conditions
- Triggers with Guard Conditions (if true, execute):
- message() [Guard Condition] / Action
- when (Condition) [Guard Condition] / Action
- after (timespan) [Guard Condition] / Action
- Composite states has sub-states that are sequential or concurrent.
- Sub-states are in a separate compartment known as the "Decomposition" compartment.
- Simple Composite State consists of only one region.
- Orthogonal Composite State encompasses more than one region within the decomposition compartment.
- Hidden Decomposition Indicator:
- entry/-
- exit/
Lecture 05: Physical Diagrams
- Not much information was given about physical diagrams
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.