CS 321 L1 & L2

33 flashcardsby Elijah
Study these flashcardsFree · spaced repetition · iPhone, Android, Mac & web

All cards

1
What is Software Engineering?
Software engineering is an engineering discipline concerned with all aspects of software production from initial conception to operation and maintenance.
2
Why is Software Engineering important?
It is important to produce reliable and trustworthy systems economically and quickly, which can reduce long-term costs for testing, quality assurance, and maintenance.
3
What are the fundamental software engineering activities?
Specification, Development, Validation, Evolution.
4
What is Software Specification?
Software Specification is where customers and engineers define the software to be produced and the constraints on its operation.
5
What is Software Development?
Software Development is where the software is designed and programmed.
6
What is Software Validation?
Software Validation is where the software is checked to ensure that it meets the customer's requirements.
7
What is Software Evolution?
Software Evolution is where the software is modified to reflect changing customer and market requirements.
8
What are the attributes of a good Software?
Acceptability, Dependability and Security, Efficiency, Maintainability.
9
What is Acceptability in Software?
Software must be understandable, usable, and compatible with other systems used by the intended users.
10
What is Dependability in Software?
Dependability includes reliability, security, and safety. Dependable software should not cause damage in case of failure and must be secure from malicious users.
11
What is Efficiency in Software?
Efficiency refers to how software uses system resources like memory and processor cycles, including factors like responsiveness and processing time.
12
What is Maintainability in Software?
Maintainability is the ability of software to evolve to meet changing customer needs, which is crucial as business environments change.
13
What are some commonly used Software Engineering methods?
Agile, Black Box Testing, Prototyping, Rapid Application Development, Spiral Model, White Box Testing, Extreme Programming, Joint Application Development, Scrum, Waterfall Model.
14
What is a Generic Product in Software Engineering?
Generic products are stand-alone systems produced by a development organization and sold on the open market, such as mobile apps or word processors.
15
What is Customized Software?
Customized software, also called bespoke software, is developed specifically for a particular customer, such as control systems for electronic devices.
16
What are four related issues that affect many types of software?
Heterogeneity, Business and Social Change, Security and Trust, Scale.
17
What is a Process Model?
The mechanism of dividing software development work into distinct phases to improve design, product management, and project management.
18
What is another name for a Process Model?
Software Development Life Cycle (SDLC).
19
What is one reason we need a Process Model?
It encourages systematic and disciplined development of software.
20
Which Process Model is a generic model?
The Waterfall Model.
21
What are the five phases of the Waterfall Model?
Requirements Analysis, System and Software Design, Implementation and Unit Testing, Integration and System Testing, Operation and Maintenance.
22
What happens in the Requirements Analysis phase of the Waterfall Model?
The system's services, constraints, and goals are defined in detail to serve as the system specification.
23
What does the System and Software Design phase involve?
Allocating requirements to hardware or software systems and establishing an overall system architecture.
24
What is done during Implementation and Unit Testing?
The software design is realized as a set of programs, and unit testing ensures that each unit meets its specification.
25
What happens during Integration and System Testing?
Individual programs are integrated and tested as a complete system to ensure the software meets requirements.
26
What is the longest phase of the Waterfall Model?
Operation and Maintenance.
27
What is one issue with the Waterfall Model?
A phase has to be complete with full documentation before the next phase starts.
28
For which systems is the Waterfall Model appropriate?
Embedded systems, critical systems, and large software systems involving multiple companies.
29
What is the main idea of the Incremental Development Model?
Developing an initial implementation, getting feedback, and evolving the software through several versions.
30
What activities are interleaved in the Incremental Development Model?
Specification, development, and validation.
31
What is an advantage of the Incremental Model over the Waterfall Model?
The cost of implementing requirement changes is reduced.
32
What is a management problem with the Incremental Model?
The process is not visible, and regular deliverables are needed to measure progress.
33
What is a challenge of the Incremental Model when many teams work on a project?
Large systems need a stable framework or architecture, which must be planned in advance.
Study all 33 cards for free