Search Header Logo
Exam Revision Pathway 4

Exam Revision Pathway 4

Assessment

Presentation

Computers

12th Grade

Practice Problem

Medium

Created by

amanda michielin

Used 2+ times

FREE Resource

12 Slides • 21 Questions

1

Exam Revision Pathway 4

2

Overview

This pathway covers:

  • Encryption

  • Version Control

  • Sorting and Searching

  • PSM, efficiency and effectiveness

  • Use Case Diagrams and Data Flow Diagrams

  • Software Auditing

3

Symmetric Key Encryption: In this method, the same key is used for both encryption and decryption. Think of it like a safe with one code; anyone who knows the code can open it.

○ Examples of symmetric key encryption algorithms include AES, Twofish, Blowfish, 3DES, and RC4.

Public Key Encryption (Asymmetric Key Encryption): This type uses two different keys: a public key for encryption and a private key for decryption. The public key can be widely known, while the private key is kept secret by the recipient.

○ Analogy: Imagine a mailbox with two slots: one for sending mail (public key) and one accessible only by the owner for retrieving mail (private key).

○ Public key encryption is widely used for secure data transfer over the internet, like in TLS (Transport Layer Security) and SSL (Secure Sockets Layer).

○ Popular public key encryption algorithms include RSA, Diffie-Hellman, ECC, and DSA

Types of Encryption

Encryption is the process of encoding data, making it unreadable to those without the means to decode it. This ensures data protection, especially for sensitive information like usernames, passwords, and financial or medical details.

The Importance of Encryption: Encryption is essential for protecting data stored on computer systems and transferred over unsecured networks. Its significance has increased in today's interconnected world where data breaches can have severe consequences like reputational damage, financial loss, and legal issues.

Basics

Encryption

4

Encryption in Different Contexts

Digital Signatures: A common application of encryption is to use digital signatures, which provide confidence in the authenticity of received messages.

Bluetooth Data Encryption: This typically uses an encryption algorithm to secure data transfer between devices like mobile phones.

Securing Files: Sensitive data stored in files, like usernames and passwords, can be protected using encryption to prevent unauthorized access.

Transmitting Sensitive Data: Encryption is crucial for securing sensitive data, especially when transmitted over the internet or other networks.

Example: SSL/TLS is used for encrypting web traffic between servers and browsers, preventing interception of sensitive data like credit card information.

Protecting Against Specific Attacks: Encryption plays a role in defending against attacks like SQL injections and man-in-the-middle attacks.

5

Multiple Choice

Which of the following is the primary purpose of encryption?

1
To protect data confidentiality.
2
To enhance data accessibility.
3
To improve data processing speed.
4
To increase data storage capacity.

6

Multiple Choice

What is the key difference between symmetric and public key encryption?

1
Symmetric encryption uses a pair of keys, while public key encryption uses one key.
2
The key difference is that symmetric encryption uses one key, whereas public key encryption uses a pair of keys.
3
Public key encryption is faster than symmetric encryption.
4
Symmetric encryption is only used for data at rest, while public key encryption is for data in transit.

7

Multiple Choice

What is a digital signature?

1
A digital signature is a type of electronic payment method.
2
A digital signature is a physical signature scanned into a computer.
3
A digital signature is a cryptographic method used to validate the authenticity and integrity of a digital message or document.
4
A digital signature is a software that edits digital documents.

8

Version Control

What is it? Version control is a system for managing changes made to files over time. It is often used in software development to track changes to source code and related documentation.

Benefits: Version control systems allow developers to:

Track changes: Each modification is recorded, providing a history of how the project evolved.

Revert to previous versions: Developers can easily go back to earlier states of the project if needed.

Collaborate effectively: Multiple developers can work on the same project simultaneously without overwriting each other's work.

Implementation: Version control systems can be stand-alone applications or web-based services.

9

Why is Version Control Important?

Preventing Data Loss: In software development, it is essential to keep track of code changes, and version control is essential for that purpose. Without version control, developers risk losing work if changes are not properly tracked, potentially leading to the need to revert to an earlier version.

