Social Support System:THREE
CHAPTER THREE
METHODOLOGY
3.0 INTRODUCTION
Methodology
refers to procedure and techniques used by researchers in carrying out research
study. It can also be described as the analysis of the principles of methods, rules, and postulates
employed by a discipline, the systematic study of methods that are, can be, or have
been applied within a discipline. It may also be
described as a
documented process for management of projects that contains procedures,
definitions and explanations of techniques used to collect, store, analyze and
present information as part of a research process in a given discipline
(Wikipedia, 2011).
This
chapter gives the report which discusses the procedure used in the development
of this project. It is necessary to organize a research work by formulating and
defining the particular research problem. This reveals the methods and
instruments employed in the course of this project.
By
way of extension it covers:
i.
Reviewing of available literature on the existing systems of Social
Support System.
ii.
Implementing the System using PHP (Hypertext Pre-Processor).
iii.
Modelling and designing of the database that will contain all the details
of individual in the support group. MySQL will be used for designing and
managing the database.
3.1 SYSTEM DEVELOPMENT LIFE CYCLE (SDLC)
SDLC
is a framework for developing computer based information systems. It is a
common and effective tool in the development of large scale software. System
development life cycle is the standard approach that has been used by the
software community with great success over the years for development of simple
and complex applications (Young, 1998).
SDLC
involves the following stages:
v Planning
and feasibility studies i.e. problem definition
v System
analysis


v System
design


v System
Implementation



