CEN5087 Midterm Study Guide

studied byStudied by 12 people
5.0(1)
learn
LearnA personalized and smart learning plan
exam
Practice TestTake a test on your terms and definitions
spaced repetition
Spaced RepetitionScientifically backed study method
heart puzzle
Matching GameHow quick can you match all your cards?
flashcards
FlashcardsStudy terms and definitions

1 / 40

flashcard set

Earn XP

Description and Tags

41 Terms

1
What is Software?
  • Models, Design, Tests

  • A set of instructions (Programs)

New cards
2
What are characteristics of software?
Invisible
Complexity - size
Changeability - bugs, adding functionality, adapting
New cards
3
What is software crisis?
Low productivity
Poor quality
High Cost
High Demand
New cards
4
What is software engineering?
Process Products
Management Methods
New cards
5
What is software modeling?
Complexity - Abstraction (vertical)
Divide & Conquer (Horizontal)
Behavior
Functionality
Structure
New cards
6
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
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
Rational Unified Process (RUP)
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
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
New cards
9
Agile Process Models
\+Flexibility

\+Immediate feedback

\-Scope creep

\-Time

\-Lack of predicitability
\+Flexibility 

\+Immediate feedback 

\-Scope creep 

\-Time 

\-Lack of predicitability
New cards
10
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
Non-functional requirements
Performance, reliability, usability, security, maintainability, quality.
New cards
12
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
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
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
System Boundary
It encloses the use cases and show the capabilities of the system.

Usually a box.
New cards
16
Inheritance
Indicates that one use case is more general/specialized than the other.

Notation: -

⇨
New cards
17
Extension
Indicates that one use case can optionally continue the process of another use case.

Notation
\----\>
<
New cards
18
Inclusion
Indicates that one use case includes another use case as part of its business process

\----\>
<
New cards
19
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
Abstract Use Case
using a verb or noun phrase
New cards
21
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
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
Precondition
use case assumes that the actor has already taken action that does not directly interact with this use case
New cards
24
Postcondition
system changes based on the completion of use case
New cards
25
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
What is a class?
An abstraction of objects with similar properties and behavior. A collection of objects.
New cards
27
Association Class
defines properties and operations for an association between two classes
New cards
28
What are the different type of class relationships?
Inheritance, Aggregation, Association
New cards
29
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
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
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
What is software architecture?
High-level system structural organization that consists of a collection of components, their interactions (connectors), and constraints.
New cards
33
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
What are the major types of software systems?
Interactive, event-driven, transformational, object-persistence
New cards
35
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
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
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
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
Components
o define the computation logic and data organization: objects, databases, filters, clients, and servers
New cards
40
Connectors
define the interactions among components: procedure call, access protocol, and pipers
New cards
41
Constraints
define system level properties: pre-post conditions, safety properties, liveness properties
New cards

Explore top notes

note Note
studied byStudied by 577 people
645 days ago
5.0(12)
note Note
studied byStudied by 69 people
863 days ago
5.0(1)
note Note
studied byStudied by 16 people
868 days ago
5.0(1)
note Note
studied byStudied by 1 person
703 days ago
5.0(1)
note Note
studied byStudied by 1 person
6 days ago
5.0(1)
note Note
studied byStudied by 7 people
759 days ago
5.0(1)
note Note
studied byStudied by 1 person
61 days ago
5.0(1)
note Note
studied byStudied by 12384 people
697 days ago
4.7(51)

Explore top flashcards

flashcards Flashcard (29)
studied byStudied by 9 people
678 days ago
5.0(1)
flashcards Flashcard (20)
studied byStudied by 5 people
456 days ago
5.0(1)
flashcards Flashcard (40)
studied byStudied by 96 people
789 days ago
5.0(1)
flashcards Flashcard (95)
studied byStudied by 211 people
844 days ago
4.7(3)
flashcards Flashcard (136)
studied byStudied by 5 people
544 days ago
5.0(1)
flashcards Flashcard (45)
studied byStudied by 3 people
213 days ago
5.0(1)
flashcards Flashcard (63)
studied byStudied by 36 people
412 days ago
5.0(1)
flashcards Flashcard (172)
studied byStudied by 25 people
36 minutes ago
5.0(2)
robot