Chapter 7

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/27

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

28 Terms

1
New cards

Software engineering stage of design and implementation

The stage where the executable software system is developed, involving activities of designing components and realizing them in code.

2
New cards

Object-oriented design

A design approach that focuses on creating system models like context models, interaction models, and use case models to understand system interactions.

3
New cards

Context models

Models that define the environment in which a system operates, showing external systems and boundary settings.

4
New cards

Interaction models

Models that illustrate how different components of a system interact during runtime.

5
New cards

Commercial off-the-shelf (COTS) systems

Pre-built software solutions that can be purchased and configured, often more efficient than building from scratch.

6
New cards

System architecture

The structured framework that defines the components and their relationships within a software system.

7
New cards

Object class identification

A process in the design phase to determine the classes that represent tangible entities in the system.

8
New cards

Static models

Design models that represent the structure and relationships of classes, such as class diagrams.

9
New cards

Dynamic models

Design models that show how objects interact and change over time, such as sequence models and state machine models.

10
New cards

Interfaces in software design

Contracts between components that define how they interact without exposing internal details.

11
New cards

Design patterns

Reusable solutions to common design problems that can be applied in various scenarios.

12
New cards

Observer pattern

A design pattern that allows multiple displays of an object's state, enabling minimal coupling and state change reflection.

13
New cards

Façade pattern

A design pattern that simplifies interfaces to complex systems.

14
New cards

Iterator pattern

A design pattern that provides a way to access elements of a collection without exposing its underlying structure.

15
New cards

Decorator pattern

A design pattern that allows extending the functionality of a class at runtime.

16
New cards

Software reuse

The practice of using existing software components in new applications to save time and resources.

17
New cards

Configuration management

The process of handling changes in a software system to maintain consistency and control.

18
New cards

Host-target development

A strategy where software is developed on one platform (host) and executed on a different platform (target).

19
New cards

Integrated Development Environments (IDEs)

Tools that combine multiple development tools into a single application, tailored to specific programming languages.

20
New cards

Open source development

A collaborative approach where source code is publicly available, allowing users to study, modify, and distribute software.

21
New cards

GNU General Public License (GPL)

A reciprocal license that requires derivative works to also be open source.

22
New cards

GNU Lesser GPL (LGPL)

A license that allows linking with proprietary code without open-sourcing the proprietary parts.

23
New cards

BSD License

A non-reciprocal license that permits integration with proprietary software without sharing modifications.

24
New cards

License management in open source

The process of tracking open source components, understanding their terms, and ensuring compliance with licensing.

25
New cards

Collaboration in open source software

The interaction among developers and users in the open source community to improve and maintain software projects.

26
New cards

High availability systems

Systems designed to remain operational and accessible with minimal downtime, often requiring redundancy.

27
New cards

Communication delays between components

Latency issues that can arise when components of a system are not co-located, impacting system performance.

28
New cards

Final key points in software design and implementation

The key takeaways that design and implementation are interrelated, object-oriented design is central, and open source offers significant advantages.