H446 Section 3 Software Development

studied byStudied by 3 people
5.0(1)
Get a hint
Hint

Analysis

1 / 55

56 Terms

1

Analysis

The process of examining and evaluating a system or software requirements to ensure they meet the needs of stakeholders and form a basis for design. Includes considering the data, procedures, future and existing problems.

New cards
2

Design

The phase in software development where specifications are translated into a blueprint for building the system, detailing architecture, components, interfaces, and data to meet requirements.

New cards
3

Development

The stage in software development where the actual coding and implementation of the design occur, transforming the blueprint into a functional application or system.

New cards
4

Testing

The phase in software development where the system is executed to identify defects and ensure that it meets specified requirements. Testing includes various methods such as unit testing, integration testing, and system testing.

New cards
5

Black Box Testing

A testing method that evaluates the functionality of an application without peering into its internal structures or workings. The tester focuses on inputs and outputs, ensuring the system behaves as expected.

New cards
6

White Box Testing

A testing method that involves examining the internal structures and workings of an application. Testers have access to the code and can design test cases based on the program's logic.

New cards
7

Alpha Testing

The initial phase of testing conducted by internal teams before the software is released to external testers. It aims to identify bugs and ensure the software's functionality and performance meet the required standards.

New cards
8

Beta Testing

The second phase of testing that occurs after alpha testing, where the software is released to a limited number of external users for real-world exposure. This phase helps identify any remaining issues and gather feedback before the final release.

New cards
9

Implementation

The process of executing a plan or design, putting the software into operation and integrating it into the existing system. It involves coding, testing, and deploying the application for use.

New cards
10

Evaluation

The systematic assessment of a software product's performance, usability, and effectiveness after implementation. It helps determine if the software meets the intended requirements and user needs.

New cards
11

Waterfall Model

A linear and sequential approach to software development where each phase must be completed before the next begins. It emphasizes thorough documentation and planning, making it easier to manage and control.

New cards
12

Spiral Model

A software development process that combines iterative development with the systematic risk assessment of each iteration. It emphasizes continuous refinement and user feedback throughout the lifecycle.

New cards
13

Agile Approach

A flexible and iterative software development methodology that promotes adaptive planning, evolutionary development, early delivery, and continuous improvement, encouraging rapid and flexible responses to change.

New cards
14

Extreme Programming

A software development methodology that emphasizes customer satisfaction, frequent releases, and collaborative, cross-functional teams. It incorporates practices like pair programming, test-driven development, and continuous integration.

New cards
15

Rapid Application Development

A software development methodology that focuses on quickly building prototypes and iterative development to accelerate the delivery of high-quality software. It emphasizes user involvement and feedback throughout the development process.

New cards
16

Algorithm

A step-by-step procedure or formula for solving a problem or completing a task, often implemented in programming to perform calculations or data processing.

New cards
17

Properties of a good algorithm

Include clarity, efficiency, and correctness, ensuring it effectively solves the problem while being easily understandable and optimized for performance.

New cards
18

Uses of Algorithms

Search engines, route-finding, compression, encryption

New cards
19

Divide and Conquer Algorithm

A problem-solving strategy that divides a larger problem into smaller, more manageable subproblems, solves each subproblem independently, and combines their solutions to solve the original problem. This approach is often used in algorithms like binary search, merge sort and quicksort, making it efficient for sorting and searching tasks.

New cards
20

Trace Table

A tool used to trace the execution of an algorithm by recording the values of variables at each step, helping to understand and debug the algorithm's flow.

New cards
21

Programming Paradigm

A fundamental style or approach to programming that dictates how developers structure and organize their code, including paradigms such as procedural, object-oriented, functional, and declarative programming.

New cards
22

Procedural Programming

A programming paradigm based on the concept of procedure calls, where programs are structured as a sequence of instructions or statements that operate on data. It emphasizes a linear top-down approach and the use of functions to encapsulate code.

New cards
23

Structured Programming

A programming paradigm that emphasizes breaking down a program into smaller, manageable sub-programs or modules, promoting clear structure and flow control through constructs like loops and conditionals.

New cards
24

Object Oriented Programming

A programming paradigm based on the concept of "objects," which can contain data and methods. It promotes code reusability and organization through principles like encapsulation, inheritance, and polymorphism.

New cards
25

Declarative Programming

A programming paradigm that expresses the logic of a computation without describing its control flow. It focuses on what the program should accomplish rather than how to achieve it, often seen in languages like SQL and Prolog.

New cards
26

Functional Programming

A programming paradigm that treats computation as the evaluation of mathematical functions and avoids changing state or mutable data. It emphasizes the use of pure functions and higher-order functions.

New cards
27

Data Structure

