Send a link to your students to track their progress
131 Terms
1
New cards
Unified Process Phases
Inception, Elaboration, Construction, Transition
2
New cards
Unified Process: Inception
Identify the scope, decide how to build, agree on budget (feasibility) (1-2 Weeks)
3
New cards
Unified Process: Elaboration
Prove we have the right architecture (4-6 Weeks)
4
New cards
Unified Process: Construction
Build the software using incremental process, prioritize requirements (Arbitrary Length)
5
New cards
Unified Process: Transition
Validate the system and move to production
6
New cards
scrum
A way to implement agile programming. Break into small parts, everything is sprints.
7
New cards
Software Engineering
The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software
8
New cards
Type of Software Development Processes
Scrum, Burndown, and Waterfall
9
New cards
Concept
Who knows
10
New cards
Analysis
Emphasis on finding and describing objects or concepts in the problem domain
11
New cards
Design
Emphasis on defining software objects and how they collaborate to fulfill requirements
12
New cards
UML
Unified Modelling Language /specifying, visualizing, constructing, and documenting the artifacts of software systems (can be used for non software things)
13
New cards
Unified Process
A systems development life cycle based on object-oriented techniques; follows a series of repeated steps
14
New cards
Time-boxed iterations
A time-limited period where the team focus on a single goal and produce an increment of the software
15
New cards
What are the two categories of requirements?
Functional and non-functional
16
New cards
Use Case
Text story capturing the interaction between actors and the system. It captures one or more requirements, which we analyze.
17
New cards
JDK
Java Development Environment - Including JRE, and the compilers and tools
18
New cards
First Method Called when Running Class
Main()
19
New cards
ByteCode
program code that has been compiled from source code into low-level code designed for a software interpreter. It may be executed by a virtual machine (such as a JVM) or further compiled into machine code (JIT)
20
New cards
Iteration in Gantt Diagrams
Long Lines that enclose individual tasks
21
New cards
Sprint
A set period of time, normally two to four weeks, during which specific work must be completed and made ready for review when using Scrum methods
22
New cards
increment
development in small time (added functionality)
23
New cards
Virtual method
Any non-private, non-final, and non-static method
24
New cards
What are the two interaction diagrams?
Sequence diagram
Communication diagram
25
New cards
In Sequence, what is captured in the box on the top?
An instance of a class typically has a colon or is underlined to denote that it is an instance.
26
New cards
synchronous messages
used when the sender waits for the receiver to process the message and return before carrying on with another message(WITH A SOLID ARROW)
27
New cards
asynchronous message
An asynchronous message is used when the message caller does not wait for the receiver to process the message and return before sending other messages to other objects within the system. (WITH A NOTATION LIKE <
28
New cards
Interaction diagrams
describes how a group of objects collaborate in some behavior (typically a single use case) and shows object interactions regarding messages passed between these objects within use case.
29
New cards
What is the meaning of the triangle arrow?
Synchronous/blocking call
30
New cards
How do we derive a System Sequence Diagram?
Take use case and divide user system interaction based on actions/reactions.
An object that groups multiple elements into a single unit.
38
New cards
What is the difference between Use Case and Use Case Diagram?
One produces a text story for requirements, and the other gives a graphical outline of system features.
39
New cards
Map
Maps key and value pairs, cannot contain duplicate keys
40
New cards
Brief Use Case
one-paragraph summary, usually of the main success scenario (early steps of development)
41
New cards
What is the difference between Concept and Class?
A concept is an object of the real world; a class can be a software construct.
42
New cards
What strategies are there to extract domain concepts?
Noun analysis, Category lists
43
New cards
Casual Use Case
informal paragraph format - multiple paragraphs covering various scenarios
44
New cards
Fully Dressed Use Case
Elaborated. All steps and variations are described in detail
* preconditions, successes, guarantees * done in later stages of dev
45
New cards
Different actor types:
Person, computer system, or organizaion
46
New cards
Associations
Relating two classes
47
New cards
Association role
specific role that it plays in that relationship, what the near one poses to the next one
48
New cards
Association class
■ is used to model an association as a UML class.
■ it has its own name, attributes operations
49
New cards
Association
Relating two classes together
50
New cards
Set
Cannot contain duplicate elements
51
New cards
Domain Concepts
concepts (objects)
associations between concepts
attributes of concepts
rarely polymorphism
52
New cards
extends (use case diagram relation)
inherits behaviors from the other class extended from.
53
New cards
List
An ordered collection, can contain duplicate elements
54
New cards
Use Case diagram
Used to describe a set of actions (use cases) that a system can perform in collaboration with one or more external actors.
55
New cards
Why do I need equals and hashCode?
For object identity, we do not want to compare reference in memory location but the data the object holds.
56
New cards
Actors
Represents a role in the system, makes actions, or receives them. Not necessarily human.
57
New cards
why base soft dev on use-cases?
* discover and record requirements. * define interactions between actor using a system to define goal
58
New cards
Multiplicities
defines how many instances of a type A can be associated with one instance of a type B
59
New cards
Two types of associations:
* Association * Relating two classes * Generalization * Specialization of a class
60
New cards
Dependencies
Has to exist for the associated class to perform its task
61
New cards
domain model vs design class model
A class diagram differs from a Domain Model by showing software entities rather than real-world concepts.
62
New cards
Essential Use Case vs Concrete Use Case
E - what a software application or system must do to fulfill the goal
C- initiated by an actor
63
New cards
interaction diagram
models that describe how a group of objects collaborate in some behavior, show instances/objects + interaction
64
New cards
System Sequence Diagrams (SSDs) vs Sequence Diagrams (SDs) vs. Architectural Sequence Diagrams
SSD - shows the interaction between actors and the black-box system.
SD - shows the interaction between two objects.
ASD - Depict workflow, Message passing and how elements in general cooperate over time to achieve a result
65
New cards
Design Classes
Having an attribute of the supply type
Sending a message to a supplier
Receiving a parameter of the supplier type
The supplier is a superclass or interface
66
New cards
Unified Process Phases
Inception, Elaboration, Construction, Transition
67
New cards
Unified Process: Inception
Identify the scope, decide how to build, agree on budget (feasibility) (1-2 Weeks)
68
New cards
Unified Process: Elaboration
Prove we have the right architecture (4-6 Weeks)
69
New cards
Unified Process: Construction
Build the software using incremental process, prioritize requirements (Arbitrary Length)
70
New cards
Unified Process: Transition
Validate the system and move to production
71
New cards
scrum
A way to implement agile programming. Break into small parts, everything is sprints.
72
New cards
Software Engineering
The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software
73
New cards
Type of Software Development Processes
Scrum, Burndown, and Waterfall
74
New cards
Concept
Who knows
75
New cards
Analysis
Emphasis on finding and describing objects or concepts in the problem domain
76
New cards
Design
Emphasis on defining software objects and how they collaborate to fulfill requirements
77
New cards
UML
Unified Modelling Language /specifying, visualizing, constructing, and documenting the artifacts of software systems (can be used for non software things)
78
New cards
Unified Process
A systems development life cycle based on object-oriented techniques; follows a series of repeated steps
79
New cards
Time-boxed iterations
A time-limited period where the team focus on a single goal and produce an increment of the software
80
New cards
What are the two categories of requirements?
Functional and non-functional
81
New cards
Use Case
Text story capturing the interaction between actors and the system. It captures one or more requirements, which we analyze.
82
New cards
JDK
Java Development Environment - Including JRE, and the compilers and tools
83
New cards
First Method Called when Running Class
Main()
84
New cards
ByteCode
program code that has been compiled from source code into low-level code designed for a software interpreter. It may be executed by a virtual machine (such as a JVM) or further compiled into machine code (JIT)
85
New cards
Iteration in Gantt Diagrams
Long Lines that enclose individual tasks
86
New cards
Sprint
A set period of time, normally two to four weeks, during which specific work must be completed and made ready for review when using Scrum methods
87
New cards
increment
development in small time (added functionality)
88
New cards
Virtual method
Any non-private, non-final, and non-static method
89
New cards
What are the two interaction diagrams?
Sequence diagram
Communication diagram
90
New cards
In Sequence, what is captured in the box on the top?
An instance of a class typically has a colon or is underlined to denote that it is an instance.
91
New cards
synchronous messages
used when the sender waits for the receiver to process the message and return before carrying on with another message (WITH A SOLID ARROW)
92
New cards
asynchronous message
An asynchronous message is used when the message caller does not wait for the receiver to process the message and return before sending other messages to other objects within the system. (WITH A NOTATION LIKE <
93
New cards
Interaction diagrams
describes how a group of objects collaborate in some behavior (typically a single use case) and shows object interactions regarding messages passed between these objects within use case.
94
New cards
What is the meaning of the triangle arrow?
Synchronous/blocking call
95
New cards
How do we derive a System Sequence Diagram?
Take use case and divide user system interaction based on actions/reactions.