Managing Multiple Versions: As software projects grow and are updated, managing different versions becomes increasingly complex. Version control provides a systematic way to label and track these versions, making it easier to identify and work with specific versions of files.

Team Collaboration: When multiple developers contribute to a project, version control is crucial for preventing conflicts and ensuring that everyone is working on the most up-to-date version. It provides a mechanism to merge changes from different developers seamlessly.

Tracking Progress and Changes: Version control systems record every modification, enabling developers to see who made what changes and when. This history is valuable for understanding the evolution of the project and identifying the source of bugs or issues.

10

Multiple Choice

What is the primary purpose of using a version control system?

1
To enhance the speed of file transfers.
2
To track changes and manage versions of files in a project.
3
To create backups of files automatically.
4
To simplify the user interface of applications.

11

Multiple Choice

Which of the following is NOT a key benefit of using version control?

1
Better project management
2
Improved performance
3
Easier tracking of changes
4
Enhanced collaboration

12

Multiple Choice

Which of the following actions could potentially lead to data loss or conflicts in a version control system?

1
Using descriptive commit messages
2
Creating branches for features
3
Force pushing changes, not pulling updates, simultaneous edits.
4
Regularly committing changes

13

Software Auditing

Software auditing can encompass various aspects of software examination.

Functionality Audit: This type of audit focuses on how the software operates and whether it performs its intended functions correctly. It involves examining the software's code, design, and behavior to ensure it meets the specified requirements and performs efficiently and effectively.

Compliance Audit: This audit aims to verify whether the software adheres to established standards, regulations, and licensing agreements. It assesses if the software's construction follows the rules and if licensing terms are being met. This includes checking for proper licensing documentation and ensuring that the number of software users complies with the license agreement.

14

Purposes and Benefits of Software Auditing

Early Issue Detection: Auditing helps uncover potential problems or vulnerabilities early in the software development lifecycle. Addressing these issues early can save time and resources compared to fixing them later in the process.

Performance Optimization: Audits can identify areas where the software's performance can be improved in terms of speed, scalability, and reliability.

Testing Evaluation: Auditing helps assess the effectiveness of the testing procedures and identify areas where testing can be optimized or expanded.

Maintainability and Extensibility: Audits ensure the software is designed and documented to be easily maintainable and adaptable for future enhancements or modifications.

Technology Suitability: Auditing verifies that the chosen technologies and tools are appropriate for the project's needs and objectives.

Legal and Licensing Compliance: Auditing ensures that the software complies with all relevant legal requirements and licensing agreements, mitigating risks associated with copyright infringement or improper software usage.

15

Multiple Choice

Which of the following is a primary goal of software auditing?

1
Enhance user interface design.
2
Ensure compliance with licensing agreements.
3
Maximize software performance.
4
Reduce software development costs.

16

Multiple Choice

What is the difference between a functionality audit and a compliance audit?

1
A functionality audit is conducted annually, whereas a compliance audit is done quarterly.
2
A functionality audit is only concerned with financial performance, while a compliance audit assesses employee satisfaction.
3
A functionality audit ensures adherence to regulations, while a compliance audit focuses on operational effectiveness.
4
A functionality audit focuses on operational effectiveness, while a compliance audit ensures adherence to regulations and standards.

17

Multiple Choice

Which of the following is NOT a potential benefit of conducting a software audit?

1
Better compliance with regulations
2
Enhanced user experience
3
Increased software development speed
4
Improved software security

18

Generally More Efficient than Selection Sort: Quicksort is often significantly faster than selection sort, especially for larger data sets.

Recursive Nature: Quicksort utilizes recursion to break down the sorting problem into smaller, more manageable sub-problems.

Pivot Selection Can Affect Performance: The choice of the pivot element can influence the efficiency of quicksort. A poorly chosen pivot can lead to unbalanced sub-lists and slower sorting times.
Not a Stable Sort: The relative order of equal elements in the input list might not be preserved in the output list.