A systematic way to organize and store data in a computer, enabling efficient access and modification. Common types include arrays, linked lists, stacks, and queues.

New cards
28

Class

A blueprint for creating objects in object-oriented programming, defining properties and methods that the created objects will have.

New cards
29

Object

An instance of a class that encapsulates data and behavior in object-oriented programming. Objects can interact with one another and have properties and methods.

New cards
30

Inheritance

A fundamental concept in object-oriented programming that allows a class to inherit properties and methods from another class, promoting code reuse and establishing a hierarchical relationship.

New cards
31

Polymorphism

The ability of different classes to be treated as instances of the same class through a common interface, allowing methods to be used interchangeably based on the object's actual class.

New cards
32

Methods

Functions defined within a class that operate on objects, allowing for the execution of specific behaviors or actions.

New cards
33

Encapsulation

The bundling of data and methods that operate on that data within a single unit, or class, restricting access to some of the object's components to protect the integrity of the data.

New cards
34

Constructor

A special method used to initialize objects of a class, setting initial values for attributes and preparing the object for use.

New cards
35

OOP Advantages

Benefits of Object-Oriented Programming such as reusability, scalability, and improved maintainability.

New cards
36

Assembly Language

A low-level programming language that is closely related to machine code, used for writing programs that are specific to a computer architecture.

New cards
37

Assembler

A tool that translates assembly language code into machine code, enabling the execution of programs on a computer.

New cards
38

INP

A command used in assembly language to read input from a device, typically from the keyboard.

New cards
39

STA

A command in assembly language used to store the value from a register into a specified memory location.

New cards
40

ADD

A command in assembly language that performs addition on values in registers or memory locations and stores the result in a register.

New cards
41

SUB

A command in assembly language that subtracts the value of one register or memory location from another and stores the result in a register.

New cards
42

OUT

A command in assembly language that sends the contents of a specified register to an output device or port.

New cards
43

HLT

A command in assembly language that halts the execution of a program.

New cards
44

DAT

A command in assembly language that reserves memory space for variables and data.

New cards
45

BRA

A command in assembly language that causes a branch to a specified address in the program.

New cards
46

BRP

A command in assembly language that branches to a specified address if the previous result is positive.

New cards
47

BRZ

A command in assembly language that branches to a specified address if the previous result is zero.

New cards
48

LDA

A command in assembly language that loads a value from memory into the accumulator.

New cards
49

LMC

A programming model used to understand basic computer architecture and assembly language, often represented as a simplified machine with a limited instruction set.

New cards
50

Opcode

A numeric value that represents a specific instruction in machine language, used by the CPU to execute commands.

New cards
51

Operand

A value or address used by an opcode in machine language to specify the data to be manipulated or the location of that data.

New cards
52

Addressing Mode

A method used in assembly language to specify the location of an operand in memory or the way an operand is accessed by the instruction.

New cards
53

Immediate Addressing

A mode where the operand is a constant value directly specified within the instruction, rather than a memory address.

New cards
54

Direct Addressing

A mode where the operand's memory address is explicitly given in the instruction, allowing direct access to the data.

New cards
55

Indirect Addressing

A mode where the address of the operand is specified indirectly through a register or memory location, allowing for more flexible data access.

New cards
56

Indexed Addressing

A mode where the effective address of the operand is generated by adding a constant value to the contents of a register, typically used for accessing arrays or tables.

New cards

Explore top notes

note Note
studied byStudied by 42 people
... ago
5.0(1)
note Note
studied byStudied by 2 people
... ago
5.0(1)
note Note
studied byStudied by 11 people
... ago
5.0(1)
note Note
studied byStudied by 118 people
... ago
5.0(4)
note Note
studied byStudied by 8 people
... ago
4.0(1)
note Note
studied byStudied by 865 people
... ago
5.0(1)
note Note
studied byStudied by 1 person
... ago
5.0(1)
note Note
studied byStudied by 40 people
... ago
5.0(2)

Explore top flashcards

flashcards Flashcard (46)
studied byStudied by 163 people
... ago
5.0(2)
flashcards Flashcard (21)
studied byStudied by 546 people
... ago
4.9(16)
flashcards Flashcard (20)
studied byStudied by 8 people
... ago
5.0(1)
flashcards Flashcard (89)
studied byStudied by 24 people
... ago
5.0(1)
flashcards Flashcard (30)
studied byStudied by 1 person
... ago
5.0(1)
flashcards Flashcard (20)
studied byStudied by 4 people
... ago
5.0(1)
flashcards Flashcard (136)
studied byStudied by 90 people
... ago
5.0(1)
flashcards Flashcard (73)
studied byStudied by 4429 people
... ago
4.2(32)
robot