Chapter 1 Flashcards
List definition
Software
Instructions that when executed provide desired features, functions, and performance.
Data Structures that enable programs to adequately manipulate info.
Documentation in both hard copy and virtual features that describes the operation and use of the programs.
Doesn’t wear out like hardware, deteriorates when changes are applied.
Define
System Software
A collection of programs written to service other programs.
i.e. compilers, file management utilities, network software, drivers
Define
Application software
A stand alone program that solves a specific business need.
Define
Engineering/science software
A broad array of “number-crunching” or data science programs
Define
Embedded software
Resides within a product or system and is used to implement control features and functions for the end user and for the system itself.
i.e. fuel control, braking
Define
Product line software
Composed of reusable components and designed to provide specific capabilities for use by many different customers.
Define
AI software
Makes use of heuristics to solve complex problems that are not amenable to regular computation or straightforward analysis.
List
The Software Engineering Layers
Tools
Methods
Process
A quality focus
Define
Process
Collection of activities, actions, and tasks
Define
Activity
Strives to achieve broad objective (communication with stakeholders)
List
Characteristics of Web Applications
Data driven
Content Sensitive
Continuous Evolution
Immediacy
Security
Aesthetics
Define
Action
Set of tasks that produce a major work product.
List
Generic process framework activities
Communication
Planning
Modeling
Construction
Deployment
List
Seven general principles
1 The software adds value to system
2 Keep It Simple Stupid! (KISS)
3 Maintain the Vision
4 What you produce, others will consume
5 Be open to the future
6 Plan ahead for reuse
7 Think!