CEN5087 Midterm Study Guide

studied byStudied by 5 people
5.0(1)
get a hint
hint

What is Software?

1 / 40

Studying Progress

0%
New cards
41
Still learning
0
Almost done
0
Mastered
0
41 Terms
1
New cards

What is Software?

  • Models, Design, Tests

  • A set of instructions (Programs)

New cards
2
New cards

What are characteristics of software?

Invisible Complexity - size Changeability - bugs, adding functionality, adapting

New cards
3
New cards

What is software crisis?

Low productivity Poor quality High Cost High Demand

New cards
4
New cards

What is software engineering?

Process Products Management Methods

New cards
5
New cards

What is software modeling?

Complexity - Abstraction (vertical) Divide & Conquer (Horizontal) Behavior Functionality Structure

New cards
6
New cards

Water Fall

System Engineering Software Requirements Analysis Software Design Coding & Unit Testing Integration & Integration testing Acceptance Testing Maintenance (Can't go back up past Maintenance)

New cards
7
New cards

Water Fall Pros and Cons

+Simple, Straight sequence of phases

+It supports function-oriented project organization

-Inflexible to requirement change

-The system is outdated when delivered from long development duration

-No early feedback from the users

-May lose entire investment from customer if the project fails.

New cards
8
New cards

Rational Unified Process (RUP)

<p>Inception: 1-2 iterations, produces a simplified use case model, a tentative architecture, and a project plan. Elaboration: Produces the most critical use cases and architectural design Construction: remaining use cases are implemented into the system Transition: System is deployed, users are trained, and bugs are fixed</p>

Inception: 1-2 iterations, produces a simplified use case model, a tentative architecture, and a project plan. Elaboration: Produces the most critical use cases and architectural design Construction: remaining use cases are implemented into the system Transition: System is deployed, users are trained, and bugs are fixed

<p>Inception: 1-2 iterations, produces a simplified use case model, a tentative architecture, and a project plan. Elaboration: Produces the most critical use cases and architectural design Construction: remaining use cases are implemented into the system Transition: System is deployed, users are trained, and bugs are fixed</p>
New cards
9
New cards

Agile Process Models

<p>+Flexibility</p><p>+Immediate feedback</p><p>-Scope creep</p><p>-Time</p><p>-Lack of predicitability</p>

+Flexibility

+Immediate feedback

-Scope creep

-Time

-Lack of predicitability

<p>+Flexibility</p><p>+Immediate feedback</p><p>-Scope creep</p><p>-Time</p><p>-Lack of predicitability</p>
New cards
10
New cards

Functional Requirements

Statements of services the system should provide, how the system should react to particular inputs and how the system should behave in particular situations.

New cards
11
New cards

Non-functional requirements

Performance, reliability, usability, security, maintainability, quality.

New cards
12
New cards

Requirements Elicitation Approaches

Identifying problems and needs Constructing analysis models to help understanding Formulating system/software requirements Conducting feasibility study Checking the requirements and models for desired properties such as correctness, and consistency Specifying acceptance tests Formulating an iterative development plan

New cards
13
New cards

Use Cases

A business process that begins with an actor, ends with the actor, and accomplishes a business task useful for the actor.

Usually a circle.

New cards
14
New cards

Actors

Played by and on behalf of a set of business entities or stakeholders that are external to the system and interact with the system.

Usually a stick figure

New cards
15
New cards

System Boundary

It encloses the use cases and show the capabilities of the system.

Usually a box.

New cards
16
New cards

Inheritance

Indicates that one use case is more general/specialized than the other.

Notation: -

New cards
17
New cards

Extension

Indicates that one use case can optionally continue the process of another use case.

Notation ----> <<extend>>

New cards
18
New cards

Inclusion

Indicates that one use case includes another use case as part of its business process

----> <<include>>

New cards
19
New cards

What is actor-system interaction modeling?

The modeling and design of how the system interacts with the actors to carry out the use cases. A two-column table that describes each interaction (actor input and system response)

New cards
20
New cards

Abstract Use Case

using a verb or noun phrase

New cards
21
New cards

High Level Use Case

stating exactly when and where the use case begins and when it ends. (This use case begins with, This use case ends with)

New cards
22
New cards

Expanded Use Case

describing step by step how the actor and system interact to accomplish the business task using a two-column table

New cards
23
New cards

Precondition

use case assumes that the actor has already taken action that does not directly interact with this use case

New cards
24
New cards

Postcondition

system changes based on the completion of use case

New cards
25
New cards

What are activity diagrams?

Diagrams that are a more understandable visual representation than textual description. Show use cases with multiple scenarios and use cases with concurrent activities.

New cards
26
New cards

What is a class?

An abstraction of objects with similar properties and behavior. A collection of objects.

New cards
27
New cards

Association Class

defines properties and operations for an association between two classes

New cards
28
New cards

What are the different type of class relationships?

Inheritance, Aggregation, Association

New cards
29
New cards

Inheritance Class Relationship

expresses the generalization/specialization relations between concepts. One concept is more general/specialized than the other. IS-A relationship

Example: Vehicle is a generalization of car, car is specialization of vehicle

New cards
30
New cards

Aggregation Class Relationship

expresses the fact that one object is part of another object. Also called PART-OF relationship

Example: engine is part of a car

New cards
31
New cards

Association Class Relationship

expresses general relationship other than inheritance and aggregation. Can be application specific relationships between two concepts

Example: instructor teach course, user has account

New cards
32
New cards

What is software architecture?

High-level system structural organization that consists of a collection of components, their interactions (connectors), and constraints.

New cards
33
New cards

Benefits of software architecture

Important because it helps with better understanding of the system and enables as early system level analysis. The "blueprint." Facilitates maintenances and future system evolutions

New cards
34
New cards

What are the major types of software systems?

Interactive, event-driven, transformational, object-persistence

New cards
35
New cards

Interactive System

interaction between system and actor consists of a relatively fixed sequence of actor requests and system responses.

Actor and system have a "client-server" relationship.

System has to process and respond to each request.

New cards
36
New cards

Event-Driven System

interacts with more than one external entity at the same time.

Receives events from, and controls external entities

Does not need to respond to every incoming event. Its response is state dependent - the same event may result in different responses depending on system state

New cards
37
New cards

Transformational System

consist of a network of information-processing activities, transforming activity input to activity output

Activities may involve control flows that exhibit sequencing, conditional branching, parallel threads, synchronous and asynchronous behavior

systems may perform number crunching or computation intensive algorithms

New cards
38
New cards

Object-Persistence

Provides object storage and retrieval capabilities to other subsystems

Responsible only for storing and retrieving objects, and does little or no business processing except performance considerations

Hides implementation from the rest of system

New cards
39
New cards

Components

o define the computation logic and data organization: objects, databases, filters, clients, and servers

New cards
40
New cards

Connectors

define the interactions among components: procedure call, access protocol, and pipers

New cards
41
New cards

Constraints

define system level properties: pre-post conditions, safety properties, liveness properties

New cards

Explore top notes

note Note
studied byStudied by 27 people
Updated ... ago
5.0 Stars(1)
note Note
studied byStudied by 63 people
Updated ... ago
5.0 Stars(4)
note Note
studied byStudied by 3744 people
Updated ... ago
4.8 Stars(20)
note Note
studied byStudied by 402 people
Updated ... ago
4.9 Stars(8)
note Note
studied byStudied by 14 people
Updated ... ago
5.0 Stars(3)
note Note
studied byStudied by 21 people
Updated ... ago
5.0 Stars(2)
note Note
studied byStudied by 10 people
Updated ... ago
5.0 Stars(1)
note Note
studied byStudied by 4 people
Updated ... ago
5.0 Stars(1)

Explore top flashcards

flashcards Flashcard37 terms
studied byStudied by 8 people
Updated ... ago
5.0 Stars(1)
flashcards Flashcard37 terms
studied byStudied by 22 people
Updated ... ago
5.0 Stars(3)
flashcards Flashcard85 terms
studied byStudied by 29 people
Updated ... ago
4.0 Stars(1)
flashcards Flashcard32 terms
studied byStudied by 54 people
Updated ... ago
5.0 Stars(1)
flashcards Flashcard98 terms
studied byStudied by 5 people
Updated ... ago
5.0 Stars(3)
flashcards Flashcard40 terms
studied byStudied by 26 people
Updated ... ago
5.0 Stars(2)
flashcards Flashcard92 terms
studied byStudied by 145 people
Updated ... ago
5.0 Stars(2)
flashcards Flashcard288 terms
studied byStudied by 376 people
Updated ... ago
5.0 Stars(3)