1/22
Vocabulary-style flashcards covering the introductory concepts of Software Engineering based on the CS244 lecture notes.
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 engineering discipline that is concerned with all aspects of software production from the early stages of system specification through to maintaining the system after it has gone into use.
Software Products
Computer programs and associated documentation; may be developed for a particular customer or for a general market.
Generic products
Stand-alone systems that are marketed and sold to any customer who wishes to buy them, such as PC graphics programs, project management tools, or CAD software.
Customized products
Software commissioned by a specific customer to meet their own needs, such as embedded control systems or air traffic control software.
Maintainability
An essential attribute of good software where the system is written so that it can evolve to meet the changing needs of customers.
Dependability and security
A range of software characteristics including reliability, security, and safety to ensure the system does not cause damage and is protected against malicious access.
Efficiency
A characteristic where software does not make wasteful use of system resources such as memory and processor cycles, including responsiveness and processing time.
Acceptability
Software must be understandable, usable, and compatible with other systems to meet the needs of the users for which it is designed.
Software specification
The software process activity where customers and engineers define the software to be produced and the constraints on its operation.
Software development
The software process activity where the software is designed and programmed.
Software validation
The software process activity where the software is checked to ensure that it is what the customer requires.
Software evolution
The software process activity where the software is modified to reflect changing customer and market requirements.
Computer science
A field focused on the theory and fundamentals of computing.
System engineering
A discipline concerned with all aspects of computer-based systems development, including hardware, software, and process engineering.
Software cost structure
Roughly 60% of software costs are development costs and 40% are testing costs; for customized software, evolution costs often exceed development costs.
Heterogeneity
The challenge of requiring systems to operate as distributed systems across networks that include different types of computer and mobile devices.
Embedded control systems
Software control systems that control and manage hardware devices; numerically, there are likely more of these than any other system type.
Cloud computing
An approach to the provision of computer services where applications run remotely on the 'cloud' and users pay according to use.
Software reuse
The dominant approach for constructing web-based systems where new systems are assembled from pre-existing software components.
ACM/IEEE Code of Ethics
A code of ethical practice containing eight Principles related to the behavior of and decisions made by professional software engineers.
Personal insulin pump
An embedded, safety-critical system for diabetics that used a blood sugar sensor to calculate and deliver required doses of insulin via a micro-pump.
MHC-PMS
Mental Health Care-Patient Management System; a medical information system that maintains records of patients, treatments, and supports clinical clinics.
Wilderness weather station
A data collection system that measures weather parameters like temperature, pressure, rainfall, and wind speed in remote areas for periodic transmission.