1/23
These flashcards cover the key concepts, definitions, and types of software engineering as discussed in the lecture.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
Software Engineering
An area of Computer Science concerned with systematic methods and tools for developing, operating, and maintaining software.
Types of Software
Broad categories of software applications, including system software, application software, embedded software, and AI software.
System Software
Programs designed to run a computer's hardware and application programs, e.g., operating systems like Windows.
Application Software
Programs that help users perform specific tasks, such as Microsoft Office applications.
Embedded Software
Programs developed into a device's hardware to control functions, e.g., software in electronics of cars.
Product-line Software
A collection of software systems sharing a common set of features, composed of reusable components.
Web Applications
Software-as-a-service delivered through a web browser, such as social media and streaming platforms.
Artificial Intelligence Software
Programs that utilize machine learning to perform tasks, e.g., ChatGPT and Amazon Alexa.
Software Engineering Layers
Frameworks applied for systematic development, emphasizing quality and engineering principles.
Tasks in Software Engineering
Specific actions that contribute to a larger objective, such as conducting tests or designing architecture.
Process in Software Engineering
A collection of activities, actions, and tasks performed to create work products.
Communication
The process of collaborating with stakeholders to identify their objectives and needs.
Planning
Describes technical tasks, risks, resources, and schedules for software projects.
Modeling
The process of creating a model of the software’s requirements and design.
Construction
The phase that includes coding and testing of the software to find errors.
Deployment
Delivering the software to the customer for evaluation and use.
Umbrella Activities
Ongoing procedures throughout a project that manage progress, quality, and changes.
Process Adaptation
The flexibility needed in software processes to suit the unique characteristics of each project.
Prescriptive Process Models
Structured approaches to software engineering that enforce specific steps and guidelines.
Waterfall Process Model
A linear model of software development without feedback loops, involving stakeholder communication only at the start and end.
V-Model Process Model
An extension of the waterfall model emphasizing testing at each stage of development.
Prototyping Process Model
An iterative model where prototypes are regularly built and revised based on customer feedback.
Spiral Process Model
Combines features of the waterfall and prototyping models with integrated risk management.
Unified Process Model
A phased approach to software engineering that overlaps activities like inception, elaboration, and construction.