SDLC

Pataasin ang iyong marka sa homework at exams ngayon gamit ang Quizwiz!

Joint Application Development (JAD)

Knowledge workers and IT specialists meet, sometimes for several days, to define or review the business requirements for the system - meeting for stakeholders with different points of view to come together to understand business requirements and brainstorm what the best technical approach might be for meeting the customer's need

Low Level Design/Detailed Design

Low-Level Design (LLD): component level with a step-by-step process, details for each based on HLD but digs deeper going into separate modules and features. Detailed Design: most detailed, with user stories, error processing algorithm, state transition, and logical sequences.

What are the different types of software quality model?

McCall's Model (first), Boehm Model (hierarchal), FURPS Model (functionality, usability, reliability, performance, supportability), Ghezzi Model (internal àinternal & external qualities), IEEE Model (measurements), Dromey's Quality Model (evaluating software vs software), SATC's Model (Software Assurance Technology Centre metrics), ISO 9126-I Quality Model (int'l standard), and Capability Maturity Model (initial, repeatable, defined, managed, and optimizing).

Sprint Retrospective

Meeting to reflect on the success of the Scrum process and any changes to be made for next sprint to discuss all the highs and lows with the entire team. What went well? What have you learned? What didn't go well? What could have been better?

Describe Maintenance Phase

Monitor and support the new system to ensure it continues to meet the business goals. 1.Build a help desk to support the system users •Help desk - a group of people who responds to knowledge workers' questions 2.Provide an environment to support system changes

Scope Creep

Occurs when the scope of the project increases like extra features that were not part of the initial requirements

Burn Down Chart

Once each day the estimated work remaining in the sprint is calculated and graphed by the Scrum Master resulting in the Burndown Chart. This chart is used to keep track of work completed usually by days of the sprint cycle and hours needed, this is to keep see if the team is on track. There is a velocity history graph that maybe used as well - Predicts the velocity of the team reached in each sprint. It is a bar graph and represents how teams' output has changed over time.

Software Maintenance Process

Process of modifying and updating software application after its delivery to improve its performance, correct any new defects and adapt the product according to the modified environment. Four categories are: Corrective Maintenance (fixing failures), Adaptive Maintenance (internal needs), Perfective Maintenance (enhancements/mods/updates), and Preventative Maintenance (Software Re-engineering to prevent future problems).

What is Software Quality Assurance (SQA)?

Process which assures that all software engineering processes, methods, activities and work items are monitored and comply against the defined standards. Standards can be one or combo of ISO 9000, CMMI model, ISO15504, etc. The prime goal is to ensure quality.

Product vs Project

Project=software application is developed for a specific customer requirement Product=software application developed for multiple customers requirement

Quality Assurance Plan

Quality Assurance Plan (QAP) is used to define the criteria and processes that will ensure and verify that data meet specific data-quality objectives throughout the Data Lifecycle. There are four steps of the quality assurance process: Plan, Do, Check, and Act.

How to measure software quality?

