• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/81

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

81 Cards in this Set

  • Front
  • Back

Waterfall Lifecycle

1.Feasibility


2. Analysis


3. Design


4. Build


5 Test


6. Implement


-This is still #1 solution used today.


-Easy to control


-Very slow


-Difficult to manage scope because so long and business can change before project complete


Prototype Lifecycle (Incremental)

This evolved as a result of long lifecycle of Waterfall


1. Little Analysis and design


2. Build limited functionality


3. Working Software


- This process repeats until the end result is the desired functionality


Spiral Lifecycle (Incremental)

Each iteration involves 6 steps


1. Determine objectives, alternatives and constraints


2. Identify and resolve risks


3. Evaluate alternatives


4. Develop deliverables for that iteration, and verify that they are correct, and that we got the benefits


5. plan the next iteration


6. Commit to an approach for the next iteration

Spiral continued

Benefits


1. Incremental coverage of lifecycle


2. Fast partial delivery


3. "Potentially" uncontrolled evolution


4. User input for functional requirements


5. What is "working"?


6. "Potentially" controlled evolution over time

Rational Unified Process (RUP) Lifecycle (Incremental)

Very difficult to manage - workflows and phases are mixed together.


Workflows


1. Business Modeling


2. Requirements


3. Analysis & Design


4. Implementation


5. Test


6. Deployment



Phases


1. Inception


2. Elaboration


3. Construction


4. Transition


Agile Approaches

-(XP) eXtreme Programming


-(AUP) Agile Unified Process


-Scrum


-Crystal


-(FDD) Feature-Driven Development


-(DSD) Dynamic Systems Development


-(ASD) Adalptive Software Development


-(TDD) Test-Driven Development


-(LSD) Lean Software Development

Things about Agile

-Direct result of disgust with heavy world


-No requirements gathering


-Gets solutions out quicker


-Agile uses graphical techniques from UML


-Agile says code and solution is the code

Agile Development

Themes


-Systems are best developed in small increments


-Users and developers have to work hand-in-hand


-Each system increment should be designed to handle the minimum requirements


-When changes in requirements occur, they should be designed in.


-There should be little or no documentation beyond code

The Agile Approach

1. The planning game: user stories (scope) & developers (estimates)


2. Small releases: value business requirement


3. Metaphor: replaces "architecture"


4. Simple design: all tests, not duplicate logic, states every intention, has fewest classes


5. Testing: design test before coding & promote coverage


6. Refactoring: constant redesign


7. Pair programming: one can pickup or modify the work of the other


8. Collective ownership: the group owns the central product


9. Continuous integration: no long, deliverate life cycles


10. 40 hour-week: development is a marathon


11. On-site customer: customer must sit with the team


12. Coding standards: code follows very strict guidelines


Scrum (Most Popular)

-A management framework for incremental software development using one or more cross-functional, self-organizing teams of about 7; responsible for creating their processes within this framework


-A structure of roles, meetings, rules, and artifacts


-Fixed-length iterations (sprints) which are typically 2 to 4 weeks; each iteration builds a shippable product each iteration

Scrum Role - Product Owner

1. Single person responsible for maximizing ROI


2. Sets product vision


3. Re-priortizes the Product Backlog


4. Final arbiter of requirements


5. Accepts/rejects each product increment


6. Decides whether to ship


7. Decides whether to continue development


8. Considers stakeholders interest


9. May contribute as a team member


10. Has a leadership role

Scrum Role - Development Team

1. Cross-functional


2. Self-organizing/self-managing


3. Negotiates commitments


4. Has autonomy regarding how to reach commitments


5. Intensely collaborative


6. Co-located


7. Long-term, full-time membership


8. 7 plus/minus 2 members


9. Has a leadership role

Scrum Role - ScrumMaster

1. Facilitates the Scrum process


2. Helps remove impediments


3. Creates an environment for team self-organization


4. Capture empirical data for forecasts


5. Shield the team from interference and distractions


6. Enforces timeboxes (time spent on meeting or task)


7. Keep Scrum artifacts visible


8. Promotes engineering principles


