Software Development - Final Exam

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

1/20

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No study sessions yet.

21 Terms

1
New cards

Types of databases - By Functional:

Operational (OLTP), Analytical (OLAP)

2
New cards

Types of databases - By Data Model:

Relational, NoSQL, Key-Value, Document, Graph, Column-Family

3
New cards

What is a data model in software development?

A structured way of organizing and defining how data is stored, related, and accessed.

4
New cards

Test case (create from user story)

A small, specific test that checks one behavior from a user story (input → action → expected result).

5
New cards

Testing Driven Design (TDD)

Write tests first, Write code to pass tests, Refactor. Used to improve design and reduce bugs early.

6
New cards

Difference between TRUNCATE and DROP table

TRUNCATE: Deletes all rows, keeps the table. DROP: Deletes the entire table structure.

7
New cards

What is an SQL injection attack?

A security attack where malicious SQL is inserted into a query to access or damage a database

8
New cards

What is version control (VC)?

A system that tracks changes to code over time.

9
New cards

Centralized vs. decentralized VC

Centralized: One main server (e.g., Subversion). Decentralized: Each user has a full copy of the repo (e.g., Git).

10
New cards

What is a pipeline in DevOps?

An automated process that builds, tests, and deploys code.

11
New cards

Characteristics of high-quality code

Readable, simple, consistent, modular, well-documented, and efficient.

12
New cards

Types of software quality

Functional quality (what it does) and structural quality (how well it’s built).

13
New cards

How to manage complexity in code?

Use small functions, clear structure, abstraction, and modular design.

14
New cards

What is code coupling?

How much one piece of code depends on another.

15
New cards

Data coupling:

Modules share data through parameters only.

16
New cards

Stamp coupling:

Modules share complex data structures unnecessarily.

17
New cards

What is cohesion? Why is it important?

How closely related the tasks in a module are. High cohesion = clearer, easier-to-maintain code.

18
New cards

Purpose of using packages

Organize code, prevent name conflicts, and improve readability.

19
New cards

Java’s major foundations

Classes, objects, inheritance, polymorphism, interfaces, JVM.

20
New cards

SQL commands to add or change data

INSERT INTO table VALUES (...). UPDATE table SET column=value WHERE condition.

21
New cards

Abstraction vs. encapsulation

Abstraction: Hiding unnecessary details. Encapsulation: Bundling data and methods + restricting access.