0% found this document useful (0 votes)
11 views72 pages

SDLC and Program Logic Design Guide

The document outlines the Systems Development Life Cycle (SDLC) and its components, detailing the phases from preliminary investigation to maintenance. It emphasizes the importance of program logic design, algorithm development, and the use of pseudo-code in programming. Additionally, it highlights the benefits of SDLC in project management and the significance of clear documentation in software development.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views72 pages

SDLC and Program Logic Design Guide

The document outlines the Systems Development Life Cycle (SDLC) and its components, detailing the phases from preliminary investigation to maintenance. It emphasizes the importance of program logic design, algorithm development, and the use of pseudo-code in programming. Additionally, it highlights the benefits of SDLC in project management and the significance of clear documentation in software development.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

Mekdella College TVET Level III

Web Development and Database Administration

Module Title: Designing Program Logic


Module code: EIS WDDBA3 M04 0323

10/18/2025 Instructor Name: Lunyjock (BSc. Information Technology)


Unit One: program logic design
1.1. Systems development life cycle

 The systems development life cycle (SDLC) is a conceptual model used


in project management that describes the stages involved in an
information system development project, from an initial feasibility study
through maintenance of the completed application.
 SDLC can apply to technical and non technical systems.
 The method or approach that software engineers use in solving problems
in computer science is called Software Development Method.
 Another name that is commonly used for the software development
method is called Software Life Cycle.

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


The Software Life Cycle Has The Following Components.

 Preliminary investigation
 Analysis
 Design
 Implementation
 Deployment and Testing
 Maintenance

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


A. Preliminary investigation:

 The purpose of the preliminary investigation is to determine whether the problem


or deficiency in the current system really exists.
 The project team may re-examine some of the feasibility aspects of the project.
 Defining the problem:
 E.g. Examines documents, work papers, and procedures; Observe system
operations; interview key users of the system.
 Suggesting a solution:
 E.g. often improving an existing one or building a new information system.

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


Determine whether the solution is feasible.

 Technical Feasibility: Whether implementation is possible with the


available or affordable hardware, software and other technical
resources.
 Economic Feasibility: Whether the benefits of the proposed solution
outweigh the costs.
 Operational Feasibility: Whether the proposed solution is desirable
within the existing managerial and organizational framework.

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


 B. Analysis (Requirement gathering): In the analysis phase end user business
requirements are analyzed and project goals converted into the defined system
functions that the organization intends to develop.
 C. Design phase: In the design phase, we describe the desired features and
operations of the system.
 This phase includes business rules, pseudo-code, screen layouts, and other
necessary documentation.
 D. Implementation: In the implementation phase, the development team codes the
product.
 System performance is compared to performance objectives established during the
planning phase.
 Implementation includes user notification, user training, installation of hardware,
installation of software onto production computers, and integration of the system
into daily work processes.
Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025
 E. Deployment and Testing: When teams develop software, they code and
test on a different copy of the software than the one that the users have
access to.
 The software that customers use is called production, while other copies
are said to be in the build environment, or testing environment.
 F. Maintenance: In the maintenance phase, among other tasks, the team
fixes bugs, resolves customer issues, and manages software changes.
 In addition, the team monitors overall system performance, security, and
user experience to identify new ways to improve the existing software.

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


 Some benefits of SDLC:
 Increased visibility of the development process for all stakeholders
involved
 Efficient estimation, planning, and scheduling
 Improved risk management and cost estimation
 Systematic software delivery and better customer satisfaction

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


1.2. Design documentation
 The Design Document will be the starting point and in many cases you
should, do the Design Document before doing any of the actual work of
program.
 Program logic is the implementation of the program's requirements
and design.
 If the design of the application is bad, the program logic can
nevertheless be professionally implemented.
 Programming logic involves logical operations on hard data that
works according to logical principles and quantifiable results.
 The important distinction here is that programming logic, and logic in
general, is fundamentally set against other kinds of programming that
are not built on hard logic or quantifiable states and results.
Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025
 Programming logic in general rests on a foundation of computational logic
that is shared by both humans and machines, which is what we explore as we
continue to interact with new technologies.
 Generally,
 Program logic is a picture of why and how you believe a program or a policy
will work.
 Program logic demonstrates design & implementation of competence.
 Program logic provides a chain of reasoning that links investments with
results.
 Program logic is a series of “if-then” relationships that, if implemented as
intended, lead to the desired outcomes.

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


Logic model
 Logic models provide a kind of map for a program or initiative, helping