Quick Sort

Easy to Understand and Implement: Selection sort is conceptually straightforward, making it relatively simple to implement in code.

Not Very Efficient for Large Data Sets: Selection sort performs a significant number of comparisons (on the order of n^2, where n is the number of elements), making it less efficient for sorting large lists or arrays.

Consistent Number of Swaps and Passes: A selection sort always performs n-1 swaps and n-1 passes, regardless of the initial order of the data.

No Exit Clause: Selection sort does not have a mechanism to detect if the list is already sorted; it will always perform all passes and comparisons.

Selection Sort

Sorting

19

A binary search is a much more efficient algorithm that leverages the power of a sorted list. It repeatedly divides the search interval in half, quickly narrowing down the possible locations of the target value. Imagine searching for a word in a dictionary by repeatedly opening it to the middle page, eliminating half of the remaining pages with each step.

Step 1: Start with the entire sorted list.

Step 2: Find the middle element of the list.

Step 3: Compare the middle element with the target value.

○ If they match, the search is successful.

○ If the target value is smaller than the middle element, discard the right half of the list.

○ If the target value is larger than the middle element, discard the left half of the list.

Step 4: Repeat steps 2-3 on the remaining half of the list until the target value is found or there are no more elements left to search.

Binary Search

Linear Search: Simplicity, but Inefficiency

A linear search involves sequentially checking each element in a list until the desired element is found or the end of the list is reached. Think of it like searching for a book in a library by going through each shelf one by one until you find the specific title.

Step 1: Start at the first element in the list.

Step 2: Compare the current element with the target value.

Step 3: If they match, the search is successful.

Step 4: If they don't match, move on to the next element.

Step 5: Repeat steps 2-4 until a match is found or the entire list is examined.

Linear Search

Searching

20

Multiple Choice

Which of the following sorting algorithms is generally considered the most efficient for large datasets?

1

Quick Sort

2
Selection Sort
3
Insertion Sort
4
Bubble Sort

21

Multiple Choice

What is the primary advantage of using a recursive sorting algorithm like quicksort?

1
Guaranteed stability in sorting all types of data.
2
Lower memory usage compared to iterative sorting algorithms.
3
Simplicity in implementation with a time complexity of O(n^2).
4
Efficiency in handling large datasets with average-case time complexity of O(n log n).

22

Multiple Choice

Which searching algorithm is the simplest to implement, but can be inefficient for large datasets?

1
Breadth-First Search
2
Binary Search
3
Linear Search
4
Depth-First Search

23

Multiple Choice

What is a prerequisite for using a binary search algorithm effectively?

1
The algorithm requires a linear search first.
2
The data must be numeric only.
3
The data must be sorted.
4
The data can be in any order.

24

Use Case Diagrams

Purpose: Use case diagrams visually describe how a user interacts with a system. They are used to represent system functionality from a user's perspective. They "tell a story" of how functions within a system work by illustrating user interactions. Use case diagrams are typically created before context diagrams or data flow diagrams.

Components:

Actors: Represent entities that interact with the software. This often means human users but can include external systems. Actors are defined by their role in the system, not as specific individuals. In diagrams, they are depicted as stick figures.

Use Cases: Describe the transactions or functions a user (actor) can perform within the system. Use cases are visually represented as ellipses. Each use case should be named with a strong verb and a singular noun (e.g., "Add Customer" or "Delete User").

Relationships: Depict the connections between elements in the diagram. These connections can exist between:

■ Actor and Use Case

■ Actor and Actor

■ Use Case and Use Case

Types of Relationships:

Associations: A standard relationship depicted as a solid line connecting two elements.

Generalizations: Indicate a parent-child relationship where the child inherits the characteristics of the parent. For example, an "Administrator" actor may inherit all the capabilities of a regular "User" actor. These are drawn as a solid line with a closed arrowhead pointing from the child to the parent.

Include: Represents one use case being entirely contained within another. For instance, the use case "Log In" might be included within the use case "Update Profile."