Reliability (level of risk/fail = # of bugs), Performance (source code = stress/load testing), Security (breach = time takes to fix software vulnerabilities), Maintainability (adaptation = # lines of code), and Rate of Delivery (# of software releases).

Project Milestones

Represent key dates for which you need a certain group of activities performed

Scrum

SCRUM is an agile development method which concentrates specifically on how to manage tasks within a team-based development environment.

State the Difference Between SDLC And Stlc

SDLC involves the complete Verification and Validation of a Project. SDLC stage requires business requirement analysis, design, Development Process, Testing Process, and Maintenance. Whereas STLC involves only Validation.

What's the difference between SQA, SQC and Testing?

SQA: activities for ensuring quality that result in quality software products (process focused and prevention oriented). SQC: activities ensuring quality with focus on identifying defects in actual products (product focused and detection oriented. Testing is a subset of SQC, carrying out identification of bugs present.

SRS

SRS Document is on Software Requirements Specification and explains what the software will do and how it will be expected to perform. Usually including a purpose, overall description, and specific requirements and lays down the framework for every team involved in development to follow usually created by System Analyst.

In your project which model have you followed?

Scrum Model in the most recent project.

Capability Maturity Model

The Software Engineering Institute (SEI) Capability Maturity Model (CMM) specifies an increasing series of levels of a software development organization. The higher the level, the better the software development process, hence reaching each level is an expensive and time-consuming process.

According to you which is most creative and challenging phase of system life cycle?

The design is one of the most challenging phases of the SDLC life cycle.

Business Requirements

The detailed set of knowledge worker requests that the system must meet in order to be successful · Ex. if a trade association has an objective to promote the services offered by its members, the business requirements for a project might include creating a member directory that increases awareness of members

V-Shaped Model

- A variant of the Waterfall that emphasizes the verification and validation of the product in a sequential v-shaped model. - Under the V-Model, the corresponding testing phase of the development phase is planned in parallel. So, there are Verification phases on one side of the 'V' and Validation phases on the other side. The Coding Phase joins the two sides of the V-Model. Advantages: - This is a highly-disciplined model and Phases are completed one at a time. - Works well for smaller projects where requirements are very well understood. - Simple and easy to understand and use. - Easy to manage due to the rigidity of the model. Each phase has specific deliverables and a review process.

Extreme Programming (XP)

- Extreme Programming (XP) is an agile software development methodology - Planning=Customer writes user stories(features they want) and stored in parking lot. Team creates release schedule and divides projects into iterations. - Managing=PM sets pace, daily meetings, project velocity, and reassignment to avoid bottlenecks. - Designing=Simple - Coding=Everyone reviews code and any developer can add functionality, fix bugs, and review. - Testing=Unit Testing & Acceptance Testing When to use: - Expect their system's functionality to change every few months. - Experience constantly changing requirements or work with customers who aren't sure what they want the system to do. - Want to mitigate project risk, especially around tight deadlines. Include a small number of programmers (between 2 and 12 is preferable). - Are able to work closely with customers. - Are able to create automated unit and functional tests.

Scrum Master

- Facilitator for the Product Owner and the team. - He/she is to remove impediments that are obstructing the team from achieving sprint goals. - Will work with PO to ensure backlog is ready for next sprint and release planning. - Overall acting like a coach, by leading daily scrums, sprint reviews and planning meetings to ensure full team engagement. - - Recognizes, raises, and removes issues proactively that impact the team's ability to achieve sprint goals.

Agile Model

- Focuses more on flexibility rather than on requirement. - Broken into smaller incremental builds and each builds a feature. - Increments also known as sprints and last from 2 to 4 weeks - Product owner verifies the products and after approval then to delivery - Testing is done in each sprint - Benefits: Provides opportunities for stakeholders and team engagement, predictable delivery, allows for change, focuses on highest priorities first, product owner feedback, highly collaborative Frameworks: Scrum, Kanban, XP and APF

Spiral Model

- Incremental risk oriented life cycle - Determine Objectives -> Identify & Resolve Risks -> Development & Test -> Plan the Next Iteration + Risk & analysis is reduced, software is produced early and customer gives early feedback too

Kanban

- Methodology of Agile -Board in Japanese, visual method. Pull their tasks as and when capacity permits. - Board dividing the process into smaller steps indicated by a card. - Work thresholds so no build up backlogs and just in time work., - Consistent flow of work is crucial to faster and reliable delivery

Roles in SDLC

- Project Sponsor = provides direction and resources - SME/Subject Matter Experts = technical requirements are captured - Product Owner = represents the business/end-users and responsible for working with the user group to determine what features will be in the product release - Project Manager = responsible for what ,where, when and why of the software project - Technical Lead = translates business requirements into a technical solution - Business Analysts = A primary job responsibility of Business Analyst is to communicate with all stakeholders & to elicit, analyze and validate the requirements for changes to business processes, information systems, and policies. - Software Developers = use the technical requirements to create cost and timeline estimates - Testers = ensure that the software solution meets the business requirements and free of bugs, errors, defects

What is the difference between Agile and Waterfall model?

- Waterfall is linear sequential life cycle model where as Agile is a continuous iteration of development and testing in the software development process - Agile is flexible and Waterfall is structured - Agile separates a project into sprints and Waterfall divides a project into phases - Agile allows requirement changes at any time while Waterfall requirements are prepared once at the start

Prototype

- a smaller-scale, representation, or working model of the user's requirements or a proposed design for an information system

Name 5 models used in SDLC

1. Waterfall 2. RAD 3. Agile 4. Iterative 5. Spiral

What are the phases of SDLC?

1.Planning •Define the system to be developed •Set the project scope/plan 2.Analysis •Gather business requirements 3.Design •Design the technical architecture •Design system models 4.Development •Build technical architecture •Build databases and programs 5.Testing •Write test conditions •Perform testing 6.Implementation •Write user documentation •Provide training 7.Maintenance •Build a help desk •Support system changes

Graphical User Interface (GUI)

A GUI (graphical user interface) is a system of interactive visual components for computer software. A GUI displays objects that convey information, and represent actions that can be taken by the user. The objects change color, size, or visibility when the user interacts with them. GUI objects include icons, cursors, and buttons. These graphical elements are sometimes enhanced with sounds, or visual effects like transparency and drop shadows.

What is software?

A collection of computer programs that helps us to perform a task. - System Software=device drivers, OS, servers - Programming software=compilers, debuggers - Application software=industrial automation, business software, games

Scrum Meeting

A daily brief stand up from five to fifteen minutes mandatory for the team and Scrum Master to discuss what has been completed since previous meeting, and what they're currently working on and explaining anything that is blocking them from staying on track. Everyone must pay attention and offer help if needed. This is an overall view of the sprint's health and where the burndown chart can be used to display if stories should be added to another sprint based off permission from PO. The sprint backlog is updated as new information is available.

Critical Success Factor

A factor simply critical to your organization's success Examples: - Be Service-Oriented When Working With Our Customers. - Achieve Order Fulfillment Excellence Through On-Line Process Improvement.

Waterfall Model

A sequential, activity-based process in which each phase in the SDLC is performed sequentially from planning through implementation, basically completion of one phase before moving on. Emphasizes early planning, customer input and design. **no changes, not complicated, requirements clear, environment stable

Software Quality Control (SQC)

Activities and techniques that will verify if the developed product is in conformance with the requirements to deliver a quality product.

BRS

BRS Document is on the Business Requirement Specification and explains the aspects of business requirements. Usually developed by Business Analyst it specifies the customer wishes and requirements at a very high level.

Describe Design Phase

Build a technical blueprint of how the proposed system will work 1.Design the technical architecture with HLD - High Level Design (function of each module, inter dependencies, database tables) - LLD - by senior developers is the logic of modules, database tables/size, interface, dependency, error messages •Technical architecture - defines the hardware, software, and telecommunications equipment required to run the system 2.Design system models •Modeling - the activity of drawing a graphical representation of a design •Graphical user interface (GUI) - the interface to an information system

Outsourcing/BPO

Business process outsourcing (BPO) is a method of subcontracting various business-related operations to third-party vendors. Many businesses, from small startups to large companies, opt to outsource processes, as new and innovative services are increasingly available in today's ever-changing, highly competitive business climate. Broadly speaking, companies adopt BPO practices in the two main areas of back office and front office operations. Back office BPO refers to a company contracting its core business operations such as accounting, payment processing, IT services, human resources, regulatory compliance, and quality assurance to outside professionals who ensure the business runs smoothly.

Project Scope

Clearly defines the high-level system requirements, deliverables, and objectives

Project Plan

Defines the what, when, and who questions of system development

Project Manager

Develops the project plan and tracks the plan to ensure all key project milestones are completed on time and the day-to-day activities associated with a project

Describe Implementation/Deployment Phase

Distribute the system to all of the knowledge workers and they begin using the system to perform their everyday jobs 1. Write detailed user documentation 2. Provide training for the system users - online or workshop training Satisfies the functional requirements Satisfies the business needs Adheres to all mandates, physical constraints and service level agreements Operates as described in the User and Operator Manuals

When should users be trained on a new system?

During the implementation phase.

End User Development

EUD is "a set of methods, techniques and tools that allow users of software systems, who are acting as non-professional software developers, at some point to create, modify, or extend a software artifact"

Rapid Application Development (RAD)

Emphasizes extensive user involvement in the rapid and evolutionary construction of working prototypes of a system to accelerate the systems development process **Delivering projects in small pieces used in a short span of time, requirements known, user involved throughout process

Describe Planning Phase

Involves determining a solid plan for developing your information system including project management plan & project budget plan 1.Define the system to be developed •Critical success factor (CSF) in Agile 2.Set the project scope •Project scope - list of specific project goals, delivarables, tasks, costs and deadlines usually done by Project Manager at a high-level •Scope creep •Feature creep •Project scope document 3.Develop the project plan including tasks, resources, and time frames •Project plan •Project manager •Project milestones - in Agile, a visible indicator

Describe Analysis Phase

Involves end users and IT specialists working together to gather, understand, and document the business requirements for the proposed system 1.Gather the business requirements •Business requirements - BRD Document - SRS - Software Requirements Specifications •Joint application development (JAD) 2.Prioritize the requirements •Requirements definition document - prioritizes the business requirements and places them in a formal comprehensive document

Software Build

Software Build in simpler term is an activity to translate the human-readable source code into the efficient executable program. The build process consists of following: Fetching the code from the source control repository Compile the code and check the dependencies/modules Run the automated unit tests Link the libraries, code, files, etc accordingly. Once successfully passed, Build the artifacts and store them. Archive the build logs. Send the notification emails.

Software Release Process

Software delivery/release process does not have a one-size-fits-all process. It evolves with software development frameworks, methodologies, and technologies and will be different within waterfall, agile frameworks, and DevOps methodologies. Each organization needs to alter the release management process to meet their needs using best practice.

Development Phase

Take all of your detailed design documents from the design phase and transform them into an actual system, developers begin building and coding the software. Implementation plan - how it will be deployed and installed into an operational system. 1. Development of IT infrastructure 2. Development of database and code

Prototyping Model

The process of building a model that demonstrates the features of a proposed product, service, or system •The prototyping process involves four steps: 1.Identify basic requirements 2.Develop initial prototype 3.User review 4.Revise and enhance the prototype

Sprints

These are several iterations anywhere from one to four weeks long. The team agrees on and displays a list of criteria which must be met before a product increment or user story is considered "done". Also known as a Definition of Done, and failure to meet these criteria at the end of a sprint implies that the works should not be counted towards the sprint's velocity.

Sprint Review

This is a live demonstration that is given at the end of each sprint to showcase the work the team has completed during the sprint. Product owner is responsible to evaluate each of the user stories being demoed against its acceptance criteria and accepts or rejects the story. Accepted stories integrate with the "Done" increments aka shippable deliverable. Rejected ones are up to Product Owner, or maybe a part of the product or sprint backlog. This meeting paints a picture of the project completion date. Team members learn a thing about estimation, number of user stories accepted and determines the number of story points achieved in a sprint. The team can develop the ability to estimate correctly and make informed decisions regarding the story points that are feasible to achieve. The Scrum Master, Product Owner, team, stakeholder, delivery manager, customer/end users are all a part of this long meeting.

Product Backlog

This lists all the desired features of the products and is prioritized by top requirements based off the Product Owner and Scrum Master based on user stories and requirements. The development team refers to the Product Backlog to complete the task during each sprint. Backlog is high level but includes estimates and priority listings including user stories (What and not How of a feature), epics (larger features that need to be broken down into user stories), bugs, and spikes (tasks which don't directly generate value like research).

Product Owner

This person should have a vision and authority, with a focus on business and market requirements to build and manage the backlog. He/she decides on the features, while voicing for the customer/stakeholder and bridging the gap between them and the Scrum Team. One PO to support each Agile team (or at most two teams), they work with product management, customers, business owners, and other stakeholders.

Scrum Team

Three to nine members responsible for completing the work usually consisting of Software Engineers, Architects, Programmers, Analysts, QA Experts, Testers, and UI Designers. They will break down the sprint items and help provide estimates for timing.

Verification vs Validation

Verification - is the process to ensure that whether we are building the product right i.e. to verify the requirements which we have and to verify whether we are developing the product accordingly of not. Activities are inspections, reviews and walkthroughs. It's a static method of checking documents and files. Validation - is the process whether we are building the right product i.e. to validate the product which we have developed is right or not. Activities are testing the software. Its a dynamic process of testing the real product. Involves code execution.

Describe Testing Phase

Verifies that the system works and meets all of the business requirements defined in the analysis phase •Two primary testing activities: 1.Write the test conditions •Test conditions - the detailed steps the system must perform along with the expected results of each step 2.Perform the testing of the system •Unit testing - tests individual units of code •System testing - verifies that the units of code function correctly when integrated •Integration testing - verifies that separate systems work together •User acceptance testing (UAT) - determines if the system satisfies the business requirements ***This step is repeated until all requirements have been tested and all the defects have been fixed

Business Analysts

Work with stakeholder to prioritize a project and may also help with providing high level estimates of projects cost. Create a framework with Subject Matter Experts (SME's) and create a requirements traceability matrix.

User Story

short simple descriptions of a feature with a set of statements that describe the condition a deliverable must satisfy is known as Acceptance Criteria, and user stories must have a Definition of Ready (DOR) means that stories must be immediately actionable, a story point is an estimate of the effort required to implement a user story, a number that tells the team the difficulty level, most cases use 1, 2, 3, 8, 16 or Fibonacci Sequence: 1, 2, 3, 5, 8, ,13, 21 (teams usually set a baseline story, that everyone can resonate with and compare future stories against the baseline) sizing considers the amount of work to be done. Sprint Planning Meeting - Product owner provides a list of high priority items on the Product Backlog, but the Scrum Team chooses the user stories with a Definition of Ready and identifies the tasks necessary to complete each one and is placed on the Sprint Backlog because they are the ones committing to completing the tasks. Also, they decide when they can complete and place an estimate on how much time is needed for delivery. The tasks are detailed and are required to achieve the sprint goal. Sprint backlogs is commonly maintained as a spreadsheet, this meeting takes half a day.


Kaugnay na mga set ng pag-aaral

Chapter 15: Brain and Cranial Nerves

View Set

KNES CH 16 Foot, Ankle, and Lower Leg Conditions

View Set

English Comp II Final Exam study guide

View Set

A&P 1: Chapter #10 - Muscle Tissue

View Set

APUSH: The beginning through War of 1812

View Set