clarify a program or policy's destination, the pathways toward the
destination, and markers along the way.
In this consider:
 Where are you going?
 How will you get there?
 What will tell you that you have arrived?
 Logic models provide a simplified picture of the relationships between the
program activities and the desired outcomes of the program

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


 It is valuable in supporting:
 Program planning.
 Program implementation.
 Program monitoring.
 Program evaluation.
We also use a logic model to:
 Brings detail to broad goals.
 Helps identify gaps in program logic and clarify assumptions.
 Builds understanding and promotes consensus.
 Makes explicit underlying beliefs.
 Helps clarify what is appropriate to evaluate and when.
 Summarizes complex programs for effective communication
Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025
Program of requirements
 A specification of requirements or Program of Requirements is a document used in a
design or procurement process.
 The aim of a Program of Requirements is to lay down a clear framework for everyone
involved in the project so that everyone understands which criteria must be met.
 Hence, the program of requirements is an important guideline for the designers to ensure
that they deliver the desired result.
 Understanding the Programming Process.

There are about six programming phases:


A. Understand the problem
B. Plan the logic
C. Code the program
D. Use software to translate the program to machine language
E. Test the program
F. Deploy the program into
Instructor production
Name: Lunyjock (BSc. Information Technology) 10/18/2025
A. Understanding the problem
 May be the most difficult phase
 Users may not be able to articulate their needs well
 User needs may be changing frequently
 Programmers may have to learn the user's functional job tasks
 Failure to understand the problem is the major cause of most project failures
B. Planning the logic
 Plan the steps that the program will take
 Use tools such as flowcharts and pseudo code to depict or illustrate the
structure or steps of program.
 Flowchart: a pictorial representation of the logic steps
 Pseudo code: English-like representation of the logic
 Walk through the logic before coding by desk-checking the logic.

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


C. Coding the program:
 Select the programming language
 Write the instructions
D. Using software to translate the program into machine
language:
 Programmers write instructions in English-like high-level
languages
 Compilers or interpreters change the programs into low-level
machine language that can be executed
 Syntax errors are identified by the compiler or interpreter

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


E. Testing the program:
 Execute it with sample data and check results
 Identify logic errors and correct them
 Choose test data carefully to exercise all branches of the logic
F. Putting the program into production
 Do this after testing is complete and all known errors have been
corrected
 May require coordination with other related activities or software

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


1.3. Design approach coding
Program algorithm
 An algorithm is a set of instructions designed to perform a specific task. In computer
programming, algorithms are often created as functions.
 Search engines use proprietary algorithms to display the most relevant results from their
search index for specific queries.
 An image editing program may contain algorithms designed to process image data.
Examples of image processing algorithms include cropping, resizing, sharpening,
blurring, red-eye reduction, and color enhancement.
 Therefore, programmers usually seek to create the most efficient algorithms possible.
 By using highly efficient algorithms, developers can ensure their programs run as fast as
possible and use minimal system resources.
 Therefore, developers often improve existing algorithms and include them in future
software updates.
 When you see a new version of a software program that has been "optimized" or has
"faster performance," it most means the new version includes more efficient algorithms.
Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025
Designing an algorithm/ a solution to a problem

 A program is written in order to solve a problem. A solution to a problem


actually consists of two things.
 A way to organize the data.
 Sequence of steps to solve the problem.
 An algorithm is a well-defined computational procedure that takes some
values or a set of values as input and produces some values or a set of
values as output.
 An algorithm is a procedure for solving a problem in terms of the actions
to be executed and the order in which those actions are to be executed.
 An algorithm is, A step-by-step sequence of instructions.
 To solve a specific problem.
 In a finite amount of time.
Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025
Algorithm development
 Once the requirements of a program are defined algorithm development
is the next step.
 An algorithm is procedure for solving a problem in terms of the action
to execute (What to do) and the order in which these actions are
executed (done). An algorithm needs to be:
 Precise and unambiguous (No ambiguity in any instruction and in the
order of execution)
 Correct,
 Finite (has to have an end),
 Handles all exceptions,
 Efficient in time, memory and other resources,
Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025
Many different methods exist for constructing algorithms, (An
algorithm can be expressed in many ways).
Some of those methods are Flowchart and Pseudo-code.
 Pseudo code is defined as a step-by-step description of an algorithm.
Pseudo code is an important part of designing an algorithm; it helps the
programmer in planning the solution to the problem as well as the reader
in understanding the approach to the problem.
 Pseudocode is an intermediate state between algorithm and program
 It is an informal high-level description of the operating principle of a