9. Has no management authority


10. Has a leadership role

Scrum Artifacts

Product Backlog


-Ranked list of desire functionality


-items at top are more granular than items at bottom



Product Backlog item


-Specifies the what


-Often written in User Story form


-Product-wide definition


-Effort is estimated by the team


-Roughly 2-3 people 2-3 days or smaller

Scrum Artifacts

*Sprint Backlog


-Committed PBIs negotiated between the team and Product owner during the Sprint Planning Meeting


-Scope commitment is fixed during Sprint Execution


-Referenced during the Daily Scrum Meeting



*Sprint Task


-How to achieve the PBI's what


-Requires one day or less of work


-Remaining effort is re-estimated daily, in hours


-Owned by the team; collaboration is expected

Scrum Artifacts

*Sprint Burndown Chart


-Indicates total remaining team task hours within one Sprint


-Re-estimated daily & may go up and down


-Promotes team self-organization


-Discouraged if it becomes an impediment (such as a management report)

Scrum Framework

*Sprint Planning Meeting


*Daily Scrum (Stand up)


*Sprint Review Meeting


*Sprint Retrospective Meeting

Sprint Planning Meeting

-At beginning of Sprint


-Negotiate Product Backlog items


-Determine amount of work to implement


-Create an initial list of Sprint tasks

Daily Scrum (Stand up)

Might lead to Backlog refinement meeting


-During a Sprint


-Prepare product Backlog for next Sprint planning meeting


-Estimate effort to complete items


-Formulate technical information for priorities

Daily Scrum (Stand up)

(If no Backlog Refinement Meeting)


-Every day for 15 minutes


-Each team member, what was done previous day, what will be done today & what impediments exists


-Maintain a current Sprint Task List, a Sprint Burn Down Chart (remaining work in Sprint Backlog) and an impediments list


-Product owner attendance

Sprint Review Meeting

May lead to Backlog Refinement Meeting, if not


-After a Sprint


Demonstrate a working product increment to Product Owner


-Live demonstration


-Product Owner review


-Declaration of what is done/not done


-Review of Product Backlog for prioritization

Sprint Retrospective Meeting

-At the end of a Sprint


-Team reflection on its own processes


-Actions to adapt to future Sprints

RDBMS vs OO

* RDBMS (relational data base model)


-IBM's DB2, Oracle 11g, Informix, Microsoft's Sequel Server, MySQL, and Access (desktop)


-Separated application from the data


Promotes program independence from data


-Manages data as a "repository"


-Minimizes redundancy


-Most frequently used today

RDBMS vs. OO

*OO


-Rational


-Encapsulates method with data


-Promotes reuse


-Promotes component based construction


-Manages object as a "repository"


-Not widely used today because most of the applications are not OO

IIBA International Institute of Business Analysis

* An independent non-profit professional association serving the growing field of business analysis


-Business analysis, systems analysis, requirements analysis or management, project management, consulting, process improvement


*Established in in 2003 as Canadian Corp


*Has become the leading association for business analysis around the World


*Published the IIBA's Business Analysis Body of Knowledge Version 2.0 (BABOK 2)


Business Analysis

The set of tasks and techniques used to work as a liaison among stakeholders in order to understand the structure, policies, and operations of an organization, and recommend solutions that enable organizations to achieve its goals

Business Analysis Body of Knowledge

*Intended to describe and define business analysis as a discipline, rather than define the responsibilities of a person with that job title of business analyst


-Systems analyst, process analyst, project manager, product manager, developer, QA analyst, business architect, or consultant


*Solution


-Meets the business need, by solving problems or facilitating an opportunity


- - Subdivided into components including the information systems that support it, the processes that manage it, and the people who operate it

Analyst

*IT BA role:


-Provide guidance to stakeholders on devising effective and efficient approaches to achieve the project objectives


-Identify and resolve issues


-Manage the risks


-Liaise with other project areas to coordinate interdependencies and resolve issues


-Liaise with various business units to gather requirements and resolve issues


-Improve business processes


-Gather and define business requirements


