Podcast
Questions and Answers
What is the primary goal of the SDLC Deployment Phase?
What is the primary goal of the SDLC Deployment Phase?
- To conduct verification activities on the software code
- To make the system operational in the production environment (correct)
- To ensure quality assurance throughout the development process
- To perform inspections and reviews of the software
Which of the following activities is NOT part of the SDLC Deployment Phase?
Which of the following activities is NOT part of the SDLC Deployment Phase?
- System Installation
- Training Plan Execution
- User Acceptance Testing (correct)
- Post-Deployment Review
What type of activity is software testing classified as?
What type of activity is software testing classified as?
- Validation activity (correct)
- Verification activity
- Documentation activity
- Project management activity
Which stakeholder is primarily responsible for communicating the new deployment to users?
Which stakeholder is primarily responsible for communicating the new deployment to users?
What is one of the outputs of the SDLC Deployment Phase?
What is one of the outputs of the SDLC Deployment Phase?
What is the role of a Scrum Master in a Scrum team?
What is the role of a Scrum Master in a Scrum team?
Which statement best defines the concept of 'Testing' in the software development process?
Which statement best defines the concept of 'Testing' in the software development process?
How often should acceptance tests be run according to the best practices?
How often should acceptance tests be run according to the best practices?
What is a characteristic of the backlog in Scrum methodology?
What is a characteristic of the backlog in Scrum methodology?
What is a key principle of ensuring quality in production code?
What is a key principle of ensuring quality in production code?
What is an external input (EI) in the context of project size measurement?
What is an external input (EI) in the context of project size measurement?
Which of the following examples best describes an external output (EO)?
Which of the following examples best describes an external output (EO)?
What characterizes an internal logical file (ILF)?
What characterizes an internal logical file (ILF)?
What is the purpose of specifying functional complexity for various elements in a project?
What is the purpose of specifying functional complexity for various elements in a project?
Which of the following best describes an external interface file (EIF)?
Which of the following best describes an external interface file (EIF)?
Flashcards
Validation
Validation
The process of making sure a finished software product meets its requirements.
Software Testing
Software Testing
A type of quality assurance activity that focuses on verifying whether the software meets its specifications.
SDLC Deployment Phase
SDLC Deployment Phase
The final phase of the software development lifecycle, where the product is made available to users.
New Deployment Communication
New Deployment Communication
This activity involves informing users about the new deployment, its benefits, and any changes from the previous version.
Signup and view all the flashcards
System Installation
System Installation
The process of putting the new software into a real-world environment for users to start using.
Signup and view all the flashcards
Sprint
Sprint
A 30-day cycle in Scrum where a team works to deliver a set of features from the product backlog.
Signup and view all the flashcards
Backlog
Backlog
A list of customer wants and needs that are broken down into user stories. Each story is a requirement for software development and must be completed.
Signup and view all the flashcards
Scrum Master
Scrum Master
The person responsible for facilitating Scrum meetings, guiding the team through the Scrum process, and helping the team remove impediments.
Signup and view all the flashcards
Daily Scrum Meeting
Daily Scrum Meeting
A short, daily meeting where team members share their progress, plans, and any obstacles they are facing.
Signup and view all the flashcards
Scrum Team
Scrum Team
A team of 3-9 people who work together in a Scrum process to deliver a product increment.
Signup and view all the flashcards
Function
Function
A process that performs a specific task within an application, like calculating a sum or saving data. Think of it as a small unit of work.
Signup and view all the flashcards
External Input
External Input
Data entering an application from the outside world, like user input from a form or data received from another system.
Signup and view all the flashcards
External Output
External Output
Data leaving an application and going to the external world, like reports, graphs, or sending data to another system.
Signup and view all the flashcards
External Inquiry
External Inquiry
A process that retrieves data from a database or another source within or outside the application. This can be simple like getting data from a spreadsheet or complex like using API calls to fetch data.
Signup and view all the flashcards
Internal Logical File
Internal Logical File
A group of related data that is entirely managed within the application, like a database storing customer information or a file storing user settings.
Signup and view all the flashcardsStudy Notes
Engineering and Software Development
- Engineering is the application of science and mathematics to solve real-world problems
- It involves using scientific principles to analyze, design, and build machines, structures, and other items (bridges, tunnels, roads, vehicles, and buildings).
- An engineer is a professional who invents, analyzes, designs, builds, and tests machines, complex systems, structures, and materials to meet functional objectives, considering practicality, regulation, safety, and cost.
- Software Engineering (SE) is the systematic application of engineering approaches to the development of software.
- It involves the systematic application of scientific and technological knowledge, methods, and experience to the analysis, design, implementation, testing, deployment, and documentation of software.
- A software engineer applies the principles of software engineering to analyze, design, develop, test, deploy, maintain, and evaluate computer software.
Main Components of SE
- People: Project stakeholders
- Product: Software product with associated documents
- Project: Activities necessary to produce the product
What is a System?
- A system is a collection of elements organized for a common purpose.
- A system is a group of interacting or interrelated entities that form a unified whole.
What is an Information System?
- An information system (IS) is a formal, organizational system designed to collect, process, store, and distribute information.
- A computer information system is a system composed of people and computers that process or interpret information.
Information System Components
- Hardware: The physical layer of the information system
- Software: Set of instructions that control hardware
- Data: Raw material that an information system transforms into useful information
- Process: Business function that users perform to achieve specific results
- People: Inside/outside users who interact with an IS
Four Ps of Systems Analysis and Design
- People: Project stakeholders
- Product: Software product with associated documents
- Process: Framework within which the team carries out activities
- Project: Sequence of activities having one goal that must be completed on time and within budget.
Measures of Project Success
- The resulting information system must meet user needs
- The resulting information system must be delivered on time
- The resulting information system must be delivered within budget
Stakeholders
- System Owner: Responsible for funding, developing, operating, and maintaining the system.
- Project Manager: Experienced professional responsible for planning, monitoring, and controlling projects.
- Systems Analyst: Specialist who studies problems, opportunities, directives, and needs of an organization to determine how people, data, processes, and information technology can best accomplish improvements for the business.
- System Designer: Technical specialist who translates business requirements into technical solutions.
- System Builder: Technical specialist who constructs information systems.
- Software Tester: Individual who tests software for bugs, errors, or problems.
- System User: Customer who will use or is affected by an information system.
Software Development Life Cycle (SDLC)
- A process of creating or altering information systems, and the models and methodologies people use to develop them.
SDLC Planning Phase
- The goal is to formulate a plan to produce the target software application.
- The important output is the Software Project Management Plan (SPMP).
- Stakeholders involved are owners, managers, analysts, and users.
- Activities include developing problem statements, formulating initial product ideas, and defining a vision for the organization's goals.
- Important activities include identifying target customers and market segments, defining project scope.
SDLC Requirements Analysis Phase
- Goal: Identify user and business requirements for the target application.
- Output: Software Requirements Specification (SRS) document
- Stakeholders are owners, managers, analysts, and users.
- Activities include identifying problems, specifying actors to understand needs, generating business requirements, preparing use cases, and creating use case diagrams.
SDLC Software Design Phase
- Goal: Define how the software will be constructed to satisfy requirements.
- Output: Software Design Document (SDD).
- Activities include creating UML diagrams(Class, Component, Deployment, Object, Package, Profile, Composite Structure, Use Case, Activity, Sequence, State Machine, Communication, Interaction Overview, Timing), E-R diagrams, and data flow diagrams.
SDLC Development Phase
- Goal: Build a system that fulfills requirements and implements necessary interfaces.
- Output: Program code ready for testing.
- Stakeholders are managers, analysts, designers, builders, and users.
- Activities include implementing code, modules and interfaces, integrating components.
SDLC Testing Phase
- Goal: Test the system to meet requirements.
- Output: Tested system ready for installation
- Stakeholders include managers, analysts, designers, builders, testers, and users.
- Activities include unit, integration, regression, system, and user testing (beta and acceptance).
Software Quality
- Definition: The degree to which software satisfies its requirements
- Metrics: Defect density, Mean Time to Failure
Veri cation and Validation
- Veri cation: Checking if a product was built according to requirements and specifications.
- Validation: Checking if each complete product artifact meets specifications.
Software Quality Assurance (SQA)
- Supported by veri cation and validation.
- Activities: Inspections and reviews, software testing.
SDLC Deployment Phase
- Final phase of SDLC.
- Involves putting the product in production and making it available to end-users.
- The goal is to make the system operational in a production environment.
- Outputs: Delivered system, release/version, trained users
- Stakeholders: Managers, analysts, builders, users
- Activities: Deployment communication, training, data entry/conversion, system installation, and post-deployment review.
SDLC Maintenance Phase
- Modifying software after release to address defects, enhancements, and performance improvements.
- Goal: Support released software, fix defects, and make improvements.
Software Process Models
- Set of activities, methods, practices, deliverables, and tools stakeholders use to develop and improve information systems.
- Examples include Waterfall, Iterative, Agile, Prototyping, and Spiral.
Waterfall Process Model
- Sequential execution through each phase.
- Advantages: Simple, easy to use, phases are executed sequentially.
- Disadvantages: Requirements must be known upfront, problems are discovered late in the process, lack of parallelism, inefficient use of resources
Iterative Development Model
- Completes the system in successive iterations.
- Each iteration has analysis, design, development, and testing.
Agile Development Model
- Highly iterative process that speeds up development and efficiently responds to change.
Extreme Programming (XP)
- Agile methodology aiming for iterative and frequent small releases.
- Values: Communication, simplicity, feedback, and respect.
- Practices: Planning game, small releases, system metaphor, simple design, test-driven development, pair programming, continuous integration, and whole team.
Scrum Methodology
- Team of 3-9 people, including a Scrum Master, who work together to deliver a product increment.
- Daily Scrum Meetings: 15-minute meetings where team members share progress, plans, and obstacles.
- Sprint: 30-day cycle where teams focus on specific features (stories) from the backlog.
- Backlog: List of customer wants and needs broken down into user stories.
Software Project Management
- Process of planning, organizing, and monitoring the development of a software project.
Organization Structure
- Project-Oriented: Personnel organized around projects.
- Function-Oriented: Groups organized by function.
- Matrix-Oriented: A cross between project and function-oriented
Team Size
- Optimal team size is 3-7 people.
- N people have N(N-1) / 2 communication channels.
Project Cost Types
- Development Costs: One-time costs
- Operating Costs: Recurring costs throughout the system's lifetime
Size Estimation Techniques
- Lines of Code (LOC): Measures the physical length of the software.
- Function Point Analysis (FPA): Measures the amount of functionality based on system specifications.
Complexity Estimation
- Based on the type and size of the application.
Effort and Duration Estimation
- Task duration: Difference between planned start and completion date.
- Effort: People needed to complete a task in a certain time period.
COCOMO Type I
- The effort required to develop applications tends to increase faster than the size of the application.
Scheduling Tools
- Work Breakdown Structure (WBS)
- PERT Chart
- Gantt Chart
- Critical Path Analysis
Requirements Analysis
- Process of understanding what is wanted and needed in an application.
Classi cation of Requirements
- Business Requirements: High-level statements of goals, objectives, and needs for the project.
- Stakeholder Requirements: What end users expect from a specific solution.
- Solution Requirements: Describe the characteristics that meet user and business needs.
- Functional Requirements: Specify the functionalities and services.
- Nonfunctional Requirements: Describe the general characteristics of a satisfactory system (maintainability, performance, security, portability, compatibility, usability).
Fact-Finding Techniques
- Research
- Observation
- Prototyping
- Sampling
- Applying Questionnaires
- Conducting Interviews
- Organizing Brainstorming Meetings
- Joint Requirements Planning (JRP) Sessions
Sampling Techniques
- Random Sampling
- Systematic Sampling
- Stratified Sampling
Questionnaire Formats
- Open-Ended Format
- Closed-Ended Format
Conducting Interviews
- To collect information through face-to-face interaction.
- Types: Unstructured, Structured.
Brainstorming Meetings
- Generating ideas during group meetings.
- Joint Requirements Planning (JRP) Sessions: A technique for drawing out user requirements through joint planning sessions.
Use Case Modeling
- Modeling a system’s functions in terms of business events.
- Elements: Actors, Use Cases, Use Case Scenarios.
- Types of Actors: Primary, Supporting.
Fully Dressed Use Case
- Detailed description of a use case.
- Includes elements like: Actors, Triggers, Preconditions, Postconditions, Normal Flow, Alternate Flows.
- Example for the online shopping system.
Use Case Diagrams
- Graphical representation of interactions between a system and external systems and users.
- Components: System, boundary, use case, actor, use case relationships (Association, Include, Generalization, Extend).
Data Flow Diagram (DFD)
- Diagram (method for representing the flow of data in a process or system)
External Agent
- An outside person, entity, system, or organization interacting with the system.
Process
- Work performed by a system in response to data flows or conditions.
Data Store
- Stored data intended for later use (often a file or database).
Levels of DFD
- Context Level DFD: shows system boundaries, external entities, and major information flows.
- Level 0 DFD: represents primary individual processes.
- Level 1 DFD: represents first-level split processes and data flow.
Decision Table
- Matrix representation of logic, specifying possible conditions and resulting actions.
Example: Check Cashing Policy Statement, Inventory Reordering System
UML Diagrams
- UML Diagrams (e.g., Class, Component, Deployment, Sequence, Activity diagrams). Including Basic Symbols and notations. UML State Machine Diagram Example Including basic symbols and notations
References
- UML Diagrams
- Software Development Life Cycle
- Software Design Phases
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.