computer program or other algorithm.
 English-like representation of a program (logic).
 It could be viewed as the outline of a program
 It can't be compiled or executed.
 The focus is on solving the problem, not worrying about the specifics of
a programming language.
Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025
 The programming language is augmented with natural language
description details, where convenient, or with compact mathematical
notation.
 The purpose of using pseudo code is that it is easier for people to
understand than conventional programming language code, and that
it is an efficient and environment-independent description of the key
principles of an algorithm.
 The advantage of pseudo coding is that if performed fully and
accurately a computer programmer can translate the Structured
English directly to computer code.
 Programmers may resist pseudo code that dictates how to solve the
problem.

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


Advantages of Pseudo code
 Improves the readability of any approach.
 It's one of the best approaches to start implementation of an algorithm.
 Acts as a bridge between the program and the algorithm or flowchart.
 Also works as a rough documentation, so the program of one developer can be understood easily when a
pseudo code is written out.
 In industries, the approach of documentation is essential.
 And that's where a pseudo-code proves vital.
 The main goal of a pseudo code is to explain what exactly each line of a program should do, hence
making the code construction phase easier for the programmer.

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


Example1. A pseudo-code to calculate bonus
 ACCEPT Name, Salary ACCEPT Service year
 Bonus=Salary x 0.1 IF Service year> 10 Then
 Bonus + 100
DISPLAY Bonus
 ENDIF
Example 2. A pseudo-code to calculate interest rate
 ACCEPT Name, Principal, Rate
 Interest = Principal x Rate
 DISPLAY Name, Interest
 When we write programs, we assume that the computer executes the program
starting at the beginning and working its way to the end.
 We call this sequence

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


SEQUENCE is a linear progression where one task is performed sequentially after
another.
 In pseudo code it look like this • Plug in kettle;
• Put teabag in cup;
 Statement 1; • Put water into kettle;
 Statement 2; • Wait for bottle to boil;
 • Add water to cup;
Statement 3;
 Statement 4;
 Statement 5;
Remove teabag with spoon/fork/;
For example, for making a cup of tea: • Add milk and /or sugar;
 Organize everything together; • Serve

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


 WHILE is a loop (repetition) with a simple conditional test at its beginning or in
general
 As we could state this as:
 While (<condition>)  While (Kettle is not full)
 Do <Statements>;  Do keep filling Kettle;
 EndWhile
 EndWhile;

What if we want to make a choice, for example, do we want add sugar or not to the tea?
We call this selection.
 IF-THEN-ELSE is a decision (selection) in which a choice is made between two alternative courses of
action or in general:
• If (Sugar is required)
 If (Statement); • Then add Sugar;
 Then (statement); • Else do nothing;
 • EndIf;
Else(statement) ;
 EndIf;
Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025
 Example3. A pseudo-code that calculates grade hint Grade A>=80, B>=60, C>=50,
D>=40, F<40
 ACCEPT Mark, Name
 IF Mark>80 Then
 Grade A
 ELSE IF Mark >60 Then
 Grade B
 ELSE IF Mark >50 Then
 Grade C
 ELSE IF Mark >40 Then
 Grade D
 ELSE
 Grade F
 ENDIF
 Display Grade, Name
Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025
Flowcharts
 A flow chart is a graphical or symbolic representation of a process
(Pictorial representation of a program).
 Each step in the process is represented by a different symbol and contains
a short description of the process step.
 The flow chart symbols are linked together with arrows showing the
process flow direction.
 In other word Flowchart is pictorial representation of the logic & the
purpose of flowcharts is to represent graphically the logical decisions and
progression of steps in the physical completion of a task.
 As such, flowcharts are the lowest level of decomposition.

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


 In a large system the flow charting steps may be complex and the
analyst may choose to represent the system with algebra, structured
English or pseudo code, or some type of decision tree or decision table.
 Before beginning the flow charts, the analyst must have a complete
understanding of the entire process and participants (context level), the
subroutines and their interdependencies (level-n diagrams), the data
(data dictionary, inputs/outputs) and transformation of data (DFDs).
 The system flowchart represents the physical system; while the
flowcharting at the end of process decomposition represents the logical.
Can be created with pencil and paper, Microsoft Word, PowerPoint, and
Visio etc.

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


Symbol set
 There are seven commonly used symbols in flowcharting.
 However, be aware that people can create their own symbol set.
 The most common symbols that can be used to represent the main concept include:
I. Terminator: marks the beginning and end of a flowchart.
II. Process: indicates that an operation changed or manipulated the data in some way.
III. Data or input/output: an operation that inputs or outputs data.
IV. Decision: a logical decision point (e.g., if, then; true/false).

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


VI. On-page connector: the logic continues at another place on the same
page.
VII. Off-page connector: the logic continues on a different page.
VIII. Predefined process: a predefined process or subroutine (similar to a
predefined function or process in database programming).
 As a general rule, a flowchart has a single entry and exit point.
 In procedural programming it is fairly easy to create such charts but Object
oriented programming, on the other hand, can become completed very
quickly and using single-entry, single-exit logic may be difficult, at times
impossible.
 As a consequence, another kind of language has developed, Uniform
Modeling Language (UML).

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


Six basic flowchart shapes

 Terminal symbol -Indicates the beginning or end of a program

 Input/output symbol- Represents information coming into a


program or going out of a program.

 Processing symbol- Shows calculations that a program must


do

 Diamond symbol represents decision- that a program must


make

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


 The circle is for connecting parts of the flowchart to other parts. This is especially Useful if the
flowchart covers more than one page.

 Flow lines connect the shapes within a flowchart.

Sequence: A decision block implies IF-THEN-ELSE.


A condition (“it's the case that something is true …”, or “while x is true …”) is
tested: if the condition is true, the logic associated with the “THEN” branch is
performed while the ELSE block is skipped. I
f the condition is false, then the ELSE logic is executed and the THEN logic is
skipped.

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


For example, “IF there's enough gas in the car (condition), THEN (true) I'll drive to
my friends‟ house; ELSE (false, not enough gas) I'll go to the gas station.
Sometimes the if/then are nested in other if/then conditions: If there's enough gas
in the car, I'll go to my friend's house; if I don't reach there by noon, I'll stop at a
restaurant along the way.

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


 Example :- A program is required to prompt the terminal operator for the
maximum and minimum temperature readings on a particular day, accept
those readings as integers, and calculate and display to the screen the
 Average temperature, calculated by (maximum temperature +
minimum temperature)/2.
Defining the Diagram
INPUT PROCESSING OUTPUT
• Max_temp • Prompt for temperatures • Avg_temp
• Min_temp • Get temperatures
• Calculate average temperature
• Display average temperature

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


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

 Flow chart

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


DFD’s (Data Flow Diagram)
 The Data Flow Diagram (DFD) is a graphical representation of the flow
of data through an information system.
 A structured analysis technique that employs a set of visual representations
of the data that moves through the organization, the paths through which
the data moves, and the processes that produce, use, and transform data.
 It enables you to represent the processes in your information system from
the viewpoint of data.
 The DFD lets you visualize how the system operates, what the system
accomplishes and how it will be implemented, when it is refined with
further specification.
 Data flow diagrams are used by systems analysts to design information-
processing systems but also as a way to model whole organizations.
Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025
Why Data Flow Diagrams?

 Can diagram the organization or the system


 Can diagram the current or proposed situation
 Can facilitate analysis or design
 Provides a good bridge from analysis to design
 Facilitates communication with the user at all stages

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


Types of DFDs
 Current - how data flows now
 Proposed - how we'd like it to flow
 Logical - the “essence” of a process (i.e. implementation-independent and
describe the system, rather than how activities are accomplished.)
 Physical - the implementation of a process (i.e. are implementation-
dependent and describe the actual entities (devices, department, people,
etc.) involved in the current system.)
 Partitioned physical - system architecture or high-level design

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


Levels of Details

 Context Diagram- Shows just the inputs and outputs of the system
 Level 0 Diagram- Decomposes the process into the major sub processes
and identifies what data flows between them
 Child diagrams- Increasing levels of detail (i.e. Level 1, Level 2 etc)

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


Process
 Work or actions performed on data (inside the system)
 Labels should be verb phrases
 Receives input data and produces output

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


Data Flow Deposit
 Is a path for data to move from one part to another.
 Arrows depicting movement of data.
 Can represent flow between process and data store by two separate
arrows.

Data Store
 Is used in a DFD to represent data that the system stores.
 Labels should be noun phrases.

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


Data Store

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


Source/Sink (External Entity)
 External entity that is origin or destination of data (outside the system
 Labels should be noun phrases
 Source –Entity that supplies data to the system
 Sink –Entity that receives data from the system

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


Context Level Diagram
 A context diagram is a data flow diagram that only shows the top
level, otherwise known as Level 0.
 At this level, there is only one visible process node that represents
the functions of a complete system in regards to how it interacts with
external entities.
Some of the benefits of a Context Diagram are:
 Shows the overview of the boundaries of a system
 No technical knowledge is required to understand with the simple
notation
 Simple to draw, amend and elaborate as its limited notation

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


Level 0 Diagram

 Process is “exploded”
 Sources, sinks, and data flows repeated from context diagram
 Process broken down into sub processes, numbered sequentially
 Lower-level data flows and data stores added

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


Level 1 DFD
The level 1 DFD, which is the decomposition (i.e. break down) of the
Food Ordering System process shown in the context DFD.
 Read through the diagram and then we will introduce some of the
key concepts based on this diagram.

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


Hierarchy Input Process Output Diagram (HIPO)
 It is a systems analysis design aid and documentation technique from the
1970s, used for representing the modules of a system as a hierarchy and for
documenting each module.
 It is a hierarchy chart that graphically represents the program's control the
functions (or processes) performed by each module on the system.

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


RAD

 What is RAD model- advantages, disadvantages and when to


use it?
 RAD model is Rapid Application Development model.
 It is a type of incremental model.
 In RAD model the components or functions are developed in
parallel as if they were mini projects.
 The developments are time boxed, delivered and then assembled
into a working prototype.
 This can quickly give the customer something to see and use and to
provide feedback regarding the delivery and their requirements.

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


The phases in the rapid application development (RAD) model are :
 Business modeling: The information flow is identified between various
business functions.
 Data modeling: Information gathered from business modeling is used to
define data objects that are needed for the business.
 Process modeling: Data objects defined in data modeling are converted to
achieve the business
 information flow to achieve some specific business objective. Description
are identified and created for CRUD of data objects.
 Application generation: Automated tools are used to convert process
models into code and the actual system.
 Testing and turnover: Test new components and all the interfaces.

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


Diagram of RAD-Model:

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


Advantages of the RAD model:
 Reduced development time.
 Increases reusability of components
 Greater customer satisfaction
 Encourages customer feedback
 Faster delivery time
 simple and better quality

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


Disadvantages of RAD model:
 Depends on strong team and individual performances for identifying business requirements.
 Only system that can be modularized can be built using RAD
 Requires highly skilled developers/designers.
 It is not appropriate when technical risk is high
 High dependency on modeling skills
 Inapplicable to cheaper projects as cost of modeling and automated code generation is very
high.
When to use RAD model:
 RAD should be used when there is a need to create a system that can be modularized in 2 3
months of time.
 It should be used if there's high availability of designers for modeling and the budget is high
enough to afford their cost along with the cost of automated code generating tools.
 RAD model should be chosen only if resources with high business knowledge are available
and there is aName:
Instructor need to produce
Lunyjock theTechnology)
(BSc. Information system in a short span of time (2-3 months). 10/18/2025
Prototyping
 What is Prototype model- advantages, disadvantages and when to
use it?
 This prototype is developed based on the currently known requirements.
 By using this prototype, the client can get an “actual feel” of the system, since the
interactions with the prototype can enable the client to better understand the
requirements of the desired system.
 Prototyping is an attractive idea for complicated and large systems for which there is
no manual process or existing system to help determining the requirements.
 The prototypes are usually not complete systems and many of the details are not built
in the prototype.
 The goal is to provide a system with overall functionality.

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


Advantages of Prototype model
 Users are actively involved in the development
 Errors can be detected much earlier.
 Quicker user feedback is available leading to better solutions.
 Missing functionality can be identified easily
 Confusing or difficult functions can be identified
Disadvantages of Prototype model:
 It's a slow in process
 It's not complete model
 It is time consuming model
 It should be developed or built on company's cost
Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025
When to use Prototype model:
 Prototype model should be used when the desired system needs to have a lot
of interaction with the end users.
 Typically, online systems, web interfaces have a very high amount of
interaction with end users, are best suited for Prototype model.
 It might take a while for a system to be built that allows ease of use and
needs minimal training for the end user.
 Prototyping ensures that the end users constantly work with the system and
provide a feedback which is incorporated in the prototype to result in a
useable system.
 They are excellent for designing good human computer interface systems.

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


Case Tools
 CASE (computer-aided software engineering) tools have been widely
in use since the 1990's.
 They are specialized, computerized tools that aid in the design,
development and maintenance of software.
 The term CASE was originally coined by software company,
Nastec Corporation of Southfield, Michigan in 1982 with their original
integrated graphics and text editor GraphiText.
Many different definitions of CASE tools exist, below are just a few of
those:
Galin - CASE tools are computerized software development tools that
support the developer when performing one or more phases of the
software life cycle and/or support software maintenance.
Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025
Components of CASE Tools
 CASE tools can be broadly divided into the following parts based
on their use at a particular SDLC stage:
 Central Repository - Central repository is a central place of storage
where a product specification, requirement documents, related
reports and diagrams, other useful information regarding
management is stored.
 Central repository also serves as data dictionary.

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


Central repository also serves as data dictionary.
Based on their use at a particular SDLC stage:

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


Types of CASE tools
 Classic CASE tools - established software development support tools (e.g.
interactive debuggers, compilers, etc.)
 Real CASE tools - can be separated into three different categories,
depending on where in the development process they are most involved in:
 Upper - support analysis and design phases
 Lower - support coding phase
 Integrated - also known as I-CASE support analysis, design and coding
phases
 Upper and lower CASE tools are named as such because of where the
phases they support are in the Waterfall Model (see below)

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


 Types of CASE Tools

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


Why we use CASE tools?
CASE tools offer:
 Savings in resources required for software development - with less
 Quicker development phase (i.e. shorter time to market)
 Reduction of generation of defects
 Easier identification of defects during development
 Savings in maintenance resources required
 Greater standardization of software systems and therefore increased reuse
possibilities

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


i o n.

d e nt
E n tt
h e r A
T y o u
fo r
y o u
nk
ha
T

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


Mekdella College TVET Level III
Web Development and Database Administration

Module Title: Designing Program Logic


Module code: EIS WDDBA3 M04 0323

10/18/2025 Instructor Name: Lunyjock (BSc. Information Technology)


Unit Two: program logic Documentation
2.1. Project planning standards
 Project planning standards are set to attain the project goals.
 Project planning standards may obviously vary from project to
project, but the goals are usually the same: to complete the project
within the timeframe and without exceeding the allotted resources.
 Any effective project planning standards must lay down project
management methodologies, provide a step-by-step guide and
inputs for setting standards for project management, facilitate
project reporting, and offer required documentation throughout
the tenure of the project.
Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025
Setting Standards for Project Management and Creating
a Project Plan

 Project planning standards should be able to clearly


define general project activities and address the
specific requirements of individual projects.
 The project standards should provide adequate details
to ensure all team members can identify project
objectives and relate to their fulfillment.

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


 Project planning standards must take into account the overall
project management system, its merits and limitations, define
goals of the project, organize the information system with easy
identification of project objectives and also plan for bridging a
system network to monitor and control the projects efficiently.
 Organizations that have to manage multiple projects through
effective collaboration and coordination should establish
planning standards for coordinating and managing the various
projects.

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


 The project planning standards for coordinating multiple projects
should outline procedures for project prioritization, resource
utilization, and project status updating and reporting.
 Project Planning Standards - Parameters and Applications
 Project planning standards, for them to be true to the definition,
should include features such as:
 Quality Assurance Necessities
 Risk Management Plan

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


 Security Measures
 Testing Techniques
 Documentation and Portfolio Requirements
 Project planning standards should also include configuration
management standards aimed at minimizing disruptions that
affect a project management system and ensuring smooth flow
of project progress.

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


 Finally, care must be exercised to ensure that
documentation standards comprehensively cover all
details, system methodologies, and technological
resources.
 Documentation is critical for helping the team members to
periodically review and modify the technology
applications, system operability, and standard project
management procedures whenever necessary.

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


2.2. Documentation of Project scope
 The purpose of a scope and limitations statement is to provide an outline of what
your project will address and what it won’t address.
 A project scope document, sometimes called a scope of work (SOW), is a critical
piece of project
 paperwork that gets teams and stakeholders aligned on the boundaries of a project
before it even begins.
 A well-defined scope document can save you from major headaches by defining the
following project elements:
 Project goals
 Requirements
 Major deliverables
 Key milestones
 Assumptions
 Constraints

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


2.3. Project scope statement
 A scope of work (SOW) document is an agreement on the work you're
going to perform on the project.
 The list of possible elements you should consider adding to your project
scope statement.
 Business case and goals:
 Project description and deliverables
 Acceptance criteria
 Limitations
 Assumptions
 Exclusions
 Costs:
 Agreements

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025


i o n.

d e nt
E n tt
h e r A
T y o u
fo r
y o u
nk
ha
T

Instructor Name: Lunyjock (BSc. Information Technology) 10/18/2025

You might also like