-Analyze and map processes (current state/future state)


-Analyze data


-Produce high quality documentation - artifacts


-Report status and issues to the Project Manager(s)


-Contribute to enterprise architecture development from a business needs point of view


Requirement

1. A condition or capability needed by a stakeholder to solve a problem or achieve an objective


2. A condition or capability that must be met or possessed by a solution or solution component to satisfy a contract, standard, specification, or other formally imposed documents


3. A documented representation of a condition or capability as in 1. or 2.


4. May be unstated, implied by other requirements, or directly stated or managed.

Six BABOK v.2 Knowledge Areas

1. Business Analysis Planning and Monitoring


2. Enterprise Analysis


3. Elicitation


4. Requirements Analysis


5. Solution Assessment and Validation


6. Requirements Management and Communication

Business Analysis Planning and Monitoring

- Conduct Stakeholder Analysis


- Plan Business Analysis Activities


- Plan Business Analysis Communication


- Plan Requirements Management Process


- Plan, Monitor and Report on Business Analysis Performance

Enterprise Analysis

- Identify Business Need


- Determine solution Approach


- Define Solution Scope


- Develop the Business Case

Elicitation

- Prepare for Elicitation


- Conduct Elicitation


- Document Elicitation Results


- Confirm Elicitation Results

Requirements Analysis

- Organize Requirements


- Prioritize Requirements


- Specify and Model Requirements


- Determine Assumptions and Constraints


- Verify Requirements


- Validate Requirements

Solution Assessment and Validation Tasks

- Assess Requirement coverage


- Allocate Requirements


- Determine Organizational Readiness


- Validate Solution


- Evaluate Solution

Requirements Management and Communication

- Manage Solution and Requirements Scope


- Manage Requirements Traceability


- Manage Requirements for RE-use


- Prepare Requirements Package


- Communicate Requirements

