Software Engineering — Key Concepts (Vocabulary)

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

1/53

flashcard set

Earn XP

Description and Tags

Vocabulary flashcards covering core concepts, definitions, and ethics from the lecture notes.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

54 Terms

1
New cards

Software

Computer programs and associated documentation; can be developed for a specific customer or for a general market.

2
New cards

Software product

Tangible output of a software development process; may be a generic product or a customized product for a customer.

3
New cards

Generic software products

Stand-alone systems marketed to any customer; ownership of what the software should do is by the developer.

4
New cards

Custom software products

Software commissioned by a specific customer to meet their needs; ownership of the software and changes typically reside with the customer.

5
New cards

Product specification

A detailed document outlining features, functions, and requirements; serves as a blueprint for the development process.

6
New cards

Stand-alone application

Software that runs on a local computer and does not need to be connected to a network.

7
New cards

Interactive transaction-based application

Software that executes on a remote computer and is accessed by users from their own PCs or terminals.

8
New cards

Embedded control system

Control systems that manage hardware devices and their operations.

9
New cards

Batch processing system

Business systems designed to process data in large batches.

10
New cards

Entertainment system

Systems primarily for personal use intended to entertain the user.

11
New cards

Systems for Modelling and Simulation

Systems developed to model physical processes or situations with many interacting objects.

12
New cards

Data collection system

System that collects data from the environment using sensors and transmits it to other systems for processing.

13
New cards

Systems of systems

A system composed of several other software systems.

14
New cards

Maintainability

Software should be written so it can evolve to meet changing customer needs.

15
New cards

Dependability

Includes reliability, security, and safety; software should not cause damage and should resist malicious use.

16
New cards

Efficiency

Software should use system resources effectively, with good response time and memory utilization.

17
New cards

Acceptability

Software must be understandable, usable, and compatible with users and their environment.

18
New cards

Essential attributes of good software

Maintainability, dependability, efficiency, and acceptability.

19
New cards

Software engineering

An engineering discipline concerned with all aspects of software production.

20
New cards

Fundamental activities

The four activities always involved: software specification, software development, software validation, and software evolution.

21
New cards

Software specification

Defining the software to be produced and constraints via collaboration between customers and engineers.

22
New cards

Software development

The design and programming of the software.

23
New cards

Software validation

Checking that the software meets the customer requirements.

24
New cards

Software evolution

Modifying the software to reflect changing customer and market needs.

25
New cards

Process activities

Core development tasks: requirements gathering and analysis, design, coding, testing, and deployment.

26
New cards

Umbrella activities

Support functions: project management, configuration management, quality assurance, documentation, and software standards compliance.

27
New cards

Managed development process

Developing the system using a controlled, understood process; processes vary by project type.

28
New cards

Reuse existing software

Where possible, reuse software components rather than writing new code.

29
New cards

Difference: Software Engineering vs Computer Science

Software engineering focuses on building and delivering useful software; computer science emphasizes theory, algorithms, and fundamentals.

30
New cards

Difference: Software Engineering vs System Engineering

System engineering covers hardware, software, and processes; software engineering focuses on software and software activities within that broader process.

31
New cards

Web impact on software engineering

The web enables distributed service-based systems, web services, and advances in languages, deployment, and software reuse.

32
New cards

Web services

Application functionality that can be accessed over the web.

33
New cards

Cloud computing

Provision of computing resources as services where applications run remotely and users pay per use.

34
New cards

Key challenges facing software engineering

Increasing diversity and complexity, need for quick delivery, and production of trustworthy software.

35
New cards

Costs of software engineering

Roughly 60% development costs and 40% testing costs; for custom software, evolution costs often exceed development costs.

36
New cards

Best software engineering techniques

There is no single best method; techniques depend on the type of software and context; different projects require different approaches.

37
New cards

ACM/IEEE Code of Ethics

A jointly developed code outlining ethical principles and professional responsibilities for software engineers.

38
New cards

Public (ethics principle)

Software engineers shall act in the public interest.

39
New cards

Client and Employer (ethics principle)

Software engineers shall act in the best interests of their client and employer, within the public interest.

40
New cards

Product (ethics principle)

Software engineers shall ensure their products meet the highest professional standards.

41
New cards

Judgment (ethics principle)

Software engineers shall maintain integrity and independence in professional judgment.

42
New cards

Eight Principles (overview)

Public, Client and Employer, Product, Judgment, Management, Profession, Colleagues, Self.

43
New cards

Confidentiality

Respect the confidentiality of employer or client information.

44
New cards

Competence

Do not misrepresent competence or take on work beyond one’s ability.

45
New cards

Intellectual property rights

Respect patents, copyrights, and other IP of employers and clients.

46
New cards

Computer misuse

Do not misuse others' computers or disseminate malware.

47
New cards

Insulin pump case overview

An embedded, safety-critical insulin delivery system controlled by software.

48
New cards

Mentcare overview

A patient information system for mental health care that can operate with or without secure network connectivity.

49
New cards

Wilderness Weather Station overview

Remote weather stations with data collection, processing, and maintenance systems.

50
New cards

iLearn overview

A digital learning environment with services and applications, configurable for different groups.

51
New cards

Service-oriented system

A system where components are treated as replaceable services to enable incremental updates.

52
New cards

Utility services

Provide general, application-independent functionality used by other services.

53
New cards

Application services

Provide specific applications and access to educational content.

54
New cards

Configuration services

Configure and manage how services are shared and arranged for users and groups.