1/30
Vocabulary flashcards derived from Chapter 1 slides on Software & Software Engineering concepts, application categories, process activities, and general principles.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
Software
(1) Instructions (computer programs) that when executed provide desired features, function, and performance; (2) data structures that enable the programs to adequately manipulate information and (3) documentation that describes the operation and use of the programs.
System Software
A collection of programs written to service other programs, characterized by heavy interaction with computer hardware, heavy usage by multiple users, concurrent operation requiring scheduling/resource sharing/process management, complex data structures, and multiple external interfaces.
Application Software
Stand-alone programs that solve a specific business need by processing business or technical data to facilitate business operations or management/technical decision making, or controlling business functions in real time.
Engineering/Scientific Software
Software characterized by 'number crunching' algorithms used in applications ranging from astronomy to volcanology, automotive stress analysis, space shuttle orbital dynamics, molecular biology, computer-aided design, system simulation, and automated manufacturing.
Embedded Software
Software that resides within a product or system and is used to implement and control features and functions for the end user and for the system itself, ranging from limited keypad controls to complex digital automotive functions.
Product-line Software
Software designed to provide a specific capability for use by many different customers, which can focus on a limited marketplace (e.g., inventory control) or mass consumer markets (e.g., word processing, spreadsheets, graphics).
WebApps
Network-centric software spanning a range of applications from simple sets of linked hypertext files to sophisticated computing environments integrated with corporate databases and business applications.
Artificial Intelligence Software
Software that makes use of nonnumerical algorithms to solve complex problems not amenable to computation or straightforward analysis, such as robotics, expert systems, pattern recognition, artificial neural networks, theorem proving, and game playing.
Open World Computing
A new software category characterized by pervasive, distributed computing.
Ubiquitous Computing
A new software category centered around wireless networks.
Netsourcing
A computing concept where the Web acts as a computing engine.
Open Source
'Free' source code open to the computing community, presenting both benefits and potential risks.
Legacy Software
Existing software systems that must be adapted, enhanced, extended, or re-architected to meet changing business needs, new technology environments, or modern database interoperability.
Software Engineering (Seminal Definition)
The establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines.
Software Engineering (IEEE Definition)
(1) The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. (2) The study of approaches as in (1).
Process Framework
A foundational structure for software engineering that establishes framework activities, work tasks, work products, milestones, deliverables, quality assurance checkpoints, and umbrella activities.
Communication Activity
A framework activity focused on communicating and collaborating with the customer and other stakeholders to understand project objectives and gather requirements.
Planning Activity
A framework activity that creates a software project plan (or 'map') describing technical tasks, risks, required resources, work products, and work schedules.
Modeling Activity
A framework activity involving the creation of sketches or models to better understand software requirements and the design that will achieve those requirements.
Construction Activity
A framework activity combining code generation (manual or automated) and testing to uncover errors in the code.
Deployment Activity
A framework activity in which software is delivered to the customer, who evaluates the product and provides feedback.
Software Project Management
An umbrella activity that allows the software team to assess progress against the project plan and take any necessary action to maintain the schedule.
Formal Technical Reviews
An umbrella activity that assesses software engineering work products in an effort to uncover and remove errors before they are propagated to the next activity.
Software Quality Assurance
An umbrella activity that defines and conducts the activities required to ensure software quality.
Software Configuration Management
An umbrella activity that manages the effects of change throughout the software process.
Reusability Management
An umbrella activity that defines criteria for work product reuse and establishes mechanisms to achieve reusable components.
Measurement (Umbrella Activity)
An umbrella activity that defines and collects process, project, and product measures to assist the team in delivering software that meets stakeholders' needs.
Risk Management
An umbrella activity that assesses risks that may affect the outcome of the project or the quality of the product.
George Polya
Known as the father of modern problem solving, who suggested four basic steps: 1. Understand the problem, 2. Plan a solution, 3. Carry out the plan, and 4. Examine the result for accuracy.
Hooker's General Principles
Seven core practice principles: 1) The Reason It All Exists, 2) KISS (Keep It Simple, Stupid!), 3) Maintain the Vision, 4) What You Produce, Others Will Consume, 5) Be Open to the Future, 6) Plan Ahead for Reuse, and 7) Think!
Software Myths
Beliefs affecting managers, customers, and practitioners that often contain elements of truth but invariably lead to bad decisions if not navigated with reality.