Steps of B.O.O.M. (Business Object Oriented Modeling. Most SDLC look like this

  1. Initiation
  2. Discovery
  3. Construction
  4. Final Verification and Validation (V&V)
  5. Closeout

Initiation

Starts with an idea in someone's head all the way to a BRD, which is started in this step. Identify and analyze the business requirements for the project, and state the main reason for doing the project

Discovery

Conduct investigation leading to an understanding of the solutions desired behavior.


  • system use-case descriptions
  • (storyboarding)
  • State-machine diagrams
  • Class diagrams
  • Behavioral analysis
  • Structural analysis
  • Test planning
  • System test plan
  • Integration test plan
  • Unit test plan

Construction

Complete the analysis and design, code, integrate, and test the software.

Final Verification and Validation (V&V)

Perform final testing before product or service is transitioned into production.

Closeout

Manage and coordinate development into production and close the IT project

Creating a ball-park estimate

  1. Business use cases: identify business processes affected by the project
  2. Activity diagrams: you and stakeholders form consensus regarding workflow of each business use case
  3. Actors: Users and systems that will interact with the proposed IT system
  4. System use cases: Help stakeholders understand processes meaningful with the IT project

Business Requirements Document (BRD)

Make an early draft and revise it as project continues keeping baseline copies as you go to keep track of scope.


This describes business requirements


  • opportunity evaluation
  • project vision and scope
  • product vision and scope

Business Requirements

  • What must be delivered to provide value.
  • The business requirements, whats, are satisfied through products, systems, software, and processes that define the how
  • Business

- can be at work or personal, for profit or non-profit


- Product or service-based

Requirements Definition Description: Geting an accurate and complete description of what the businesss wants the system to do

Tips for Success:


  • Balance business and IT involvement. Avoid too little or too much business involvement
  • Recognize that text isn't the best medium
  • Get proper training for business analysis

Requirements Management Description: Managing the user requirements and any changes throughout the life project life cycle

Tips for success:


  • Avoid tools that are too complex for the size or type of your project
  • Ensure that end users are comfortable with the tool
  • Adopt tools with an eye toward integration with other parts of the software life cycle

Requirement Challenges

  1. Finding out what the user needs and wants
  2. Documenting the user requirements
  3. Avoiding premature design assumptions
  4. Resolving conflicting requirements
  5. Eliminating redundant requirements
  6. Managing requirements dynamics
  7. Reducing overwhelming complexity
  8. Ensuring requirements traceability
  9. Determining the stakeholders
  10. Implementing effective analyst skills
  11. Establishing requirements traceability
  12. Implementing quality assurance

Requirements Management

  • Business requirements, business rules, non-functional requirements, constraints, and use cases are commonly used terms in requirements management.
  • Although each of these requirements concerns is different, they are often found mixed together in a more complex requirement statement.
  • Business and software requirements must be dissected to become more distinct.

The role of an IT BA

To represent the business stakeholders to the development community

Main duties of the IT BA

To discover and communicate requirements to the developers and to support testing

A Business Model

A collection of diagrams and supporting text that describes business rules and requirements

The International Institute for Business Analysis (IIBA) is a professional body that offers a professional BA Certification and whose publication, the Businiss Analysis Body of Knowledge (BABOK), defines knowledge areas (KAs) relavant to the practice of business analysis

lsdjflkd

OO

OO is an acronym for "object oriented." The OO analyst sees a system as a set of objects that collaborate by sending requests to each other.

OO is a complete conceptual framework that covers the entire lifecycle of an IT project

-OO affects the way the BA analyzes and models the requirements.


-OO affects the way the software engineer (technical systems analyst) designs the system specifications


-OO affects the way the code itself is structured.

OMG Object Management Group

UML is a widely accepted standard incorporating OO concepts first developed by the "Three Amigos" Booch, Rumbaugh, Jacobson, and now owned by OMG.

Use case

The specification of a set of actions performed by a system, which yields an observable result that is, typically, of value for one or more actors or other stakeholders of the system.

Use Case Documentation (diagrams and/or text)

Should describe the series of steps that take place during the interaction and include different ways that this interaction could play out.

object

is a particular "thing" that plays a role in the system and/or that the system tracks - for example, the customer Jane Dell Ray. An object has attributes and operations associated with it. The object is the basic unit of an OO system.

Attribute

is a data element of an object

Operation

a service that a class of objects can carry out

Method

is the process used to carry out an operation

Message

A signal from one object to another that requests the receiving object to carry out one of its operations.

Encapsulation

is an OO principle stating that everything about an object - its operations and properties - is contained within the object. No other object may refer directly to another's attributes or rely on a knowledge of how its operations are carried out.

Class

is a category of object. Objects of the same class share the same attributes and methods.

Subclass

A class that is a special case of another class

Instance

A term used to refer to an object that belongs to a particular class.

Class hierarchy

A tree structure representing the relationships among a set of classes. Class hierarchies always have at least top node (which may be the object class), but may have any number of levels in the tree and any number of class at each level

Inheritance

A mechanism whereby classes can make use of the operations and variables defined in all classes above them on their branch of the class hierarchy

Polymorphism

Ability to hide different implementations behind a common interface, simplifying communications among objects. Defining a unique display operation for each screen in a system would alllow any screen to be displayed by sending the message display, without concern for how that operation was actually carried out for a given screen.

Entity class

is something that business keeps information about, for example Customer

Relationship

is a connection between classes.


  • Generalization
  • association
  • aggregation
  • composite aggregation

Generalization

OO property that models partial similarities among objects, or commonalities.


  • Each variation is called a specialized class
  • A specialized class inherits all the operations, attributes, and relationships of the generalized class.

Association

An association between classes indicates a link between its objects - for example, an Account object and its Customer owner

Aggregation

a relationship between a whole and its parts

Composite Aggregation

a specific form of aggregation wherein the parts have no existence independent of the whole.

Polymorphism

An OO concept allowing one operation name to stand for different procedures that achieve the same end. The class of the acting object determines which action is selected.

Use Case

a typical interaction between the user and system that achieves a useful result for the user

Business Use Case

is a business process

System Use Case

Typical interaction with an IT system

UML

Unified Modeling Languate is a widely accepted standard for modeling business and IT systems that incorporates OO concepts