Lesson 5 - Software Concepts and Platforms Flashcards
What is Software Development Lifecycle (SDLC)
A structured process used for designing, developing, testing,
deploying, and maintaining software applications or systems, ensuring the production of high-quality software within specified timeframes and budgets.
What is Deploy?
The process of setting up and enabling software or updates for use in a live environment after testing.
What is a Methodology for Software Development?
A systematic approach to software production that guide the process
from conception to completion.
What is a Waterfall Model?
A linear and sequential approach where each phase must be
completed before the next phase begins.
It’s easy to manage but lacks flexibility.
What is Agile?
An iterative approach that promotes collaboration among cross-functional teams.
It emphasizes adaptability and customer feedback.
Scrum and Kanban are popular frameworks within Agile.
What is Scrum?
A subset of Agile, Scrum divides development into “sprints” (typically 2-4 weeks) with specific goals.
It uses roles like Scrum Master and
Product Owner and ceremonies like daily stand-ups and sprint reviews.
What is Kanban?
Another Agile approach
Kanban focuses on visualizing the workflow and limiting the amount of work in progress (WIP) to improve efficiency.
What is DevOps?
A philosophy that bridges the gap between software development
(Dev) and IT operations (Ops) to improve collaboration and accelerate software delivery.
What is CI/CD?
What is a Desktop Application?
A computer program that runs locally on a computer device, such as a laptop or desktop PC, as opposed to a web application that runs in a web browser.
What is a Web Application?
A software program that runs in a web browser using a web
technologies.
Unlike traditional desktop applications, which are installed on a user’s computer, web applications are accessed through
the internet.
What is a Mobile Application?
Often referred to as mobile apps, these are software programs designed to run on smartphones, tablets, and other mobile devices.
They offer users a wide range of functionalities, from basic utilities to comprehensive platforms.
What is Software Architecture?
High-level structuring of a software system.
It’s the blueprint for the
system and the process through which the system’s components or
modules are defined, and their relationships with each other are
established.
What is Client-Server Architecture?
A computing model where the client requests services or resources, and the server provides them.
The client is typically a user’s device or software, while the server is a powerful system that stores and processes data.
What is Monolithic Architecture?
A software design pattern where all components and functionalities
are bundled into a single, tightly-coupled application.
Changes or updates to any component require rebuilding and deploying the entire application.