3.1.1 Problem Definition
This
involves proper definition of the objectives, scope and peculiarity of the
problem. The focus of this project is to explore the use of social media tools
for health improvement by creating social support system.
3.1.2 System Analysis
This
involves the identification of inputs and outputs for the proposed system and
the processing involved turning inputs into outputs.
3.1.3 System Design
The
system design is a stage after the system analysis and it describes the
features of the proposed system. System design depends on a great extent on the
accuracy and thoroughness in which the analyst plays a vital role. It is at the
point of designing a system that the objectives of the proposed system are
clearly visible.
3.1.3.1 Program Coding
This
involves selection of programming languages suitable for solving the problem.
For this project, the program coding will involve
Ø Development
of web pages using HTML and CSS
Ø Using
PHP to make the site interactive
Ø Designing
the database using MySQL
3.1.3.2 Testing and Debugging
This
involves testing the system and the removal of program errors (bugs) from the
software over a period of time.
3.1.4 System Implementation
Implementation is the
actual installation and subsequent use of the software. The object oriented
design of the system separates the application layer from the user interface
layer and the database layer, thereby offering more flexibility in terms of
implementation of the system.
3.1.4.1 Review and Maintenance
This
phase will center on the identification and resolution of various problems that
may arise when using the proposed system.
3.1.4.2 Evaluation
After
the system is already in existence, its efficiency is the major concern. The
developer will ensure that the system does what it is supposed to do and ensure
that the system does not break down easily and has adequate security measure.
3.2 Software development methodologies
A software development
methodology or system development methodology in software engineering is a
framework that is used to structure, plan, and control the process of
developing an information system. For the purpose of this project, two
methodologies will be considered:
·
Waterfall Model
·
Agile Methodology
3.2.1 Waterfall
Model
The
waterfall model is a model for software development (a process for the creation
of software), which develop regularly flowing downwards (like a waterfall). The
waterfall model was decided upon as the appropriate system development model
because of its iterative nature which enables software engineers to develop an
increasingly complete version of the software. The classic Waterfall model is
depicted in figure 3.1. It describes the various phases in system development.
( Source: OSQA, 2009 )
|
Requirement gathering and
Analysis
|
System
Design
|
Implementation
|
Testing
|
Deployment of system
|
Maintenance
|
Figure
3.1: Waterfall Model of the SDLC
Advantages
1. Cost:
If in the beginning of the project failures are detected, it takes less effort
(and therefore time and money) for this error.
2. Structure: In the waterfall model, phases need
to be properly sealed first before proceeding to the next stage. It is believed
that the phases are correct before proceeding to the next phase.
3. Documentation: In the waterfall model lays the
emphasis on documentation. In the newer software development methodologies
there is less documentation. This makes knowledge transferrable when people
enter or leave the project.
4. Popularity: The waterfall model is well known.
Many people have experience using it, so it may be easier to work with. When
frequent portions of the software product are to be delivered this gives the
customer and the software development team confidence.
Disadvantages
1. Rigidity:
Many software projects are dependent on external factors. The client is a very
important external factor. Often the requirements over the course of the
project change, because the client wants something different. The waterfall
model assumes that the requirements will not change during the project.
2.
Resource Wastage: Within the project the team members
are often specialized. One team member will be only the first phase involved
the design, while the builders only in construction helping to build the
project. This can lead to waste of different resources.
3.2.2 Agile method
Agile
development methodologies believe in a quick and more adaptive development of
software which is why it is often used for web development when scope is
uncertain. It also has a high level of customer input; as feedback from the customer is required at all the stages of the
process of software development. Agile
methodologies work on iterations i.e. successive approximation as seen in Fig
3.2. The software development process under this methodology starts with the
basic assumption that the entire deliverable has been understood sufficiently
well so that it can be broken down into small tasks.
Fig. 3.2 Agile Methodology
|
3.3 Review of Existing Systems
This review was
necessary in order to establish the current state of interaction in online
Social Support Communities. The review gave a detailed account of the existing
system and exposed the challenges faced. Some of the areas that were researched
into were
i.
Definition and scope of
a Social Support System: as previously stated, social support system is an
online community of group of people that are having a health related problem to
share their experiences with one another. Also, the scope of this social
support system is limited to infertile people.
ii. The
relevance of a Social Support System: the main reason for building this social
support system is to support the health professionals to solve issues
concerning infertile people.
iii. Existing
Systems on Social Supports which include Bipolar Support System, was reviewed
to see how this system will be modelled.
iv. Challenges
in the existing systems: part of the challenges faced in some existing social
support systems is lack of confidentiality especially when dealing with some
issues.
Information was sourced
from Social Support sites, journals, online-article, the Internet etc.
3.4 System Analysis and Design of the Proposed System
Before a project can be
embarked upon, it has to be well analyzed and for the successful analysis of a
system, all the necessary information needed about the system must be fetched
by closely examining the system.
The major area of
concentration is the modeling of the system. For software projects, there are
standard industry rules and guidelines which govern their development. One of
such is the use of the Unified Modeling Language (UML). The goal of the UML is
to be a lingua franca in modeling. UML offers a standard way to visualize a
system's architectural blueprints, including elements such as activities,
actors, business processes, database schemas, programming language statements
and reusable software components (Wikipedia, 2011).
3.4.1 The
use case modeling of the system
A use case diagram
shows the relationship between the actors and the use cases in a system. The
main concepts under the use case diagram are the system to be modeled, the
actor (external user of the system) and the use case (execution scenario that
may be observed by a user) (Ober, 2005).
The use cases of the
system are listed below:
·
Log in.
·
Register
·
Activate
·
uploads
·
Log out.
The use cases as listed
above are represented by an oval shape with a label showing the operation they
represent. The human-like animations represent the actors that partake in the
use cases of the system, showing the particular use case they take part in.
The use case diagram
for the proposed system is depicted in fig 3.2
|
|
|
|
|
|
|
Register/Log In
|
Post Comments
|
Review comments
|
Delete comments
|
Log Out
|
Update articles
|
Upload Photo
|
Member
|
Administrator
|
Figure 3.2: Use case
diagram for the proposed system.
3.6 FLOW CHART
A flow chart is a
graphical or symbolic representation of a process. 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 (Hebb, 2010). The common flow chart symbols are
listed below:
Ø Terminator:
an oval flow chart shape indicating the start or end of the process
Ø Process:
a rectangular flow chart symbol indicating a normal process flow step.
Ø Decision:
a diamond flow chart symbol indicating a branch in the process flow
Ø Connector:
a small, labelled, circular flow chart shape used to indicate a jump in the
process flow.
Ø Data:
a parallelogram that indicates data input or output for a process.
The system will start
with a welcome page on which the user will login into the system. Based on the
login details provided, the system would either grant or deny further access to
the system. The type of access to be granted will also be determined at this
point. All the operations that can be performed are connected to the database
where records are been stored. The flow chart depicting the process to be
followed in designing the proposed system is shown in figure 3.3.
Register/ Login page
|
Start
|
|
|
Authenticate User
|
Yes
|
No
|
|
Display
member's homepage
|
Operations e.g. delete comments
|
Figure
3.3: Flow chart for the proposed system.
|
End
|
Database
|
Operations e.g. post comments
|
Display administrator's homepage
|
3.7 TOOLS TO IMPLEMENT PROPOSED SYSTEM
The
development tools that will be used in implementing the proposed system are:
§ Hypertext
preprocessor (PHP)
§ Hypertext
markup language (HTML)
§ MySQL
(Database)
§ Macromedia
Dreamweaver (Integrated Development Environment)
§ Adobe
Fireworks to design the images
Activity
Diagrams
In UML, an activity diagram is used to display the sequence of activities. Activity diagrams show the workflow from a start point to the finish point detailing the many decision paths that exist in the progression of events contained in the activity. They may be used to detail situations where parallel processing may occur in the execution of some activities.
In UML, an activity diagram is used to display the sequence of activities. Activity diagrams show the workflow from a start point to the finish point detailing the many decision paths that exist in the progression of events contained in the activity. They may be used to detail situations where parallel processing may occur in the execution of some activities.
Users'
access
|
New User
|
Login
|
Yes
|
No
|
Register Form
|
Submit
|
Forget Password
|
Homepage
|
Database
|
E-mail
|