Designing Program Logic Sumer
Designing Program Logic Sumer
Level III
1
Designing Program Logic
Table of contents
Acronym.....................................................................................................................................................3
1.1.1 Overview.............................................................................................................................4
1.1.2 1.1. Systems Development Life Cycle (SDLC).................................................................4
1.1.3 A. Preliminary Investigation.............................................................................................4
1.1.4 B. Analysis (Requirement Gathering)..............................................................................4
1.1.5 C. Design Phase..................................................................................................................5
1.1.6 D. Implementation.............................................................................................................5
1.1.7 E. Deployment and Testing...............................................................................................5
1.1.8 F. Maintenance...................................................................................................................5
1.1.9 Benefits of SDLC:..............................................................................................................5
1.1. Design Documentation................................................................................................6
Importance of Design Documentation:........................................................................6
Logic Model:........................................................................................................................................6
Program of Requirements:..................................................................................................7
Understanding the Programming Process:................................................................7
1.2 Design Approach to Coding........................................................................................8
Example 1: Pseudo-code to Calculate Bonus.................................................................................10
Example 2: Pseudo-code to Calculate Interest Rate......................................................................11
Sequence in Pseudo-code.................................................................................................................11
Pseudo-code with Loop....................................................................................................................11
Pseudo-code with Selection (IF-THEN-ELSE)..............................................................................12
Example 3: Pseudo-code to Calculate Grade.................................................................................12
Key Concepts Recap........................................................................................................................13
What is a Data Flow Diagram (DFD)?................................................................................................16
DFD Example: Food Ordering System...............................................................................................19
1.2.2 Conclusion.........................................................................................................................19
1.2.3 Hierarchy Input Process Output (HIPO) Diagram.......................................................19
1.2.4 RAD (Rapid Application Development) Model.............................................................20
Prototyping Model.............................................................................................................................20
1.2.5 CASE (Computer-Aided Software Engineering) Tools.................................................21
2
Designing Program Logic
1.2.6 Summary Comparison: RAD, Prototyping, and CASE Tools................................................22
1.2.7 Conditions for Operations:.................................................................................................22
1.2.8 Equipment, Tools, and Materials:......................................................................................22
1.2.9 Steps to Create a Flowchart in Microsoft Visio:.................................................................23
1.2.10 Flowchart Proposal Development Process:........................................................................23
1.2.11 Quality Criteria:..................................................................................................................23
1.2.12 Lap Tests Instructions:.......................................................................................................24
Group Assignment: Systems Development Life Cycle (SDLC) and Program Logic Design......24
Group Formation and Topics.........................................................................................................24
Group 1: Systems Development Life Cycle (SDLC) Overview....................................................24
Group 2: Feasibility Study & Requirement Analysis....................................................................24
Group 3: System Design & Coding Approach...............................................................................24
Group 4: Implementation & Testing Phase...................................................................................25
Group 5: Deployment & Maintenance...........................................................................................25
Deliverables & Evaluation..............................................................................................................25
Acronym
CASE-----------------------------------------------computer-aided software engineering
CRUD-----------------------------------------------Create, Read, Update, and Delete
DFD--------------------------------------------------Data Flow Diagram
HIPO------------------------------------------------Hierarchy Input Process Output Diagram
MDS------------------------------------------------- Master Data Services
RAD --------------------------------------------------Rapid Application Development model.
SDLC-------------------------------------------------Systems development life cycle
SOW---------------------------------------------------scope of work
UML----------------------------------------------------Uniform Modeling Language
3
Designing Program Logic
Unit One: Program Logic Design
1.1.1 Overview
This unit introduces the Systems Development Life Cycle (SDLC), design documentation, and
coding approaches. The goal is to enable you to:
The Systems Development Life Cycle (SDLC) is a project management model that outlines the
stages involved in developing an information system, from initial feasibility studies to the
maintenance of the completed system. It can apply to both technical and non-technical
systems.
1. Preliminary Investigation
2. Analysis (Requirement Gathering)
3. Design
4. Implementation
5. Deployment and Testing
6. Maintenance
Purpose: Identify whether the problem with the current system exists and assess whether it’s
feasible to solve.
Steps:
o Defining the problem: Analyze documents, observe operations, and interview key users.
o Suggesting solutions: Improve existing systems or develop new solutions.
o Feasibility studies: Assess:
Technical Feasibility: Can the solution be implemented with available
resources?
Economic Feasibility: Do the benefits outweigh the costs?
Operational Feasibility: Is the solution viable within the current organization?
4
Designing Program Logic
o Identify the specific information needs: who needs what information, where, when, and
how.
1.1.5 C. Design Phase
Purpose: Describe the system’s desired features and operations.
Key Components:
o Business Rules: Define how the system operates.
o Pseudo-code: High-level representation of system logic.
o Screen Layouts: Design how the user interface will look.
o Other necessary documentation.
1.1.6 D. Implementation
Purpose: Code the system based on design and requirements.
Steps:
1. Break down the tasks into smaller coding actions to be done daily.
2. Install hardware and software, integrate the system into daily workflows.
3. Monitor system performance against predefined objectives.
1.1.7 E. Deployment and Testing
Purpose: Test and deploy the software in a controlled environment before releasing to users.
Key Concepts:
o Build Environment: Where development and testing occur.
o Production Environment: The version used by end-users.
o Perform thorough testing to ensure the system meets the performance objectives.
1.1.8 F. Maintenance
Purpose: Ongoing support for the system after deployment.
Tasks:
1. Fix bugs and resolve customer issues.
2. Monitor system performance, security, and user feedback.
3. Implement improvements to enhance the system.
1.1.9 Benefits of SDLC:
Increased Visibility: Stakeholders can track project progress.
Better Planning: More efficient estimation of time, costs, and resources.
Improved Risk Management: Better management of potential risks and costs.
Systematic Delivery: Ensures organized software delivery.
Customer Satisfaction: Leads to better user experiences and system quality.
1.1. Design Documentation
Overview: Design documentation is a critical part of the programming process, created before
writing the actual code. It helps ensure the program meets the customer's needs, allows for
project continuity, and clarifies the design before implementation. Without solid design
documentation, you might end up implementing a solution that doesn't meet user needs or
expectations.
Importance of Design Documentation:
Clarifies Requirements: Helps ensure you're doing what the customer wants.
Project Continuity: Provides a reference in case of personnel changes.
Guides Implementation: Assures that the implementation matches the intended design.
Program Logic:
Definition: Program logic is the implementation of the program’s requirements and design.
5
Designing Program Logic
If the design is poor, the program can still be implemented, but the functionality (e.g., user
interface) may be weak.
6
Designing Program Logic
Key Points About Program Logic:
Logical Operations on Data: Program logic follows logical principles, resulting in quantifiable
outcomes.
Foundation of Computational Logic: Programming logic is based on logic that is understandable
by both humans and machines.
Understanding Program Logic:
Program logic is the reasoning behind how and why a program works.
It demonstrates the design and competence needed to implement the program.
A series of “if-then” statements that lead to the desired outcomes when implemented
correctly.
Logic Model:
A Logic Model is a tool that visualizes the relationship between program activities and desired
outcomes.
Questions to Consider:
o Where are you going?
o How will you get there?
o What will tell you that you have arrived?
Benefits of Logic Models:
Program Planning: Helps organize and structure program activities.
Program Implementation: Provides a clear roadmap for execution.
Monitoring and Evaluation: Tracks progress and assesses the effectiveness of the program.
Uses of a Logic Model:
Clarifies Assumptions: Helps identify gaps and clarify assumptions about how the program
works.
Builds Consensus: Promotes understanding among stakeholders.
Improves Communication: Summarizes complex programs for effective communication.
Evaluation: Clarifies when and what to evaluate.
Program of Requirements:
The Program of Requirements (PoR) is a document that specifies the functional and non-
functional requirements for a system. It serves as a guideline for designers and developers to
understand the needs and expectations of the project.
Purpose: Ensures that the project meets the desired outcome.
Framework: Lays out clear criteria and expectations for all stakeholders.
7
Designing Program Logic
Major Cause of Failures: Misunderstanding the problem is a key factor in project failure.
B. Planning the Logic:
Purpose: Plan out the steps the program will take.
Tools:
o Flowcharts: Visual representation of the program’s logic.
o Pseudo Code: English-like description of the program’s steps.
Desk-Checking: Walk through the logic before actual coding to ensure it works.
C. Coding the Program:
Select the Language: Choose the appropriate programming language for the task.
Write Instructions: Translate the planned logic into actual code.
D. Using Software to Translate into Machine Language:
Compilers/Interpreters: Translate high-level code into machine language.
Syntax Errors: These are detected during the translation process and need to be fixed.
E. Testing the Program:
Execute with Sample Data: Run the program with test data to see if it performs correctly.
Identify Logic Errors: If there are errors, fix them.
Test Data: Carefully choose test data that exercises all branches of the logic.
F. Putting the Program into Production:
Deployment: After testing and correcting errors, the program is deployed.
Coordination: This may require coordinating with other software or systems to ensure
everything works smoothly.
1.2 Design Approach to Coding
Program Algorithm
Definition: An algorithm is a set of instructions or steps designed to perform a specific task.
Algorithms can range from simple operations (e.g., multiplying two numbers) to complex
processes (e.g., video compression or search engine ranking).
Key Points:
Algorithms are often created as functions in programming. These functions can be reused in
larger programs.
Example: An image viewing application might contain algorithms for rendering different image
formats, while an image editing program could include algorithms for tasks like cropping or
sharpening images.
Efficiency is key in algorithm design. The more efficient the algorithm, the faster the program
runs and the fewer system resources it consumes.
Programmers constantly optimize algorithms to improve the speed and efficiency of software,
often improving existing algorithms in software updates.
Designing an Algorithm/Solution to a Problem
To solve a problem with a program, there are two core components:
1. Data Organization: How the data is structured and stored in the computer's memory (this is
known as the data structure).
2. Sequence of Steps (Algorithm): The specific steps taken to solve the problem.
Program = Data Structure + Algorithm
Algorithm: A well-defined procedure to solve a problem by processing input data and
generating output.
Key Characteristics of an Algorithm:
o Step-by-Step: A clear sequence of instructions.
o Problem-Specific: Solves a particular problem.
8
Designing Program Logic
o Finite Time: The algorithm must complete in a finite amount of time.
Algorithm Development
Once the requirements are defined, the next step is to develop the algorithm to solve the problem.
A good algorithm should have the following attributes:
Precise and Unambiguous: No ambiguity in instructions or their order.
Correct: The algorithm should solve the problem as intended.
Finite: The algorithm must eventually finish and not run indefinitely.
Handles Exceptions: The algorithm should be able to deal with unexpected or edge cases.
Efficient: The algorithm should minimize time, memory, and other resource usage.
Methods for Algorithm Construction:
Flowchart: A visual representation of the algorithm.
Pseudo-code: A step-by-step description of the algorithm using simple English-like text.
Pseudo-code
Purpose: Pseudo-code helps plan and explain an algorithm in a way that is easier to understand
before translating it into actual code.
Key Points:
o High-Level Description: Uses simple English to describe the logic without worrying
about specific syntax or programming language.
o Not Executable: It cannot be compiled or run like a real program; it's just for human
understanding.
o Focus: It emphasizes solving the problem and planning the logic, rather than worrying
about programming details.
o Intermediary: Pseudo-code serves as a bridge between the conceptual algorithm and
the final program code.
Advantages of Pseudo-code:
9
Designing Program Logic
Common Uses:
Textbooks/Scientific Publications: Documenting algorithms.
Planning Stage: Sketching out the structure of a program before writing actual code.
Flowchart vs. Pseudo-code:
Flowchart: A visual diagram that illustrates the algorithm’s logic using symbols and arrows.
Pseudo-code: A written, step-by-step explanation of the algorithm, typically using plain English.
Both methods are used for planning and explaining program logic before coding begins. Pseudo-
code is often seen as the textual equivalent of flowcharting.
This pseudo-code calculates the bonus for an employee based on their salary and service years:
Explanation:
1. The program accepts the employee's Name and Salary.
2. It calculates the Bonus as 10% of the salary.
3. It checks if the Service Year is greater than 10 years.
o If yes, it adds 100 to the calculated Bonus.
4. Finally, it displays the Bonus.
10
Designing Program Logic
Example (Making Tea):
1. Organize everything together;
2. Plug in kettle;
3. Put teabag in cup;
4. Put water into kettle;
5. Wait for the kettle to boil;
6. Add water to cup;
7. Remove teabag with spoon/fork;
8. Add milk and/or sugar;
9. Serve.
Pseudo-code with Loop
A loop allows you to repeat certain actions until a condition is met. For example, if you need to
keep filling the kettle until it's full, the loop is used.
This loop will keep filling the kettle with water until the condition (the kettle is full) is met.
A selection allows you to make decisions in your program. It helps you choose between two or
more courses of action based on conditions.
Syntax (IF-THEN-ELSE):
If (<condition>)
Then <Statement>;
Else <Statement>;
EndIf;
Example (Adding Sugar to Tea):
If (Sugar is required)
Then add Sugar;
Else do nothing;
EndIf;
In this example, the program will check if sugar is required. If true, it adds sugar; otherwise, it
does nothing.
11
Designing Program Logic
Example 3: Pseudo-code to Calculate Grade
12
Designing Program Logic
Common Flowchart Symbols
Flowcharts use specific symbols to represent different types of actions or steps:
1. Terminator (Oval):
o Marks the beginning or end of a process.
o Example: Start or Stop.
2. Process (Rectangle):
o Represents a step or operation where data is processed.
o Example: Calculations, assignments.
3. Input/Output (Parallelogram):
o Represents input or output operations, such as reading data or displaying results.
o Example: Reading input, printing output.
4. Decision (Diamond):
o Represents a decision point or conditional check.
o Example: If-else conditions.
o A condition is checked, and the same task is repeated until a condition is satisfied.
o Example: Keep filling a kettle until it's full.
13
Designing Program Logic
Defining Diagram:
Input: number1, number2, number3
Processing: Add the numbers together.
Output: Total
Flowchart:
A simple flowchart for the process of getting out of bed in the morning:
Pseudo-code:
Find_average_temperature
Prompt operator for max_temp, min_temp
Get max_temp, min_temp
Avg_temp = (max_temp + min_temp) / 2
Output avg_temp to the screen
END
Defining Diagram:
Flowchart:
Flowchart Pseudo-code
Pictorial representation of an algorithm. Step-by-step description using plain English text.
Uses standard symbols for input, output, Uses programming-like structure with English keywords
decisions, etc. (e.g., if-else, for, while).
14
Designing Program Logic
Good for documentation and visualizing More suited for understanding logic and algorithm flow.
processes.
Focuses on the physical or logical steps of Describes an algorithm without focusing on actual coding
a task. syntax.
Graphical representation of the process. Text-based description of the process.
1. Sequence:
o Represents tasks performed one after another, without any decision-making or
repetition.
2. Decision (If-Else):
o A condition is tested (e.g., if a variable is greater than a threshold). Based on the result,
different actions are executed.
o Example: IF there's enough gas in the car, THEN drive to a friend's house; ELSE go to the
gas station.
3. Repetition (Loop):
o Repeats a task until a condition is met (e.g., keep filling a kettle until it's full).
Conclusion:
Flowcharts are a great tool to visualize the logical flow of processes or programs.
Pseudo-code is an effective text-based tool for describing algorithms, bridging the gap between
logic and implementation.
A Data Flow Diagram (DFD) is a graphical representation that illustrates how data moves
through a system. It helps in structuring the flow of data, identifying processes, and visualizing
the system's data transformations.
Key Points:
DFD represents the flow of data through an information system, and how the data is processed
and transformed by different components.
It is used for system design, analysis, and communication of processes in information systems.
DFDs provide a clear view of how the system operates from the data perspective, without
focusing on the physical implementation details.
15
Designing Program Logic
Diagrams the system or organization: Helps understand the data flow within a system or
organization.
Current and Proposed Situations: Can represent both the current and desired data flow states.
Facilitates analysis and design: Assists in identifying weaknesses and improving the system.
Bridges analysis to design: Helps move from understanding the system to designing its
components.
Enhances communication: Makes it easier to communicate with users and stakeholders
throughout the development process.
Types of DFDs
Context Diagram: Shows the system at a high level with just the inputs and outputs of the
system.
Level 0 Diagram: Breaks down the system into major sub-processes and shows the data flows
between them.
Child Diagrams (Level 1, Level 2, etc.): These are more detailed DFDs showing specific
processes, data stores, and flows, breaking down each sub-process further.
16
Designing Program Logic
o Represents external entities that interact with the system, either providing input or
receiving output.
o Sources supply data to the system; sinks receive data from the system.
o Labelled with noun phrases (e.g., "Customer", "Supplier").
Context Diagram
The Context Diagram is the highest level of a DFD, showing the system as a single process with
external entities interacting with it.
It shows how the system interacts with external entities (sources or sinks) and data flows.
Benefits:
o Simple and easy to understand.
o Shows the system boundaries and the external interactions.
Level 0 DFD
The Level 0 Diagram decomposes the system into major sub-processes, based on the context
diagram.
It also includes data flows between these processes, along with the external entities and data
stores.
Example: Food Ordering System
o External entities: Customer, Supplier, Kitchen, Manager.
o Data flows between external entities and the system’s processes.
o Multiple processes are identified, and data stores are introduced.
Level 1 DFD
Level 1 DFD breaks down each process from the Level 0 diagram into sub-processes.
Details:
o The system’s major processes are decomposed into smaller tasks.
17
Designing Program Logic
o Data stores and flows between them are shown with more specific detail.
Example: Food Ordering System (Level 1 DFD):
o Processes: Order Food, Generate Reports, Order Inventory.
o Data stores: Order Data Store, Inventory Data Store.
o External entities: Customer, Manager, Supplier.
Explanation:
Order Food process: Receives orders from customers, forwards them to the kitchen, and stores
data in the Order Data Store.
Generate Reports process: Generates reports for the manager using data from Inventory and
Order data stores.
Order Inventory process: Sends inventory orders to suppliers and updates the Inventory Data
Store.
1. Process:
o Can have multiple incoming and outgoing data flows.
o Can be connected to any other symbol (including other processes).
2. Data Flow:
o Indicates the direction of data movement between processes, data stores, and external
entities.
3. Data Store:
o Must have at least one incoming and one outgoing data flow.
o Represents stored data that can be accessed and updated.
Processes:
o Order Food: Receives orders, forwards to Kitchen, updates Order Data Store.
18
Designing Program Logic
o Generate Reports: Generates reports for Manager using data from Order Data Store
and Inventory Data Store.
o Order Inventory: Sends inventory orders to Supplier, updates Inventory Data Store.
1.2.2 Conclusion
DFDs are valuable tools for understanding, analyzing, and designing data-driven systems.
They provide a clear, visual representation of how data flows through a system, highlighting
processes, data stores, and external interactions.
The use of DFDs helps analysts and designers communicate system logic in a structured, easily
understandable way.
The HIPO diagram is a systems analysis and design technique that was popular in the 1970s. It
represents a system’s modules in a hierarchical structure and documents each module's functions.
It helps break down the system into manageable parts and show the control flow and processes.
Purpose: It is used for documenting the system’s modules and their functions, highlighting their
relationships in a hierarchical way.
Example: It shows the main system at the top and sub-systems or processes beneath it,
indicating how each module interacts with others.
19
Designing Program Logic
Inapplicable for Small Projects: The cost may be too high for simpler or smaller projects.
When to Use RAD:
When the system can be built in 2-3 months.
If there's high availability of designers and skilled developers.
When a quick prototype is needed, and customer feedback is critical.
Prototyping Model
The Prototype model involves developing a basic version of the system, called a prototype,
based on the currently known requirements. Users interact with the prototype to clarify and
refine their needs, and the system evolves with constant feedback.
Advantages of Prototyping:
Active User Involvement: Users interact with the system and provide feedback.
Early Error Detection: Errors can be found early, reducing the risk of issues later in the
development.
Quick Feedback: Immediate user feedback results in better solutions.
Identifying Missing Functionality: The prototype helps highlight any missing or confusing
functionality early on.
Disadvantages of Prototyping:
Slow Process: Developing a prototype can be time-consuming.
Incomplete Model: Prototypes are not fully functional and may lack key details.
Company Cost: Prototypes often need to be developed at the company’s cost before gaining
real user input.
When to Use Prototyping:
When the system requires significant interaction with the end users.
Best for online systems or systems with complex user interfaces where user feedback is critical.
Particularly useful for human-computer interaction systems or systems that need frequent
modifications based on user feedback.
1.2.5 CASE (Computer-Aided Software Engineering) Tools
Definition: CASE tools are specialized software tools used to assist with software development
and maintenance. These tools support various stages of the Software Development Life Cycle
(SDLC), from analysis to maintenance.
Components of CASE Tools:
1. Central Repository: A storage area for all relevant project documents, diagrams, and
specifications. It acts as a data dictionary.
Types of CASE Tools:
1. Classic CASE Tools: These are traditional development support tools like debuggers and
compilers.
2. Real CASE Tools: These tools support specific SDLC phases:
o Upper CASE Tools: Support the analysis and design phases.
o Lower CASE Tools: Support the coding phase.
o Integrated CASE (I-CASE): Support analysis, design, and coding phases.
Why Use CASE Tools?
Resource Savings: CASE tools help reduce the resources required for software development.
Faster Development: Tools streamline processes, reducing development time and bringing
products to market quicker.
Error Reduction: Easier identification of defects during development.
Better Standardization: CASE tools promote standardization and reuse of software components.
20
Designing Program Logic
Benefits of Using CASE Tools:
Shorter Time to Market: Automation and efficient tools reduce development time.
Fewer Defects: Early detection and correction of defects.
Easier Maintenance: Using standardized processes leads to easier software maintenance.
Increased Reusability: Standardized tools increase the chances of reusing software components.
Summary Comparison: RAD, Prototyping, and CASE Tools
Feature RAD Prototyping CASE Tools
Main Faster development and Active user involvement Efficiency, error reduction,
Advantage customer feedback and early error detection faster time-to-market
Disadvantages Requires skilled team, Incomplete models, slow High setup cost, steep
high cost process learning curve
Best Use Case Systems needing quick Systems requiring Long-term software
delivery extensive user feedback development and
maintenance
Phases Business, Data, Process, Prototype creation and Analysis, Design, Coding,
Application, Testing iteration Testing
Operation Title: Creating a Flowchart for the Proposal Development Process using Microsoft
Visio 2007 and 2010
Computer
Microsoft Visio 2007 and 2010
Edraw Max
Visual Paradigm Online
1. Start Visio.
2. Click the Flowchart category.
3. Double-click Basic Flowchart.
4. Drag a flowchart shape for each step in the process onto your drawing.
5. Connect the shapes:
o Hold the pointer over the first shape.
o Click the small arrow that appears and point to the next shape.
o If the second shape is not directly aligned, drag the connector and drop it onto the
second shape.
6. Add text to a shape or connector by selecting it and typing. Click a blank area when
finished.
21
Designing Program Logic
7. Change the direction of connectors by selecting the connector, then using the Shape tab
to adjust arrows and styles.
1. Open Visio:
o Click File Menu → New → Flowchart → Basic Flowchart → OK.
2. Drag and Drop Shapes:
o Refer to "Flowchart Shapes Representations" for correct symbols.
3. Connect Shapes:
o Click the Connector tool from the Standard toolbar.
o Drag from a connection point on the first shape to the next.
o The connector endpoints turn red when correctly connected.
4. Connecting One Shape to Many:
o Default connectors are set to Right-Angle.
o To change to Straight Connector:
Click Connector tool.
Drag from the central shape to multiple other shapes.
Right-click each connector and select Straight Connector.
5. Return to Normal Editing:
o Click Pointer Tool on the Standard toolbar.
6. Add Text:
o Select the shape or connector and type the text.
7. Reverse Connector Direction:
o Select the connection, then use Shape Menu → Operations → Reverse Ends.
Quality Criteria:
Ensure that the final product meets the required quality standards of proposal
development.
Lap Tests Instructions:
Using the given templates, tools, and materials, perform the following tasks:
Task 1: Recognize Symbols Used in a Flowchart and List Logical Process to Solve a
Problem
Identify different flowchart symbols and their meanings.
List the logical sequence to solve a given problem.
Task 2: Draw the Flowchart to Illustrate the Problem-Solving Process
Use Microsoft Visio to create a flowchart representing a structured problem-solving
approach.
Ensure clarity in shapes, connectors, and text annotations.
22
Designing Program Logic
Group Assignment: Systems Development Life Cycle (SDLC) and Program Logic Design
Module: Designing Program Logic
Chapter: 1 – Program Logic Design
Objective:
The objective of this group assignment is to ensure students understand the Systems
Development Life Cycle (SDLC), design documentation, and design approach coding by
applying theoretical concepts to practical scenarios.
Group Formation and Topics
Group 1: Systems Development Life Cycle (SDLC) Overview
Research and present the six phases of SDLC.
Provide real-world examples of software projects using SDLC.
Create a flowchart demonstrating the steps of SDLC using Microsoft Visio or any flowchart tool.
Group 2: Feasibility Study & Requirement Analysis
Explain Preliminary Investigation, including technical, economic, and operational feasibility.
Conduct a feasibility analysis for a hypothetical software project (e.g., student management
system).
Present your findings in a report and PowerPoint presentation.
Group 3: System Design & Coding Approach
Define design documentation and explain its importance.
Explain logical and physical system design using diagrams.
Use pseudo-code to design a simple inventory system.
Group 4: Implementation & Testing Phase
Explain the process of coding, debugging, and integration.
Discuss different software testing techniques (unit testing, system testing, user acceptance
testing).
Develop a small program in Python or Java to demonstrate unit testing.
Group 5: Deployment & Maintenance
Describe software deployment strategies (Phased, Parallel, Pilot, Direct).
Explain software maintenance types (Corrective, Adaptive, Perfective, Preventive).
Conduct a case study on a real-world software failure and propose maintenance strategies.
Deliverables & Evaluation
1. Written Report (5-7 pages) – Covering research, analysis, and examples.
2. Presentation (10-15 slides) – Summarizing key points with visuals.
3. Practical Task – Flowchart, pseudo-code, or small program demonstration.
4. Peer Review – Each group will evaluate another group's work.
Submission Deadline: 24/06/2017
Grading Criteria:20%
Content Accuracy (5%)
Presentation Clarity (5%)
Practical Application (5%)
Group Collaboration & Creativity (5%)
23
Designing Program Logic