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
*      Problem analysis
*      Algorithm formation
v  System design
*      Program coding
*      Testing and Debugging
v  System Implementation
*      Implementation
*      Review and Maintenance
*      Evaluation
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
.
                                                               






Users' access
 



New User
                                Yes                                                                         No
Login
Yes
No
 


Register Form
                                                                                                                                                               
Submit
 



Forget Password
     Homepage
Database
  
E-mail
 






Comments

Popular posts from this blog

NO WOMAN IS BORN USELESS

SELFISH IDEAS THAT CAN RUIN YOU part 2