CSE 2102 Exam 1

36 flashcardsby ImALegend_IL
Study these flashcardsFree · spaced repetition · iPhone, Android, Mac & web

All cards

1
Software Engineering
branch of both compsci and engineering focused on designing, developing, testing, and maintaining software apps.
2
Maintainability - Attribute
Attribute - easy to update and adapt to changing user's needs
3
Dependability/Security - Attribute
Attribute - Reliable, safe
4
Efficiency - Attribute
Attribute - uses system resources optimally
5
Acceptability - Attribute
Attribute - easy to use and fits well with users' other tools
6
Software Applications
programs designed to help users perform specific tasks on device
7
Stand-Alone Application - SoftApp
Soft App - Run locally on a single computer without requiring a network (Microsoft Word)
8
Web/Interactive Based Applications - SoftApp
Soft App - Run on a remote server, accessed through a browser, respond to user input (Amazon)
9
Embedded Control System - SoftApp
Soft App - Built into hardware to control or manage devices (Car engine control software)
10
Batch Processing Systems - SoftApp
Soft App - Process large amounts of data in batches for business operations (Payroll processing system)
11
Entertainment System - SoftApp
Soft App - Designed for personal use to entertain the user (Netflix)
12
Data Collection Systems - SoftApp
Soft App - Collect data and send it for processing (online survey tool)
13
System of Systems - SoftApp
Soft App - Composed of multiple software systems working together (Air traffic control system)
14
Generic Products
Pre-built systems that are marketed and sold to any customer who wishes to buy them

specification - software developer
15
Customized Products
Software developed specifically for one client, designed to meet their exact specifications and processes

specification - customer
16
Design - Fundamental
Fundamental - Defining what the system should do
17
Develop - Fundamental
Fundamental - software is designed and programmed
18
Test - Fundamental
Fundamental - software is checked to ensure that it is what the customer requires
19
Maintain - Fundamental
Fundamental - changing the system in response to changing customer needs
20
Requirements Gathering - SLDC
SLDC - 1. Gathers info about requirements
21
System Design - SLDC
SLDC - 2. Plan architecture, technologies, and components
22
Implementation (Coding) - SLDC
SLDC - 3. Write code based on design specifications
23
Testing - SLDC
SLDC - 4. Ensure software works as intended
24
Deployment - SLDC
SLDC - 5. Release product into a live environment
25
Maintenance - SLDC
SLDC - 6. Fix bugs, update features, and improve performance
26
Waterfall Model
Linear and sequential, each phase must be completed before the next, easy to manage but not flexible for changes

Projects with well-defined requirements
27
Iterative Model
Simple version then improve through iterations, requires careful planning to make sure increments are meaningful

Projects with evolving requirements
28
Agile Mode
Iterative and Collaborative, breaks development into cycles (sprints), really flexible

Dynamic projects with frequent changes
29
Development + Operations (DevOps)
Cultural and technical approach that integrates development and operations to enable CI/CD and collaboration (Github Actions)

Automating and improving the delivery of software
30
CI/CD
Continuous Integration/Continuous Delivery/Deployment
31
Development - Soft Env
Soft Env - Used by developers, no client data
32
Testing - Soft Env
Soft Env - Used by QA engineers, no client data
33
Staging - Soft Env
Soft Env - Used by QA engineers & clients for UAT, limited production data
34
Production - Soft Env
Soft Env - Used by clients, full production data
35
Continuous Integration (CI)
Developers frequently merge their code into a shared repo
36
Continuous Delivery (CD)
Relies on a deployment pipeline visibility, feedback, continuous deployment
Study all 36 cards for free