1/26
Vocabulary flashcards covering key concepts from Unit 1: Software, Software Engineering, and size estimation concepts.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Software
A collection of programs used to perform a specific task; can be a product and the vehicle for delivering that product, enabling control, communication, and creation/management of other programs.
Dual role of software
Software acts as both the product itself and the vehicle that delivers and enables the product across computers and networks.
Information transformer
Software that produces, manages, acquires, modifies, displays, or transmits information.
Instructions
Computer programs that, when executed, provide the desired features, functions, and performance.
Data structures
Structures that enable programs to manipulate information effectively.
Descriptive information
Documentation describing the operation and use of programs, in hard copy and digital forms.
System software
Software that supports core functions, including the operating system, language processors, and device drivers.
Application software
Software designed for end-user tasks, including general purpose software, customized software, and utility software.
Language processor
A system software component (e.g., compiler or interpreter) that translates or processes programming languages.
Device driver
Software that enables a hardware device to communicate with the operating system.
Software Engineering
An engineering-based approach to software development, applying engineering design processes to design, develop, maintain, test, and evaluate software.
Software Engineer
A person who applies engineering design processes to develop software.
Software Engineering (definition)
The application of systematic, disciplined, and quantifiable methods for the development, operation, and maintenance of software.
Layered technology
A framework in software engineering consisting of process, methods, and tools, with the process layer forming the foundation.
Process layer
The foundation for software engineering technology; defines the software process and provides context for applying methods and tools.
Software process
The set of activities used to deliver software, forming the basis for project management.
Methods
The technical how-to’s for building software, including communication, requirements analysis, design modeling, programming, testing, and support.
Tools
Automated or semi-automated support for the process and methods; includes CASE tools.
CASE (Computer-Aided Software Engineering)
Tools used to support software development.
Project size estimation
The process of estimating the scope and resources required for a project, including effort, time, cost, and resources.
Size factors
Aspects that influence size estimation, such as financial planning, resource planning, timeline creation, risk identification, detailed planning, and quality assurance planning.
Lines of Code (LOC)
The total number of lines of source code in a project.
KLOC
Thousand lines of code.
NLOC
Non-comment lines of code (code lines excluding comments).
KDSI
Thousands of delivered source instructions.
External Inputs
Functions related to data entering the system.
Functions (modules)
The number of functions or modules in the software used for size measurement.