Software Engineering and UML Vocabulary Flashcards

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/49

flashcard set

Earn XP

Description and Tags

Flashcards covering key terms and concepts from lecture notes on UML diagrams, software engineering process models, and the software life cycle.

50 Terms

1
New cards

Class Diagram

A diagram that describes the structure of a system by showing the system's classes, their attributes, and the relationships among the classes.

2
New cards

Visibility Notations in UML

Symbols placed before a class member's name to specify access level: + for Public, # for Protected, - for Private, and ~ for Package.

3
New cards

Association

A linkage between two classes, normally represented as a line, which can be adorned with role names, ownership indicators, multiplicity, visibility, and constraints.

4
New cards

Association Class

An association that itself has attributes and operations, visualized as a regular class connected to an association line with a dashed line.

5
New cards

Qualifier

An identifier attribute used in a qualified association to select a particular object from another in a one-to-many relationship, symbolized by a small rectangle adjoining the class on the 'one' side.

6
New cards

Bi-Directional Association

A standard association represented by a solid line where both classes are aware of each other and their relationship.

7
New cards

Uni-Directional Association

An association drawn as a solid line with an open arrowhead where two classes are related, but only one class knows that the relationship exists.

8
New cards

Reflexive Association

An association in which a class is associated with itself, occurring when a class has objects playing a variety of roles.

9
New cards

Aggregation

A 'has a' relationship formed when a class is composed of a collection of other classes without strong lifecycle dependency.

10
New cards

Composition

A stronger form of aggregation relationship that connotes a strong lifecycle association between the whole class and its part classes.

11
New cards

Generalization

An 'is a' relationship used to define reusable elements in a class diagram, where child classes inherit common functionality from a parent class.

12
New cards

Interface

A collection of operations that a class carries out.

13
New cards

Realization

The relationship through which a class carries out or implements an interface.

14
New cards

Unified Modeling Language (UML)

A standardized (ISO/IEC 19501:2005), general-purpose visual modeling language in software engineering used to specify, visualize, construct, and document artifacts of software systems.

15
New cards
<p>UML Diagram Types Classification</p>

UML Diagram Types Classification

The taxonomy dividing UML diagrams into Structural Diagrams (showing static architecture) and Behavioral Diagrams (showing dynamic object behaviors and changes over time).

16
New cards

Static View

A view of a system model that emphasizes the static structure of the system using objects, attributes, operations, and relationships.

17
New cards

Dynamic View

A view of a system model that emphasizes dynamic behavior by showing collaborations among objects and changes to internal states.

18
New cards

Component Diagram

A structural diagram describing how a software system is split up into components and showing the dependencies among these components.

19
New cards

Composite Structure Diagram

A structural diagram describing the internal structure of a class and the collaborations that this structure makes possible.

20
New cards

Deployment Diagram

A structural diagram showing system architecture as the deployment of software artifacts to deployment targets and hardware execution environments.

21
New cards

Object Diagram

A structural diagram showing a complete or partial view of the structure of an example modeled system at a specific time.

22
New cards

Package Diagram

A structural diagram describing how a system is split up into logical groupings by showing the dependencies among these groupings.

23
New cards

Profile Diagram

A structure diagram describing a lightweight extension mechanism to UML by defining custom stereotypes, tagged values, and constraints.

24
New cards

Stereotype

A profile class which defines how an existing metaclass may be extended as part of a profile.

25
New cards

Metaclass

A profile class and packageable element which may be extended through one or more stereotypes.

26
New cards

Activity Diagram

A behavior diagram describing the step-by-step business and operational workflows of components in a system.

27
New cards

UML State Machine Diagram

A behavior diagram that describes the states and state transitions of a system.

28
New cards

Use Case Diagram

A behavior diagram describing system functionality in terms of actors, their goals represented as use cases, and dependencies among use cases.

29
New cards

Communication Diagram

A behavior diagram showing interactions between objects or parts in terms of sequenced messages, combining static structure and dynamic behavior information.

30
New cards

Interaction Overview Diagram

A behavior diagram providing an overview of the flow of control where nodes are interactions or interaction uses.

31
New cards

Sequence Diagram

A behavior diagram showing how objects communicate with each other in terms of a sequence of messages and indicating their relative lifespans.

32
New cards

Timing Diagram

A special form of sequence diagram where the focus is on timing constraints across a period of time, with time increasing from left to right and lifelines shown in vertical compartments.

33
New cards

Software Engineering

The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software.

34
New cards

Software Process

A series of steps involving activities, constraints, and resources that produce an intended output, also referred to as a software life cycle.

35
New cards

Code-and-Fix Process Model

A life-cycle model in which product code is implemented without requirements, specifications, or design, and continuously reworked until satisfying the client.

36
New cards

Waterfall Model

A classic life cycle model suggesting a systematic, sequential approach to software development progressing from requirements to planning, modeling, construction, and deployment.

37
New cards

V-Model

A variation of the waterfall model depicting the relationship between quality assurance actions and communication, modeling, and early construction activities.

38
New cards

Rapid Application Development (RAD) Model

An incremental model that achieves rapid development through component-based construction and heavy component reuse, creating functional systems within 60 to 90 days60\text{ to }90\text{ days}.

39
New cards

Prototyping Model

An evolutionary process model assisting engineers and customers to better understand system requirements through iterative quick design, prototype creation, and customer evaluation.

40
New cards

Spiral Model

An evolutionary process model coupling the iterative nature of prototyping with the systematic aspects of the waterfall model, developing software in evolutionary releases.

41
New cards

Feasibility Study

An activity in the software life cycle determining whether a proposed development project is worthwhile.

42
New cards

Market Analysis

An activity within the feasibility study phase determining if there is a potential market for a software product.

43
New cards

Requirement Elicitation

The process of obtaining requirements from the customer and gathering information about the work environment or domain in which the final product will function.

44
New cards

Domain Analysis

The process of determining what tasks and structures are common to a specific problem area.

45
New cards

Architectural Design

High-level functional decomposition of a system into components, specifying services, resource sharing, and dependencies between separate components.

46
New cards

Unit Testing

Testing conducted by the original developer to verify that each individual coded component meets its specifications.

47
New cards

Integration Testing

Testing performed as individual components are combined to ensure the integrated system meets requirements and correctly manages shared resources.

48
New cards

System Testing

Testing the complete software system in an environment that matches the operational environment.

49
New cards

Alpha Testing

Testing of software performed by the customer at the developer's site.

50
New cards

Beta Testing

Testing of software performed by the customer at the customer's site.