CHAPTER THREE
SOFTWARE PLANNING AND ANALYZING
3.0 INTRODUCTION
Software: in its most general sense, is a set of instructions or programs
instructing a computer to do specific tasks, Software is a generic term used to
describe computer programs. Scripts, applications, programs and a set of instructions
are the terms often used to describe software, The word software was first used by
John Turkey in 1958. The theory of software was first proposed by Alan Turing in
1935. Software is often divided into three categories:
1) System software serves as a base for application software. System software
includes device drivers, operating systems (OSs), compilers, disk formatters,
text editors and utilities helping the computer to operate more efficiently
2) Programming software is a set of tools to aid the developers to write programs
the various tools available are compilers, linkers, debuggers, interpreters and text
editors.
24
[Link] software is intended to perform certain tasks. Examples of application
software include office suites, gaming applications, database systems and educational
software. (software, n.d.)
Planning: A basic management function involving formulation of one or
more detailed plans to achieve optimum balance of needs or demands with the
available resources. (definition/[Link], n.d.) Software Analyses is Software
analysis patterns or analysis patterns in software engineering are conceptual models,
which capture an abstraction of a situation that can often be encountered in
modeling. (Software_ analysis_pattern, n.d).
This chapter will include the following sections: Introduction, Operational
Framework, Work Break down structure (WBS), System Requirement, Problem
Analysis Identification, Requirements Gathering Techniques, Process Modeling,
Data Modeling, Suitable solution Strategies of the proposed system, System
Feasibility and Chapter Summary.
3.1 OPERATIONAL FRAMEWORK
The Operational Framework starts planning , proposal, chapter one introduction,
chapter two literature review, chapter three software planning & analyzing chapter
four software design, chapter five system implementation and finally chapter six
conclusions & enhancement
25
Initialization and planning
Phase one
Literature Review
Data gathering
Interview Observation
Phase Two
Analyzing
DESIGNING PROTOTYPE
NO
System
Acceptan
Phase Three ce
YES
Test the Prototype
Report writing
26
Figure 3. 1 Operation Frame Work
3.2 WORK BREAK DOWN STRUCTURE (WBS)
A work breakdown structure (WBS) is a visual, hierarchical and deliverable-
oriented deconstruction of a project. It is a helpful diagram for project managers
because it allows them to work backwards from the final deliverable of a project and
identify all the activities needed to achieve a successful project.
All the steps of a project are outlined in the organizational chart of a work
breakdown structure, which makes it an essential project management tool for
planning and scheduling. The final deliverable rests on top of the diagram, and the
levels below subdivide the project scope to indicate the phases, deliverables and
tasks that are needed to complete the project.
Project managers make use of project management software to lay out and execute a
work breakdown structure, When used in combination with a Gantt chart that
incorporates WBS hierarchies, project management software can be especially
effective for planning, scheduling and executing projects.
A) WBS PRODUCT
Admin
Costumer Booking
Wedding hall booking
and reservation
management system
Payment
27
Figure 3. 2 WBS
B) WBS PROCESS
Specification
Development
Validation
Implementation
Figure 3. 3 Work Break down Structure (WBS) Process
3.3 SYSTEM REQUIREMENT
System requirement is a characteristic or feature that must be include in any
information system to satisfy users. Since the Administrator and the users are the
main target collection of our software, I will only concern about some important
functions for the admin and the user, the system needs Applications like web
browsers safari, Mozilla Firefox, Google chrome and internet connection, they
include the following interfaces:
a) User Interfaces: The keyboard, mouse, menus of a computer system. The
user interface allows the user to communicate with the operating system.
28
b) Software Interfaces: The languages and codes that the applications use to
communicate with each other and with the hardware.
c) Hardware Interfaces: The wires, plugs and sockets that hardware devices use
to communicate with each other, computer systems, or any other medium of
communication. A physical interface is the interconnection between two
items of hardware or machinery.
3.3.1 SOFTWARE REQUIREMENT SPECIFICATION
One of the critical success factors in the development of high quality software
product or website is the deep understanding of the user’s real requirement as
opposite to their perceived requirements. This will make the product very easy to
develop, maintain, and to use the software properly by the end users.
User requirement is the process by which user desires, needs, and
expectations are gathered in order to establish what the users will actually use the
software for, and recorded in a way that will be meaningful both to the users and
developments,(Robert, 1984).
[Link] SOFTWARE REQUIREMENTS
A software requirements specification (SRS document) describes how a
software system should be developed. Simply put, an SRS provides everyone
involved with a roadmap for that project.
It offers high-grade definitions for the functional and non-functional specifications of
the software, and can also include use cases that illustrate how a user would interact
with the system upon completion. One of the critical success factors in the
development of high-quality software product or website is the deep understanding
of the user’s real requirement as opposite to their perceived requirements. This will
make the product very easy to develop, maintain, and to use the software properly by
the end users.
29
Table 3. 1 Software Requirements
Operating System : Macintosh, Linux, Windows Xp,7,8,8.1, 10,11
Front End : PHP
Back End : MYSQL
[Link] HARDWARE REQUIREMENT
Table 3. 2 Hardware Requirement
1 Computer Toshiba
2 Corei3 or Corei5
3 4GB or 8GB RAM
4 500 or 1 TB hard disk
3.3.2 USER REQUIREMENTS DEFINITION
A document that defines what a proposed system must be capable of doing to
solve the problems of a defined set of potential users of such a system. The user
requirements specification should be completely independent of any solution-
oriented bias and must use terminology from the problem domain of the users. It
must be understandable by the intended users who must “buy in” to it.
Therefore it is most unlikely to be created using a conventional requirements-
analysis method, since these introduce solution bias, representations, and concepts
that are rarely understood by (and are irrelevant to) the users (user-requirements,
2017).
30
A customer cannot demand features not in the user requirement document
(URD), while the software developer cannot complete and ready if it does not meet
even one item of the user requirement document (URD).
3.4 PROBLEM ANALYSIS IDENTIFICATION
After observing the current process of wedding hall booking and reservation
management system in detail, it has been identified that the system has several issues
that need to be addressed. One major problem is the lack of an efficient and user-
friendly platform for users to easily book and manage the reservations. This leads to
a cumbersome process of manual booking and communication with the wedding hall
staff, which can be time-consuming and error-prone.
Another issue is the lack of a centralized database that stores all the necessary
information about the wedding hall, such as availability, pricing, and amenities. This
makes it difficult for customers to compare and choose between different options,
leading to confusion and delays in the booking process.
ADMIN PROBLEM
No direct role for the management.
Lack of efficient and useful reports.
PROCEDURAL PROBLEM
Manual tracking of due Projects.
No multiple accesses at the same time.
TECHNICAL PROBLEM
Lack of centralized storage and backup.
31
Time consuming.
Lack of security of data
3.5 REQUIREMENTS GATHERING TECHNIQUES
Requirements gathering techniques are a process of collecting data from
different sources. Data or (datum in singular) is valuable pieces of information
collected during the research. Data can be divided in to two categories: primary data
and secondary data. In this research, the primary data comes from observation to the
respondents. First, the observation will be carefully evaluated and to ensure its
validity and reliability by pilot test(chimer, 1984).
There are various methodologies for gathering data as the following:
Interviews
Observations
3.5.1 INTERVIEW
An interview is a formal face-to-face meeting, especially, one arranged for
the assessment of the qualifications of an applicant, as for employment or admission.
A conversation, as one conducted by a reporter, in which facts or statements are
elicited from another, the interview is the primary technique for information
gathering during the systems analysis phases of a development project. It is a skill
which must be mastered by every analyst. The interviewing skills of the analyst
determine what information is gathered, and the quality and depth of that
information. Interviewing, observation, and research are the primary tools of the
analyst.
32
The interview is a specific form of meeting or conference, and is usually
limited to two persons, the interviewer and the interviewee. In special situations there
may be more than one interviewer or more than one interviewee in
attendance(martymodel, 2017).
[Link] ADVANTAGES OF INTERVIEW
The main advantage of interviews is that the researcher (interviewer) can
adapt the questions as necessary, clarify doubt and ensure that the responses are
properly understood, by repeating or rephrasing the questions, The
researcher/interviewer can also pick up nonverbal cues from the respondent, Any
discomfort, stress and problems that the respondent experiences can be detected
through frowns, nervous taping and other body language,
This would be impossible to detect in a telephone interview. So face-to-face helps
the interviewee to get the desired results and help them the expression of the person
to whom they are interviewing.
By reading the facial expression of the respondent the interviewer can easily
understand what the respondent want to tell them about anything (answers-yahoo,
2017) .
[Link] DISADVANTAGES OF INTERVIEW
The main disadvantages of face-to-face interviews are the geographically
limitations they may impose on the surveys and the vast resources needed if such
surveys need to be done nationally or internationally. The costs of training
interviewers to minimize interviewer's biases for example differences in questioning
methods, interpretation of response are also high, Another drawback is that
respondents might feel uneasy about the anonymity of their responses when they
interact face to face interviews(somuiger, 1984).
33
3.5.2 OBSERVATION
An observation is a data collection method used to gather detailed
information about a situation or event. Observation data is used to describe the
setting, activities, participants, and the meaning of the observations from the
observer's perspective. Observation in this project will be based on facts which are
both accurate and detailed, but left any irrelevant or slight information that makes the
description difficult to understand.
This data allows the reader to fully understand the situation.
[Link] ADVANTAGES OF OBSERVATION
a) Allows you to directly see what people do practically rather than relying on
what people say they did.
b) Observer’s document program activity takes time and cost gathering
providing documentation, rather than relying on recollections of the
events(amilner, 1984).
[Link] DISADVANTAGES OF OBSERVATIONS
a) Observer bias may occur. (Observer may only notice what interests him or
her).
b) With participant’s observation, a skilled facilitator is needed to help
participants present a critical evaluation.
34
3.6 PROCESS MODELING
A process model is a formal way of representing how a computer system
operates. It illustrates the processes or activities that are per-formed and how data
move among them. A process model can be used to document the current system (i.e.
as-is system) or the new system being developed (i.e. to-be system). Whether
computerized. Process modeling is the process and analysis of data and objects that
are used in business or other context and identification of the relationship among
these data objects.
Data modeling is a first step in doing object oriented Programming and
involves professional data modelers working closely with business stakeholders, as
well as potential users of information system(sigened, 1984).
3.6.1 DATA FLOW DIAGRAM (DFD)
Data Flow Diagrams show information transfers and process steps of a
system. The general concept is an approach of a depicting how occurs input in a
system, further processes and what runs out. The aim of DFD is in accomplishing of
understanding between developers and users. Data flow diagrams are maintained
with other methods of structured systems analysis.
A data flow diagram (DFD) illustrates how data is processed by a system in
terms of inputs and outputs. As its name indicates its focus is on the flow of
information, where data comes from, where it goes and how it gets stored:
Graphical representation of the "flow" of data through an information system
Modeling process aspects
An overview of the system
For the visualization of data processing (structured design)
What kinds of information will be input to and output from the system
35
Where the data will come from and go to
Where the data will be stored.(conceptdraw, 2017).
DATA FLOW DIAGRAMS NOTATIONS:
The Data Flow Diagrams solution from the Software Development area of
Concept Draw Solution Park provides three vector stencils libraries for drawing DFD
using the Concept Draw PRO diagramming and vector drawing software, The design
elements library Data flow diagram (DFD) contains 15 data flow diagram symbols
for drawing both context-level data flow diagram and Level 1 DFD.
The design elements library DFD, Ganesa’s notation contains 12 data flow
diagram symbols of Ganesa’s DFD notation.
The design elements library DFD, Yourdon and Coad notation contains 22 data flow
diagram symbols of Yourdon/DeMarco DFD notation(conceptdraw, 2017).
Process
Data Storage
External Entity
Data Flow
Figure 3. 4 UCD
3.6.2 UNIFIED MODELING LANGUAGE (UML)
UML stands for Unified Modeling Language, UML is a way of visualizing a
software program using a collection of diagrams. The notation has evolved from the
36
work of Grady Booch, James Rumbaugh, Ivar Jacobson, and the Rational Software
Corporation to be used for object-oriented design, but it has since been extended to
cover a wider variety of software engineering projects. Today, UML is accepted by
the Object Management Group (OMG) as the standard for modeling software
development (draw, 2017).
The key to making a UML diagram is connecting shapes that represent an
object or class with other shapes to illustrate relationships and the flow of
information and data. To learn more about creating UML diagrams (draw, 2017).
TYPES OF UML DIAGRAMS
The current UML standards call for 13 different types of diagrams: class,
activity, object, use case, sequence, package, state, component, communication,
composite structure, interaction overview, timing, and deployment, These diagrams
are organized into two distinct groups: structural diagrams and behavioral or
interaction diagrams(draw, 2017).
[Link] USE CASE DIAGRAM (UCD)
A use case is a methodology used in system analysis to identify, clarify, and
organize system requirements. The use case is made up of a set of possible sequences
of interactions between systems and users in a particular environment and related to a
particular goal.
It consists of a group of elements (for example, classes and interfaces) that
can be used together in a way that will have an effect larger than the sum of the
separate elements combined(techtarget, 2017).
37
A use case diagram shows you some of the use cases in your system, some of
the actors in your system, and the relationships between them. A use case is a high –
level piece of functionality that the system will provide. An actor is anyone or
anything that interacts with the system being built.
Use case diagram is done in an early phase of a software development
project. The use case diagram describes the use case (functions of the system),
Actors (users) and the relationship between the actors and the use case is connective
HERE ARE THE SYMBOLS OF UCD:-
Figure 3.5 UML+
Actor Connector Use case System
Log in
Service
Payments
User
Admin
Costumer
Report
Figure 3. 5 Use Case Diagram
38
3.7 DATA MODELING
Data modeling is the analysis of data objects and their relationships to other
data objects, Data modeling is often the first step in database design and object-
oriented programming as the designers first create a conceptual model of how data
items relate to each other. Data modeling involves a progression from conceptual
model to logical model to physical schema(webo, 2017).
Data modeling is the process and analysis of data and objects that are used in
business or other context and identification of the relationship among these data
objects. Data modeling is a first step in doing object-oriented Programming and
involves professional data modelers working closely with business stakeholders, as
well as potential users of information system (lucidchart, 2107).
3.7.1 ERD Diagram
An entity-relationship (ER) diagram is a specialized graphic that illustrates
the interrelationships between entities in a database. ERD show entities in a database
and relationships between tables within that database. It is essential to have one of
these if you want to create a good database design. The patterns help focus on how
the database actually works with all of the interactions and data flows, although
another useful tool is a Data Flow Diagram (DFD) which more directly describes
this. ERD is a detailed, logical representation of the entities, associations and data
elements for an organization or business. ERD is a graphical modeling tool to
standardize ER modeling; the modeling can be carried out with the help of pictorial
representation of entities, attributes and relationships (lucidchart, 2107).
The basic building blocks of ERD are Entity, Attributes, Relationship and
lines entity is an object that exists and is distinguishable from other object in other
words Entity types or Entity set is a collection of similar entities; an entity may
39
belong to more than one entity type. A relationship is an association of entities where
the association includes one entity from other particular types is meaningful
association before entity types. Attributes are properties of entity types in other
words; entities are described in a data base by a set of attributes (Peter Pin-Shan
Chen, 1976).
[Link] ERD Symbols
The ERD is used to represent database schema, here are some symbols used to
represent ERD Symbols:
A rectangle represents an Entity.
An Ellipse represents an attribute.
A diamond represents a relationship
Lines represent linking of attributes to entity sets & of entity sets to
relationship sets.
Line
Attribute
Entity Relationship
Figure 3. 6 ERD
40
[Link] TYPES OF RELATIONSHIP
Relationship is an association among one or more entities, This relationship can
be broadly classified into one-to-one relation, one-to-many relation, many-to-many
relation:
One to many Relationship Type: Abbreviated 1:M, the relationship that
associate one entity to more than one entity is called one to many
relationship: - Example is country having states for one country there can be
more than one states hence is an example one to many relationships.
One to one Relationship Type: Abbreviated 1:1, one to one relationship is a
special case of one to many relationships. True one to one relationship is rare.
The relationship between the president and Country is an example is one to
one relationship.
Many to Many Relationship Type: Abbreviated M: M, the relationship
between EMPLOYEE entity and PROJECT entity is an example of many to
many relationships. Many employees will be working in many projects hence
the relationship between employee and project is many to many relationships.
Many to One Relationship Type: Abbreviated M: 1, the relationship between
EMPLOYEE and DEPARTMENT is an example of many to one
relationship, there may be EMPLOYEE working in one DEPARTMENT.
Hence relationship between EMPLOYEE and DEPARTMENT is many to
one relationship (Aplim, 2010).
41
Table 3. 3 ERD Proposed System
Relation Type Representation
One-to-one
One-to-many
Many-to-many
Many-to-one
[Link] ERD of the Proposed System
Login Home User
1 *
1
Wedding hall booking and reservation
*
management system
Services
Reports Booking * 1 Payment
Figure 3.3 ERD proposed
system
42
3.8 Suitable Solution Strategies of the Proposed System
As we are reaching the development phase, this section would contemplate
on other ways project’s objectives can be achieved. As you may know, the system
will be developed in PHP, Programming language and it is the most used or popular.
3.9 SYSTEM FEASIBILITY
A feasibility study for an information system project is an in-depth look at the
project in order to determine whether or not an organization should proceed with its
implementation. Feasibility studies provide project managers with an overview of the
primary issues related to the project, as well as insights about the outcomes of the
project, before the company invests too much time and money(reference, 2017).
A feasibility study could be used to test a new working system, which could
be used because the Feasibility study is an analysis of possible alternative solutions
to a problem and a recommendation on the best alternative. It can decide whether a
process be carried out by a new system more efficiently than the existing one.
Feasibility study is divided into four types: -
1. Technical Feasibility.
2. Operational Feasibility.
3. Economic Feasibility.
4. Schedule Feasibility.
3.9.1 TECHNICAL FEASIBILITY
Technical Feasibility is defining as the feasibility that is concerned with
specifying equipment and software that will successfully satisfy the requirement. It
43
compasses the technical needs of the system Configuration of the system is given a
huge importance than the actual make of hardware while examining technical
feasibility(quora, 2017).
This can be counted in terms of volumes of data, trends, frequency of
updating, etc. in order to estimate whether the new system will perform sufficiently
or not. Technological feasibility is carried out to determine whether the company has
the capability, in terms of software, hardware, personal and expertise, to handle the
completion of the project.
Table 3. 4 Technical Feasibility
No Item Description Quantity Cost Per Unit Amount
1. Laptop Corei7 1 $.450.00 $450.00
2. Hp laserjet1563 MFP 1 $50.00 $50.00
Total $500.00
No Item Description Quantity Cost Per Unit Amount
1. PHP & MYSQL 1 Free
Total Free
Table 3. 5 Items
3.9.2 OPERATIONAL FEASIBILITY
Operational feasibility is the ability to utilize, support and perform the
necessary tasks of a system or program. It includes everyone who creates, operates or
uses the system. To be operationally feasible, the system must fulfill a need required
by the business. The following table will show the training cost of the user of the
system.
Activities Duration Expected Cost
44
Training Current Employee 1 Week $100.00
Training New Employee 2 Week $200.00
Total $300.00
Table 3. 6 Operational Feasibility
3.9.3 ECONOMIC FEASIBILITY
Economic analysis is the most frequently used evaluating the effectiveness of
proposed system, more commonly known as benefit analysis.
The benefit analysis is to determine benefits and saving which are expected from
candidate system and compare them with cost. If the benefits are more than the cost,
the decision is made to design and implement the system. The cost and benefits may
be direct or indirect and tangible or intangible.
Types of feasibility Description Expect Cost
Technical feasibility Hardware & software $300.00
Operational Training with best option $500.00
feasibility
Total $800.00
Table 3. 7 Economic Feasibility
3.9.4 SCHEDULE FEASIBILITY
Typically, this means estimating how long the system will take to develop,
and if it can be completed in a given time period using some methods like payback
period. Schedule feasibility is a measure of how reasonable the project timetable is.
45
This involves questions such as how much time is available to build the new
system, when it can be built, whether it interferes with normal business operation,
number of resources required, dependencies, can the system be developed in time
etc. The project duration schedule is explained in the following.
Table 3. 8 Schedule Feasibility
Level Phase Name Duration
1 Analysis phase 3 weeks
2 Design phase 2 weeks
3 Coding 5 weeks
4 Implementation and Testing 2 weeks
5 Operation and maintenance phase 2 weeks
Total 14 weeks
3.10 CHAPTER SUMMARY
This chapter presented the following sections: Introduction, Operational
Framework, Work Break down structure (WBS), System Requirement, Problem
Analysis Identification, Requirements Gathering Techniques, Process Modeling,
Data Modeling, Suitable solution Strategies of the proposed system, System
Feasibility and Chapter Summary.
46