10000 added finished data transmission and added development lifecycle · How2PlayGithub/igcseCompSci@e23bd35 · GitHub
[go: up one dir, main page]

Skip to content

Commit e23bd35

Browse files
added finished data transmission and added development lifecycle
1 parent 9e1a5aa commit e23bd35

File tree

5 files changed

+116
-0
lines changed

5 files changed

+116
-0
lines changed

theory/06developmentLifecycle.md

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
# Development Lifecycle
2+
3+
## What is in it?
4+
- There are 4 parts:
5+
- Analysis
6+
- Design
7+
- Coding
8+
- Testing
9+
10+
- It is used to:
11+
- Break down large problems into smaller, clear and manageable parts
12+
13+
- It is also known as SDLC
14+
15+
## Part 1: Analysis
16+
- Includes:
17+
- Abstraction
18+
- Problem decomposition
19+
- Identification
20+
- Requirements
21+
22+
- Abstraction:
23+
- Identify key components and functions of the system
24+
25+
- Problem Decomposition:
26+
- Break down the problem into smaller, more manageable tasks
27+
28+
- Identification:
29+
- Identify system requirements and constraints
30+
31+
- Requirements:
32+
- Prioritise what is needed of the program
33+
34+
## Part 2: Design
35+
- Includes:
36+
- Further decomposition
37+
- Structure diagrams
38+
- Flowcharts
39+
- Pseudocode
40+
41+
- Further decomposition:
42+
- Break down the system into modules or components
43+
44+
- Structure diagrams:
45+
- Create diagrams to visualise the system structure
46+
47+
- Flowcharts:
48+
- Flow of control throughout the system
49+
- Identify decision points, loops and branching logic
50+
51+
- Pseudocode:
52+
- Outlines logic of each module or components
53+
54+
- Tip:
55+
- Think about IPO:
56+
- Input
57+
- Process
58+
- Output
59+
60+
## Part 3: Coding
61+
- Includes:
62+
- Writing program code
63+
- Iterative testing
64+
65+
- Writing program code:
66+
- Implements the code in accordance to the design
67+
- Document code for understanding and maintenance
68+
69+
- Iterative testing:
70+
- Test code as it is written
71+
- Use unit tests
72+
- Address any issues
73+
74+
## Part 4: Testing
75+
- Includes:
76+
- Testing program code with a variety of test data
77+
78+
- Testing:
79+
- Develop test cases
80+
- Test inputs within expected ranges as well as boundary ranges
File renamed without changes.
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Encryption
2+
3+
## What is it?
4+
- A process of turning data into an unreadable form so it doesn't make sense to hackers or attackers without the correct key/algorithm
5+
6+
## Definitions
7+
- Plaintext:
8+
- The original data being sent
9+
- Ciphertext:
10+
- The text given after encryption
11+
12+
## Symmetric encryption
13+
- Uses an encryption key for the encryption process
14+
- Same key for encryption and decryption
15+
16+
- Uses:
17+
- Wifi
18+
- Adding a password to a `.zip` file
19+
- Encrypting a HDD
20+
21+
## Asymmetric encryption
22+
- 2 keys:
23+
- Public
24+
- Private
25+
- Public key is available to everyone, whereas the private is only available to the user
26+
- Receiver would have the private key
27+
- Public key is sent to the sender
28+
- Sender can encrypt the message with the public key
29+
- Can only be decrypted using private key
30+
31+
- Uses (good to know but not needed):
32+
- SSH
33+
- VPN
34+
- TLS/SSL
35+
- IPsec
36+
- PGP/GPG

0 commit comments

Comments
 (0)
0