1/73
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
RFP (Request for Proposal)
a formal document issued by an organization when seeking bids for a specific project, product, or services. It outlines project requirements, evaluation criteria, and submission guidelines.
Benefits of an RFP
easily evaluate potential vendors side by side and find the software development team that aligns best with business and technical requirements; provides a clear picture of your project's needs and perspectives; software development contracts should correspond to the specified project scope, services, and deliverables provided.
Key Components of an RFP
1. Introduction & Background - Explains the issuing organization and the purpose of the RFP. 2. Project Scope & Objectives - Defines what the organization needs, including deliverables, technical requirements, and goals. 3. Timeline - Specifies deadlines for proposal submission, project milestones, and expected completion dates. 4. Budget (Optional) - Some RFPs provide a budget range to guide proposals. 5. Selection Criteria - Outlines how proposals will be evaluated (e.g., cost, experience, methodology). 6. Submission Requirements - Details required documents, formats, and submission deadlines. 7. Terms & Conditions - Specifies legal, contractual, or compliance requirements.
Use Case
a description of how a user interacts with a product, software, or system to achieve a goal.
Actors in a Use Case
user or system that interacts with the application (ex: customer, admin, payment system).
Goal in a Use Case
objective the actor wants to achieve.
Preconditions in a Use Case
necessary conditions before the use case starts (ex: user must have an existing account).
Flow of Events in a Use Case
the sequence of actions the user/system takes to complete the process.
Basic Flow in a Use Case
ideal steps taken to complete the goal.
Alternative Flows in a Use Case
variations, optional steps, or additional conditions.
Exception Flows in a Use Case
errors or edge cases (ex: invalid credentials during login).
Postconditions in a Use Case
state of the system after the use case is completed successfully.
Example Actor in a Use Case
Registered User.
Example Goal in a Use Case
Access the user dashboard.
Example Preconditions in a Use Case
User must have valid login credentials.
Example Basic Flow in a Use Case
User enters email and password. System verifies credentials. If valid, user is redirected to the dashboard.
Example Alternative Flow in a Use Case
User clicks 'Forgot Password' and resets it.
Example Exception Flow in a Use Case
If the credentials are invalid, an error message is displayed.
Nouns
Classes/Objects: typically things or entities in a sentence
classes
represent the structure or blueprint of an object; what an object should be in terms of properties and behaviors
objects
instances of a class
ex: Noun
Car
Class
Car with make, model attributes, and methods such as startEngine()
Verbs
Methods/Functions
Verbs
represent actions or operations
Methods
define what an object can do and are invoked to perform an operation on the object
ex: Verb
"Drive"
Method
`drive()` (A method inside the `Car` class that defines the action of driving.)
Adjectives
Attributes/Properties
adjectives
describe or modify nouns
attributes
variables inside a class that hold data describing the object's state
ex: Adjective
"Red"
Attribute
`color` (An attribute inside the `Car` class that specifies the car's color, such as `color = "Red"`.)
Adverbs
Non-functional Requirements (NFRs)
adverbs
describe the manner, time, place, or degree of an action; modifies verbs, adjectives, or other adverbs
non-functional reqs
describe how a system should behave or perform rather what it should do; define aspects like performance, scalability, reliability, security, and user experience
ex: Adverb
*"Quickly"*
NFR
The system must handle requests *quickly*, meaning it should have a performance requirement like "response time must be under 1 second."
ex: Adverb
*"Reliably"*
NFR
The system should be *reliable*, such as "the system should have 99.9% uptime."
class diagrams
provides a static view of the system by showing the classes involved and their relationship
name
what it is; identifies the method or function
description
provides a detailed explanation of what the system, use case, or function does
pre-conditions
conditions or state of the system that must be true or met before a function or use case can be executed successfully
post-conditions
conditions or state of the system that must be true after the function or use case has completed its execution; describe the outcome or result of the operation
signature
describes its external interface, which typically includes the method's name, input parameters, and the return type
ReturnType methodName(Type1, Parameter1, type2 Parameter2, ..., TypeN, ParameterN)
If there is no return value then ReturnType must be **void.** It is not mandatory to have method parameters.
sequence diagrams
shows how objects interact with each other over time; show the sequence of messages exchanged between objects and the order in which these interactions occur
key components
objects/participants: entities involved in the interaction (represented by lifelines (vertical dashed liens with the names of the objects or classes))
messages
interactions that occur between objects
synchronous messages
method calls or requests; represented by a solid arrow used to represent method calls or requests that require a response.
async messages
used when a message is sent, but the sender does not wait for the receiver's response to continue.
return messages
represented by dashed arrows indicating the response to a previous message.
activation bar
thin rectangle placed on the lifeline of an object that shows when an object is active.
time
shows the order of messages based on time, with time progressing vertically from top to bottom.
functional reqs
describe what the system should do; define the functions, features, and interactions that the system must support.
nonfunctional reqs
define how the system should perform rather than what it should do.
usability
ease with which a user can learn to operate, prepare inputs for, and interpret outputs of a system or component.
reliability
ability of a system or component to perform its required functions under stated conditions for a specific period of time.
dependability
property of a computer system such that reliance can be justifiably placed on the service it delivers; includes reliability, robustness, and safety.
performance
concerned with quantifiable attributes of the system such as response type, throughput, availability, and accuracy.
supportability
ease of changes to the system after deployment, including adaptability, maintainability, and portability.
throughput
how much work the system can accomplish within a specified amount of time.
availability
degree when system is operational and accessible when required for use.
accuracy
the degree to which the system's output is correct or precise.
FURPS+ model
additional categories of requirements including implementation, interface, operations, packaging, and legal requirements.
implementation requirements
constraints on the implementation of the system (prog lang, hardware platform).
interface req
constraints imposed by external systems.
operations reqs
constraints on the administration and management of the system in the operational setting.
packaging reqs
constraints on the actual delivery of the system (installation).
legal reqs
licensing, regulation and certification.
Entity Object
An object that represents a real-world object in the system we are building, usually appears as a persistent piece of data in the database.
Boundary Object
An object that allows our Entity and Control objects to communicate with external agents.
Control Object
An object whose methods contain the flow of control of the Use Cases.