Extend: Represents one use case providing additional, often optional, functionality to another use case. An example would be a "Print Report" use case extending the "Generate Report" use case.

System Boundary: A rectangle drawn around the relevant use cases to clearly define what's included in the system being developed and what's external.

25

Multiple Choice

What is the primary purpose of a use case diagram in software development?

1
The primary purpose of a use case diagram is to capture and communicate the functional requirements of a system.
2
To specify the programming languages and tools to be used.
3
To outline the database schema and relationships.
4
To define the system architecture and design.

26

Multiple Choice

Which of the following BEST describes an "actor" in a use case diagram?

1
An entity that interacts with the system.
2
A tool used for creating use case diagrams.
3
A person who designs the system architecture.
4
A type of software that automates use case generation.

27

Multiple Choice

In a use case diagram, what symbol is used to represent a use case?

1
Circle shape
2
Oval shape
3
Diamond shape
4
Rectangle shape

28

Multiple Choice

An online shopping system has a "Checkout" use case. A "Process Gift Wrapping" use case is optional, depending on the user's selection. Which relationship should be used to depict the connection between these use cases in a use case diagram?

1
extend
2
associate
3
inherit
4
include

29

Data Flow Diagrams

Purpose: Data Flow Diagrams (DFDs) provide a visual representation of the movement of data within a system. They illustrate data inputs, processing, storage, and outputs, offering a clearer understanding of how data is transformed and used within a system. They provide more information than context diagrams, as they show all the processes that occur within a system.

Levels: DFDs are commonly created in a hierarchical structure, with each level providing progressively more detail:

Level 0 (Context Diagram): The simplest level, providing a high-level overview of the system, its boundaries, external entities, and the primary data flows between them.

Level 1: This level details the core processes within the system. It expands on the context diagram by breaking down the single system process into its key functions.
Components:

Processes: Processes represent the actions or functions performed within the system. They are depicted as circles and are typically labeled with a strong verb and a singular noun that concisely describes the action (e.g., "Verify Order," "Generate Report," "Calculate Total"). In a DFD, processes must have at least one data flow entering (input) and one data flow exiting (output).

External Entities: Entities represent users, systems, or organizations outside of the system being modeled. These are depicted as rectangles and are often labeled with nouns describing their role (e.g., "Customer," "Inventory System," "Bank"). It's crucial to represent them by their role rather than by specific names of individuals.

Data Flows: Data flows illustrate the movement of data between different components of the system (entities, processes, and data stores). They are represented as arrows, often curved, with labels describing the data being transmitted.

Data Stores: Data stores represent any location or mechanism where data is stored within the system. They could be databases, files, or any form of persistent data storage. Data stores are illustrated using two parallel lines with the name of the store in between.

30

Multiple Choice

What is the MAIN purpose of a data flow diagram (DFD)?

1
To create a user interface design.
2
To visually represent the flow of data within a system.
3
To store data securely in a database.
4
To analyze the performance of a system.

31

Multiple Choice

In a DFD, what does a circle (or rounded rectangle) typically represent?

1
A data store
2
An external entity
3
A data flow
4
A process

32

Multiple Choice

A DFD process labeled "Validate User Input" only has incoming data flows, but no outgoing flows. What DFD rule is being violated?

1
A process must have at least one outgoing data flow.
2
A process can exist without any data flows at all.
3
A process must have at least two outgoing data flows.
4
A process can have multiple incoming flows without any outgoing flows.

33

Multiple Choice

If a customer is an external entity in a DFD for a POS system, and "Submit Order" is a use case on the use case diagram for the same system, how might this translate to a DFD?

1
The customer is an external entity providing input (order data) to the 'Submit Order' process in the DFD.
2
The customer is a process that handles the order submission.
3
The 'Submit Order' process outputs the order data to the customer.
4
The customer is a data store that holds order information.

Exam Revision Pathway 4

Show answer

Auto Play

Slide 1 / 33

SLIDE