Notes 1, Software engineering

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

1/24

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.

25 Terms

1
New cards

Software (Definition)

Code + Data + Documents. Includes programs, data structures/files, and documentation.

2
New cards

Software Engineering

Disciplined application of engineering principles to design, develop, test, and maintain software. Goal: High-quality, cost-effective software.

3
New cards

Two Methodologies of Software Engineering

1. Software Lifecycle (Technical "how-to" of development). 2. Project Management (Ensures effective execution).

4
New cards

Business Requirements Document

Describes business goals/objectives from stakeholder perspective. Output of conceptualization.

5
New cards

Requirements Analysis

Negotiation with stakeholders to define system inputs, outputs, data formats, computations, etc.

6
New cards

System Requirement Specification (SRS)

Outlines hardware/software requirements, interfaces, performance, security, compliance.

7
New cards

Functional Requirements

What the software must do (e.g., "User can save a file").

8
New cards

Non-Functional Requirements

How the software behaves (e.g., performance, usability, security).

9
New cards

Architectural Design (High-Level)

Defines system structure, components, interactions, technologies. Documented in System Architecture Document.

10
New cards

Component Design (Low-Level)

Modular elements with high-cohesion (related responsibilities) and low-coupling (minimal dependencies).

11
New cards

API Design

Rules for how components communicate (internal/external). Must be unambiguous.

12
New cards

UI Design

Focuses on user-friendly layouts, aesthetics, and interaction flow.

13
New cards

Database Design

Organizes data storage (e.g., relational/NoSQL), ensures integrity, security, and efficiency.

14
New cards

Implementation Documents

Includes code comments, version control logs, and embedded documentation.

15
New cards

Unit Testing

Tests individual statements/modules.

16
New cards

Integration Testing

Verifies subsystems work together.

17
New cards

System Testing

Validates the complete implementation.

18
New cards

Acceptance Testing

Demonstrates software meets customer needs.

19
New cards

Traceability Matrix

Maps test cases to requirements to ensure all are tested.

20
New cards

Deployment Plan

Strategy (manual/automated) to move software to production.

21
New cards

User Manual

Instructions for end-users.

22
New cards

Maintenance Phase

Fix defects or add enhancements post-deployment.

23
New cards

High-Cohesion

Components have closely related responsibilities.

24
New cards

Low-Coupling

Components have minimal dependencies on each other.

25
New cards

Reusability

Designing components to be reused in other systems/parts.