Software Design and Engineering -- Module 1

0.0(0)
Studied by 0 people
call kaiCall Kai
Locked
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/56

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 10:23 AM on 8/27/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

57 Terms

1
New cards

Software Products

Large and complex systems that requires analysis and synthesis during development

2
New cards

Analysis

Decomposing a large problem into smaller, understandable pieces. Abstraction is the key

3
New cards

Synthesis

Building software from smaller blocks created through analysis. Composition is challenging

4
New cards

Method

Refers to a formal procedure

5
New cards

Tool

An instrument or automated system for accomplishing something in a better way

6
New cards

Procedure

Combining tools and techniques to produce a product

7
New cards

Paradigm

Philosophy or approach for building a product

8
New cards

Computer Science

Field that focuses on hardware and programming languages

9
New cards

Software Engineering

Field that focuses on computer as a problem-solving tool

10
New cards
  • Fault

  • Failure


2 types of bugs

11
New cards

Fault

Occurs when a human makes a mistake/error in performing some software activities

12
New cards

Failure

A departure from the system’s required behavior caused by the fault

13
New cards

Safety-Critical

When a system’s failure poses a threat to life or health

14
New cards
  1. Transcendental

  2. User

  3. Manufacturing

  4. Product

  5. Value-Based


The 5 views/perspectives on quality

15
New cards

Transcendental View

Perspective wherein quality is something we can recognize but not define

16
New cards

User View

Perspective wherein quality is fitness for purpose

17
New cards

Manufacturing View

Perspective wherein quality is conformance to specification

18
New cards

Product View

Perspective wherein quality is tied to inherent product characeristics

19
New cards

Value-Based

Perspective wherein quality depends on the amount the customers is willing to pay for it

20
New cards

Good Software Engineering

An engineer that practices implementing strategies for producing quality software

21
New cards
  • Quality of Product

  • Quality of Process

  • Quality of Product in Business Environment


3 ways of considering quality

22
New cards

Quality of Product

Users judge a product’s external characteristics such as correct functionality, number of failures, and types of failures

23
New cards

Quality of Product

Designers and maintainers judge the products internal characteristics such as its type of faults

24
New cards

Quality of Product

The user’s external view must be related/aligned to the developer’s internal view

25
New cards

Quality of Process

The quality of the development and maintenance process. Just as important as the quality of product

26
New cards

Quality of Process

Requires detailed/extensive modeling of the development process

27
New cards

Modeling

This process address questions like:

  • Where to find particular faults

  • How to find faults earlier

  • How to build in fault tolerance

  • What are alternative activities


28
New cards
  • Capability Maturity Model (CMM)

  • ISO 9000

  • Software Process Improvement and Capability Determination (SPICE)


3 models for process improvement

29
New cards

Business Value

Must be quantified when in relationship to technical value. It is as important as technical value

30
New cards

Return on Investment (ROI)

A common approach for business value. Giving up assets for other purposes

31
New cards

Return on Investment (ROI)

Has many interpretations such as reducing costs, predicting savings, improving productivity, and costs (efforts and resources)

32
New cards

Customer

The company, organization, or person who pays for the software system

33
New cards

Developer

The company, organization, or person who builds the software system

34
New cards

User

The person or people who will actually use the system

35
New cards

Activity

An event initiated by a trigger

36
New cards

Objects/Entities

The elements involved in activities

37
New cards

Relationship

Defines the interaction among entities and activities

38
New cards

System Boundaries

Determine the origin of input and destinations of the output

39
New cards

Interrelated Systems

Systems that are dependent to other systems, and these interdependencies can be complex. Thus why it’s also sometimes referred to as a layered system

40
New cards

Interrelated Systems

Situation where one system exists inside another system.

41
New cards

Boundary Definitions

If these are defined well and are detailed building larger systems from smaller ones become relatively easy

42
New cards

Designers

Members of the team who generates a system-level description of what the system is supposed to do

43
New cards

Trainers

Members of the team who show users how to use the system

44
New cards

Librarians

Prepares and stores documents such as software requirements

45
New cards

Configuration Management Team

Member of the team who maintains correspondence among various artifacts

46
New cards

Transformation

In this design of software engineering from before the 1970s, input is converted to output

47
New cards

Transaction

In this design of software engineering from after the 1970s, input determines which function should be performed

48
New cards

Abstraction

It hides details thus it becomes a description of the problem at some level of generalization

49
New cards

Analysis and Design Methods and Notations

Provides documentation, facilitates communication, offers multiple views, and unifies the different views

50
New cards

User Interface Prototyping

Building a small version of a system which helps in developing good user interface

51
New cards

Software Architecture

Describes the system in terms of a set of architectural units and relationships between these units

52
New cards

Potential concerns with software reuse

  • Generalized components take more time to build

  • It may be faster to build smaller applications than searching for reusable components

  • Generality vs. Specificity


53
New cards

Platform Integration

Tools/integrated environments on heterogeneous networks

54
New cards

Presentation Integration

Tools/integrated environments for commonality of user interface

55
New cards

Process Integration

Tools/integrated environments that links the tools and the development process

56
New cards

Data Integration

Tools/integrated environments used to share common data

57
New cards

Control Integration

Tools/integrated environments where one tool has the ability to initiate action in another one