0% found this document useful (0 votes)
12 views4 pages

U3 Software Development

The document outlines the purpose and key stages of system analysis, including feasibility studies, requirements elicitation, and design. It also discusses various types of requirements, methods of investigation, and modeling tools used in system analysis. Additionally, it covers algorithm characteristics, pseudocode conventions, algorithmic techniques, programming paradigms, and practice questions related to assembly language.

Uploaded by

avighna.seth
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views4 pages

U3 Software Development

The document outlines the purpose and key stages of system analysis, including feasibility studies, requirements elicitation, and design. It also discusses various types of requirements, methods of investigation, and modeling tools used in system analysis. Additionally, it covers algorithm characteristics, pseudocode conventions, algorithmic techniques, programming paradigms, and practice questions related to assembly language.

Uploaded by

avighna.seth
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

System Analysis Methods

1. Purpose of System Analysis

System analysis identifies what a system must do before it is designed or


built. It focuses on requirements, constraints, stakeholders, and
current system weaknesses.

2. Key Stages

 Feasibility Study — assesses whether the project is viable


(technical, economic, legal, operational, time).

 Requirements Elicitation — gathering user needs.

 Requirements Specification — producing a formal document


(often a requirements specification).

 Design — modelling the system before implementation.

3. Requirements Types

 Functional requirements — what the system must do (e.g.,


“system must store customer records”).

 Non-functional requirements — constraints (e.g., performance,


security, usability, reliability).

4. Methods of Investigation

 Interviews — detailed but time-consuming.

 Questionnaires — broad reach but shallow detail.

 Observation — reveals real workflows but may alter behaviour.

 Document analysis — examines existing forms, logs, manuals.

5. Modelling Tools

 Data Flow Diagrams (DFDs) — show data movement.

 Entity Relationship Diagrams (ERDs) — show database


structure.

 Flowcharts — show process logic.

 Use Case Diagrams — show interactions between users and


system.

6. Feasibility Types (TELOS)

 Technical — do we have the tech?

 Economic — cost vs benefit.


 Legal — GDR, copyright, etc.

 Operational — will users accept it?

 Schedule — can it be done in time?

🔄 Writing and Following Algorithms

1. Algorithm Characteristics

Good algorithms are:

 Correct — solve the problem.

 Efficient — reasonable time/space.

 Deterministic — same input → same output.

 Finite — must terminate.

2. Pseudocode Conventions (OCR)

OCR uses a readable pseudocode style:

 IF … THEN … ELSE … ENDIF

 FOR … TO … NEXT

 WHILE … ENDWHILE

 REPEAT … UNTIL

 ARRAY[x]

 PROCEDURE / FUNCTION

3. Tracing Algorithms

You must be able to:

 Follow pseudocode line-by-line.

 Track variable values.

 Understand loops and recursion.

 Predict output.

4. Algorithmic Techniques

 Linear search — check each item.

 Binary search — divide and conquer (sorted lists only).

 Bubble sort — repeated swaps.

 Insertion sort — build sorted list gradually.


 Merge sort — recursive divide and merge.

 Dijkstra’s algorithm — shortest path.

 A search* — heuristic-based pathfinding.

5. Complexity (Big-O)

 O(1) — constant time.

 O(n) — linear.

 O(n²) — quadratic (e.g., bubble sort).

 O(log n) — binary search.

 O(n log n) — merge sort.

🧠 Programming Paradigms

1. Imperative Paradigm

Programs are sequences of instructions that change program state.

Includes:

 Procedural programming — uses procedures/functions.

 Low-level programming — direct hardware manipulation.

Strengths:

 Easy to understand.

 Good for step-by-step tasks.

2. Object-Oriented Paradigm (OOP)

Based on objects, classes, encapsulation, inheritance,


polymorphism.

Key ideas:

 Encapsulation — hide internal state.

 Inheritance — reuse behaviour.

 Polymorphism — same interface, different behaviour.

 Composition — objects contain other objects.

Strengths:

 Models real-world entities.

 Encourages modularity and reuse.


3. Functional Paradigm

Based on pure

Compare the imperative and functional programming paradigms.


Include at least two differences in how programs are structured and
executed.

9. Long answer (8 marks)

A company is developing a system that processes large volumes of data in


parallel. Discuss whether a functional or object-oriented paradigm
would be more suitable, justifying your answer with reference to features
of each paradigm.

⚙️Assembly Language — Practice Questions

10. Trace question (5 marks)

The following assembly code uses OCR-style instructions. State the final
value stored in R1.

Code

LDR R1, 3

LDR R2, 1

LOOP: ADD R1, R2

INC R2

CMP R2, 4

JLT LOOP

11. Addressing modes (4 marks)

Describe the difference between direct and indexed addressing, giving


an example of when indexed addressing would be used.

12. Long answer (8 marks)

Explain how conditional branching works in assembly language and


discuss how it can be used to implement iteration structures such as
loops. Include an example in your explanation.

You might also like