Chapter 1 5
Chapter 1 5
PROJECT TEAM
NAME ID SECTION
Introduction
Currently, enterprises have to face increasingly difficult problems due to the increasing
complexity of their internal operations and the number and intensity of the relationships between
the company and the entities of its supply network. Moreover, the changing market means
enterprises need a rapid and flexible response to fulfill the variable requirements of the
environment. For this reason, companies require the capacity to withstand the stresses of
environmental loading. That means the capacity to prevent and anticipate; to change enterprises’
nature and adapt to the changing environment; and to respond to the dynamic requirements.
Businesses need to change at a rate that can keep up with competitors, vendors, and the modern
consumer’s fleeting stream of impatient desires.
The low-code platform is a set of tools for programmers and non-programmers. It enables quick
generation and delivery of business applications with minimum effort to write in a coding
language and requires the least possible effort for the installation and configuration of
environments, and training and implementation. Low-code development platforms emphasize
visual interfaces to enable people, without a technological background, to create and deploy
business apps with relative ease. The main objective of the low-code development platforms is to
allow enterprises to develop apps without complex engineering facilitating their configuration,
and then achieving, rapidity and agility. Moreover, these platforms also offer enterprises a more
economical way to fulfill the market and/or enterprises internal requirements. With the low-code
development platforms, enterprises can create programs or apps for mobile or desktop devices,
multifunctional and with high information-management capabilities.
Low code web development platform is a low code development platform which is based on web
application development. That can provide the technology mechanisms to facilitate and automate
the development of software applications to support current enterprise needs and promote digital
transformation. This program supports: Blog, landing page, Informatics site, Subscription and
registration, Social media and chat, Customer service, Booking, Display or shopping, File
management system, gallery, Event, Tutorial creation, and Report.
1|Page
Many digital transformation leaders find themselves in a painful and challenging
situation. Organizations’ ability to get things done quickly to support the ongoing Digital
Transformation is slowed by the complexity of the technology environment and the inability to
swiftly implement necessary changes. The digital environment requires rapid change and deep
integration into diverse ecosystems. For companies seeking to become more agile and accelerate
their strategy execution, low-code platforms tend to be an effective way to speed up application
delivery. This improves its ability to respond to business demands, shortens time-to-value, and
accelerates digital transformation.
2|Page
1.3. Feasibility
. A feasibility study is a particularly assessment for a proposed plan, product, project
management tool or new execution method.it is useful to establish whether or not a team or a
company will deliver on its promises in a satisfactory manner and in a reasonably period of time.
In building the System we are planning to achieve the ability of users to create web
applications on their browser. This allows the users to use features that seams complex for those
who are not familiar with coding but have knowledge over some similar applications like
Microsoft office products. So this system will make the user able to build apps by just using drag
and drop concept. The items and some other modules will also be available to the user.
✓ Speed: the ability to accelerate the delivery of new software and application.
✓ Agility: Enables the developers or the one which is working on a software or application
to adapt and respond to changes and new opportunities using innovative, digital solutions.
✓ Lower costs: Lesser code means lower cost so this project minimizes the cost for
development.
3|Page
✓ Allows for quick creation and use of working applications that can address the specific
process- and data needs of the organization.
1.7. Methodology
4|Page
based on the technical feasibility study of the project and also depending upon the guidelines or
specifications of the system.
1.8.1. Hardware
➢ Flash, Personal Computer, Stationary Objects (paper and pen), Server, Modem for
connecting to the internet.
1.8.2. Software
Tools Description Used for
1. Browsers A computer program - Preview and test
used to navigate the the built in
world wide web website
chiefly by viewing - Read HTML
web pages and files
following hyperlinks
2. Integrated Development Environment IDE is a program - Write codes
(IDE) dedicated to software - Debug codes
development. As the Test code output
name implies, IDEs
integrate several tools
specifically designed
for software
development. These
tools usually include:
an editor to handle
codes, build,
5|Page
execution, and
debugging tools. E.g.
IDLE, Visual Studio
Code, Atom, PHP
Strom
3. Mysql Is an open source - Create the
relational database necessary
management system database for the
(RDBMS) system
4. Ms-Office Is a family of client - Write and edit
software, server our
software, and services documentation
developed by
Microsoft
5. Server Is a system that - In order to
responds to requests launch the low
across a computer code
network worldwide to environment
provide, or help to platform we
provide, a network or need a central
data service server. But for
development
purpose we use
XAMPP.
XAMPP is very
suitable because
it has, MySql,
PHP and server
in it.
6. GIT Git is a free and open - Version
source distributed Controlling
version control - Collaboration
system designed to with team
handle everything members
from small to very
large projects with
speed and efficiency.
6|Page
✓ The project scope will not change once the Project advisers’ signoff on the scope
statement.
✓ The team will focus on user experience and early delivery.
✓ Project will follow agile methodology throughout execution.
1.10. Testing
Testing is procedure of checking something in the intention of founding some faults.
1.10.1. Test Plan
The primary goal of the testing phase is to find bugs that wasn’t found during the
implementation of the program.by finding and documenting this problem the developer will be
able to fix the specified errors. It’s also used to check whether the requirements (both the
functional and the non-functional) of the Client or end user is satisfied or not.
1.10.2. Traceability
Traceability Matrix (also referred to as Requirement Traceability Matrix - RTM) is a table that is
used to trace the requirements during the Software Development Life Cycle
7|Page
2 Pen 1PKT $5.00 $250.00
3 PC( Laptop) 2pcs $60,000.00 $120,000.00
5 Wi-Fi Pod/Portable Dongle 1pcs $3000.00 $3,000.00
6 Internet Connection Unlimited(for 4- $1,510.00per month $6,040
month)
7 Pen Drive 1pcs $400.00 $400.00
8 Tea and Coffee 5 per day $3.00 $3,150.00
TOTAL $132,990.00
8|Page
Team Composition
No Name Email Major responsibility
1 Kaleabe Seifu kaleabeseifu@gmail.com Team leader, Requirement
gathering, Development,
Documentation, Design
2 Nathnael Alemayehu natiAlemayehu@gmail.com Requirement gathering and
analysis, Development,
Documentation
3 Nobel Mitiku nobelmitiku@gmail.com Requirement gathering and
analysis, Testing,
Development
4 Samuel Kedir samuel.datros@gmail.com Requirement analysis, UI/UX,
Design, Development,
Documentation
5 Yonatan Abera yonatanabera2007@gmail.com Requirement gathering and
analysis, Development,
Testing, Documentation
9|Page
Chapter two
10 | P a g e
2.3. Drawback of Current System
❖ Users have to hire developers if they want to have an application or they must have at
least basic scripting languages like HTML, CSS and query language.
❖ There will be misunderstandings in users’ requirements to the developers’ side.
❖ Users might not like the UI built by the developers.
❖ Development time will be very long due to writing of many codes.
❖ Pricings of hired developers will be high.
➢ Developers need to gather requirement from clients and the system need to be
developed according to that very requirement.
➢ Development of the system need to be completed with the proposed time and money.
➢ Any changes in the requirement will have additional costs both in money and time.
➢ Clients need a web development professional for their system to be built.
➢ One need to have a sufficient understanding of the business requirement and a
development skill to build the system needed.
➢ Developers need to present medium viable product for testing and quality assurance.
➢ Developers need to present iterative prototypes for approval, the more prototypes
needed the more time the system needs.
➢ The developer or any other professional developer is needed to bug fixes, add new
functionalities and maintain the system after the system is deployed.
11 | P a g e
Chapter Three
Proposed System
3.1 Overview
This time information had become a very necessary thing to do our jobs and interact with each
other. The advancement of internet has paved the way for easy access of information. People
and companies create websites for different purpose.
Everyone finds a good reason to create a website! But in general, we can say that the websites are
being created to offer a useful service that others will use. In the old days, clients pay
professionals to build website for different use. But now due to the advancement in technology,
everyone can build their own website, according to their design flavor, without any code. This
CMS platform that we are about to build, serve the same purpose. It allows citizen developers
to build websites freely and simply.
Functional requirement mainly focuses on what the system do. The CMS Addis have the following
functional requirements.
12 | P a g e
3.3 Non-Functional Requirements
➢ Security: The system must be highly secure. The application must decrease the
vulnerability. Every new website developed using our CMS must be secure. For this
purpose, our system has to be secure first.
➢ Modularity: is a system property which measures the degree to which densely connected
compartments within a system can be decoupled into separate communities or clusters
which interact more among themselves rather than other communities.
➢ Integrity: Our system ensures that created websites are real and safeguarded from
unauthorized user modification.
➢ Usability: The quality of our user’s experience when interacting with our product or
system must be effective, efficient and overall satisfactory for the user.
➢ Flexibility: The system we build has to be flexible, in the way that the user can create
anything he want with almost zero errors generated. The system must respond to
uncertainty in a manner to sustain.
➢ Simplicity: The system is expected to be simple, that any user who can work on a
computer is able to create website with ease.
➢ Testability: The system has to correspond to a high testing result.
➢ Affordability: The system we are building is currently provided for users, with no cost.
So, it is affordable.
➢ Documentation: the activity of the project should be well documented for further users
like to add any new features and maintenance is easier if every situation is well
documented. The implementation is also documented in order to solve errors occurred
after the release of the application.
3.4.1 Scenarios
Scenario: 1
Name of use case: login
Participating Instance actor: Citizen Developer
Entry condition:
1. Internet connection is available; the user is in an area where Internet is available.
2. Any web browser is installed on the user’s device.
3. CMSaddis.com is navigated
4. The user has a valid username and password.
Flow of event:
1. Once the user navigated CMSaddis.com, the system displays the login page that has a
form consisting username and password, login button, and register link.
13 | P a g e
2. The user fill the form and click the login button
3. The user successfully logs in to the system.
Post condition:
The system will display the home page with a dashboard.
Exceptional flow of event:
1. If the user fails to fill the form correctly (i.e. invalid username and/or incorrect
password and/or incorrect type) then the system denies the access. And display an error
message.
2. A refill message pop up with the form again.
Scenario: 2
Name of use case: sign up
Participating Instance actor: Citizen Developer
Entry condition:
1. Internet connection is available; the user is in an area where Internet is available.
2. Any web browser is installed on the user’s device.
3. CMSaddis.com is navigated
Flow of event:
1. Once the user navigated CMSaddis.com, the system displays the login page that
has a form consisting username and password, login button, and register link.
2. The user clicks on the register link.
3. The system displays the signup page that has form consists of First name, last
name, email and password.
4. The user fills the form and clicks on the sign-up button
5. The system displays a page that asks to insert activation code with confirm button
6. The system sends activation code to the user email
7. The user inserts that activation code and clicks on confirm button.
Post condition:
The system will grant a permission to the user to work on a CMS Addis.
Exceptional flow of event:
1. If the user fails to fill the form correctly (i.e. invalid username and/or incorrect
password and/or incorrect type) then the system denies the access. And display an error
message.
2. A refill message pop up with the form again.
Scenario: 3
Name of use case: Use components
Participating Instance actor: Citizen Developer
Entry condition:
1. Internet connection is available; the user is in an area where Internet is available.
2. Any web browser is installed on the user’s device.
3. CMSaddis.com is navigated
4. The user has a valid username and password
14 | P a g e
5. The user successfully logged in to his account
6. The user created a new project.
Flow of events:
1. Once the user creates a new project the system will present a work space.
2. From the side bar the user selects components
3. In the components menu there is a list of elements and layers.
4. The user will select any of the elements and layers.
5. The user will drag the selected components and drop them to the workspace.
6. The user can repeat this action as he wishes to.
Scenario: 4
Name of use case: Create new project
Participating Instance actor: Citizen Developer
Entry condition:
1. Internet connection is available; the user is in an area where Internet is available.
2. Any web browser is installed on the user’s device.
3. CMSaddis.com is navigated
4. The user has a valid username and password
5. The user successfully logged in to his account
Flow of events:
1. Once the user logged into his account the system displays the home page with a
dashboard.
2. From the tabs on the dashboard the user will select the “create new project”
button
3. The system will present a form with title and description.
4. The user will give the project a title and description and click the “create” button.
5. The system will present a work space of a new project.
Post Condition:
The user will begin to build the web page.
Scenario: 5
Name of use case: Preview Design
Participating Instance actor: Citizen Developer
Entry condition:
1. Internet connection is available; the user is in an area where Internet is available.
2. Any web browser is installed on the user’s device.
3. CMSaddis.com is navigated
4. The user has a valid username and password
5. The user successfully logged in to his account
6. The user created a new project.
Flow of events:
1. Once the user creates a new project, the user will begin to build the page.
15 | P a g e
2. Whenever the user wants to check the progress in full screen mode as if it was
published, he can click the preview button on the navigation bar.
3. Then the system will present the system built in preview mode.
4. The system will lock the project to read only mode until the user go back to
design mode.
5. After the user finished reviewing the design, he will press back to the design
button.
6. Then the user will present the design panel.
Post Condition:
The user will continue to build the web page.
Scenario: 6
Name of use case: Create new page
Participating Instance actor: Citizen Developer
Entry condition:
1. Internet connection is available; the user is in an area where Internet is available.
2. Any web browser is installed on the user’s device.
3. CMSaddis.com is navigated
4. The user has a valid username and password
5. The user successfully logged in to his account
6. The user created a new project.
Flow of events:
1. Once the user creates a new project, the user will begin to build the page.
2. When the user wants to add new page to the project, the user will select the pages
tab on the side bar.
3. The pages menu lists current pages, along with a button called “add new page”.
4. The user clicks the “add new page” to create new page.
5. The system will ask the user to give the page a name.
6. The user will give a name to the new page and click create.
Post Condition:
The system will add a new page to the user’s project.
Scenario: 7
Name of use case: Use assets
Participating Instance actor: Citizen Developer
Entry condition:
1. Internet connection is available; the user is in an area where Internet is available.
2. Any web browser is installed on the user’s device.
3. CMSaddis.com is navigated
4. The user has a valid username and password
5. The user successfully logged in to his account
6. The user created a new project.
16 | P a g e
Flow of events:
1. Once the user creates a new project, the user will begin to build the page.
2. Whenever the user wants to add media assets from his computer to the project, he
will go to the assets tab on the side bar.
3. On the assets panel there is a section for current assets and another button called
“add new assets”
4. The user will select the “add new assets” button
5. The system will redirect the user to file explorer.
6. The user selects the media of his choice and hit upload.
7. The system will upload the asset and put it on the assets panel
Post Condition:
The user can use that asset as an element on the project any time he wants.
Scenario: 8
Name of use case: Style the page
Participating Instance actor: Citizen Developer
Entry condition:
1. Internet connection is available; the user is in an area where Internet is available.
2. Any web browser is installed on the user’s device.
3. CMSaddis.com is navigated
4. The user has a valid username and password
5. The user successfully logged in to his account
6. The user created a new project.
Flow of events:
1. Once the user creates a new project, the user will begin to build the page.
2. Whenever the user wants to style a component he will click the component.
3. On the left sidebar the user will find attribute panel.
4. The attribute panel presents styling options.
5. The user selects any of the attributes and style the component
Post Condition:
The user will continue to build the page.
Scenario: 9
Name of use case: save code
Participating Instance actor: Citizen Developer
Entry condition:
1. Internet connection is available; the user is in an area where Internet is available.
2. Any web browser is installed on the user’s device.
3. CMSaddis.com is navigated
4. The user has a valid username and password
5. The user successfully logged in to his account
6. The user builds his project.
Flow of events:
17 | P a g e
1. While the user is building the project the system automatically saves the project.
2. The user can click on the save button, to check whether the project is saved or not
Post condition:
The system notifies that the project is automatically saved.
Scenario: 10
Name of use case: Export code
Participating Instance actor: Citizen Developer
Entry condition:
1. Internet connection is available; the user is in an area where Internet is available.
2. Any web browser is installed on the user’s device.
3. CMSaddis.com is navigated
4. The user has a valid username and password
5. The user successfully logged in to his account
6. The user builds his project.
7. The user successfully saved his current project.
Event flow:
1. Once the user builds and successfully saved his project he clicks on the export
code button
2. The system displays the code with prepare zip button
3. The user clicks on the prepare zip button
4. Once the project zipped then the system displays download button
5. The user clicks on the download button
6. The code will be downloaded in the users devise
7. Then the user exports the downloaded file
Post condition:
The user can do whatever he wants with the exported code.
Scenario: 11
Name of use case: Share as a template
Participating Instance actor: Citizen Developer
Entry condition:
1. Internet connection is available; the user is in an area where Internet is available.
2. Any web browser is installed on the user’s device.
3. CMSaddis.com is navigated
4. The user has a valid username and password
5. The user successfully logged in to his account
6. The user builds his project.
7. The user successfully saved his current project.
Flow of events:
1. Once the user saved his project the system will enable the share button
2. The user clicks on the share button
3. A panel pops us presenting a title box and a description box
18 | P a g e
4. The user writes the title of the project
5. The user writes some descriptions about the project
6. Once the form is filled the user hit the share button.
Post condition:
The user successfully shares his project as a template to the community.
Scenario: 12
Name of use case: use a template
Participating Instance actor: Citizen Developer
Entry condition:
1. Internet connection is available; the user is in an area where Internet is available.
2. Any web browser is installed on the user’s device.
3. CMSaddis.com is navigated
4. The user has a valid username and password
5. The user successfully logged in to his account
Flow of events:
1. Once the user logged into his account the system displays the home page with a
dashboard.
2. From the tabs on the dashboard the user selects “Explore”
3. A page pops up presents a list of project templates shared by other users
4. The user can search from the templates
5. The user selects a template to view the project
6. The user selects a button “use as a template”
7. The system will notify the user with a successful clone message
Post condition:
The template will immediately be cloned on the user’s dashboard with other saved
projects.
Scenario: 13
Name of use case: Beginners Guide
Participating Instance actor: Citizen Developer
Entry condition:
1. Internet connection is available; the user is in an area where Internet is available.
2. Any web browser is installed on the user’s device.
3. CMSaddis.com is navigated
4. The user has a valid username and password
5. The user successfully logged in to his account
Flow of events:
1. As soon as the user logged in to his account a beginner’s template will appear.
2. Along with the template a tool tip will appear with guides.
3. The system will present series of task guides the user can follow.
4. The user can choose to follow the guide or skip through them.
5. The user can go through the guide process any time he wants even after the first
session is completed.
19 | P a g e
Post condition:
The system will graduate the user from the beginners’ guide.
Scenario: 14
Name of use case: System guide documentation
Participating Instance actor: Citizen Developer
Entry condition:
1. Internet connection is available; the user is in an area where Internet is available.
2. Any web browser is installed on the user’s device.
3. CMSaddis.com is navigated
4. The user has a valid username and password
5. The user successfully logged in to his account
Flow of events:
1. Once the user logged into his account the system displays the home page with a
dashboard.
2. From the tabs on the dashboard, the user selects the help drop down button
3. This drop down holds to buttons Documentation and Beginners tutorial.
4. User will select the documentation option.
5. The system will present a documentation page.
6. The user can search specific features or can choose from the chapters presented.
7. The user can come back to the documentation any time he needs help.
Post condition:
After the user finds what he’s looking for, he will go back to the dashboard.
Scenario: 15
Name of use case: Create Database Table
Participating instance actor: Citizen Developer
Entry condition:
1. Internet connection is available; the user is in an area where Internet is available.
2. Any web browser is installed on the user’s device.
3. CMSaddis.com is navigated
4. The user has a valid username and password
5. The user successfully logged in to his account
6. The user clicks on the project created or create new one
Flow of events:
1. The user clicks on the project created or create new one
2. From the side bar the user choses the CMS database management
3. The User Click the create CMS database table button or one of the available CMS
modules already exist
4. The User give name to the table and Add attributes to the table and edit their
properties
5. The User Chooses to save the Table
20 | P a g e
Post Condition:
The newly created CMS table Will be added to the user’s collection of tables
Scenario: 16
Name of use case: Edit Database Table
Participating instance actor: Citizen Developer
Entry condition:
1. Internet connection is available; the user is in an area where Internet is available.
2. Any web browser is installed on the user’s device.
3. CMSaddis.com is navigated
4. The user has a valid username and password
5. The user successfully logged in to his account
6. The user clicks on the project created or create new one
Flow of events:
1. The user clicks on the project created
2. From the components the user choses the CMS database management
3. The User select one of the available CMS modules from his collections of CMS
tables
4. The User modifies the table and its attributes and properties
5. The User Chooses to save the Table
Post Condition:
The Edited CMS table will be saved to the user’s collection of tables
21 | P a g e
Use case diagram and description
The use case model captures the requirements of the system. Use cases are a means of
communicating with users and other stakeholders about the system is intended to do. A use case
is a single unit of meaningful work. It provides a high-level view of behavior observable to
someone or something outside the system. The notation for a use case is an ellipse. The notation
for using a use cases is a connecting line with an optional arrowhead showing the sire action of
control. The uses connector can optionally have multiplicity values at each end.
uc Use case
CM S Addi s
Login
«i ncl ude» Verify Passw ord
«extend»
Sign up
Display Login Error
Create nw page
Citizen Dev eloper
Use Component
Use assets
«i ncl ude»
«i ncl ude»
Share as a template
Use a template
Follow Beginners
Guide
22 | P a g e
Description of use case model
Description 1
Use case name Login
UC01
Use case number
Use case description Authenticate or confirm the user
Participating Actor Citizen Developers
Pre-condition cmsaddis.com is navigated
Flow of events 1. Once the user navigated CMSaddis.com, the system displays
the login page that has a form consisting username and
password, login button, and register link.
2. The user fills the form and click the login button
3. The user successfully logs in to the system
Post condition
The system will display the home page with a dashboard.
Exceptional flow of 1. If the user fails to fill the form correctly (i.e. invalid username
event and/or incorrect password and/or incorrect type) then the system denies
the access. And display an error message.
2. A refill message pop up with the form again.
Description 2
Use case name Sign up
User id UC02
Use case description Enable a user to sign up for a new account
Participating actors Citizen developers
Pre-condition cmsaddis.com is navigated
Flow of event
1. Once the user navigated CMSaddis.com, the system displays
the login page that has a form consisting username and
password, login button, and register link.
2. The user clicks on the register link.
3. The system displays the signup page that has form consists of
First name, last name, email and password.
4. The user fills the form and clicks on the sign up button
5. The system displays a page that asks to insert activation code
with confirm button
6. The system sends activation code to the user email
7. The user inserts that activation code and clicks on confirm
button.
23 | P a g e
Post condition
The system will grant a permission to the user to work on a CMS
Addis.
Exceptional flow of 1. If the user fails to fill the form correctly (i.e. invalid username and/or
event incorrect password and/or incorrect type) then the system denies the
access. And display an error message.
2. A refill message pop up with the form again.
Description 3
Use case description This feature enables users to use elements and layers to build a web
page
Flow of Events 1. Once the user creates a new project the system will present a
work space.
2. From the side bar the user selects components
3. In the components menu there is a list of elements and layers.
4. The user will select any of the elements and layers.
5. The user will drag the selected components and drop them to
the workspace.
6. The user can repeat this action as he wish to.
Description 4
Use case description This feature enables users to create new projects so that they will be
able to start building the website they intend to build.
24 | P a g e
Participating actor Citizen Developers
Flow of Events 1. Once the user logged into his account the system displays the
home page with a dashboard.
2. From the tabs on the dashboard the user will select the “create
new project” button
3. The system will present a form with title and description.
4. The user will give the project a title and description and click
the “create” button.
5. The system will present a work space of a new project.
Description 5
Use case name Preview Design
Use case number UC05
Use case description This feature enables users to see the progress of their development
with a full preview feature.
Participating actor Citizen Developers
Pre-condition The user successfully created a new project.
Flow of Events 1. Once the user creates a new project, the user will begin to
build the page.
2. When ever the user wants to check the progress in full screen
mode as if it was published, he can click the preview button on
the navbar.
3. Then the system will present the system built in preview mode.
4. The system will lock the project to read only mode until the
user go back to design mode.
5. After the user finished reviewing the design, he will press back
to the design button.
6. Then the user will present the design panel.
Post Condition The user will continue to build the page.
25 | P a g e
Description 6
Use case name Create new page
Use case number UC06
Use case description This feature enables users create new pages in their project and link
them to each other.
Participating actor Citizen Developers
Pre-condition The user successfully created a new project.
Flow of Events 1. Once the user creates a new project, the user will begin to
build the page.
2. When the user wants to add new page to the project, the user
will select the pages tab on the side bar.
3. The pages menu lists current pages, along with a button called
“add new page”.
4. The user clicks the “add new page” to create new page.
5. The system will ask the user to give the page a name.
6. The user will give a name to the new page and click create.
Post Condition The system will add a new page to the user’s project.
Description 7
Use case name Use assets
Use case number UC07
Use case description This feature enables users to upload media files from their computer to
the project they’re working on.
Participating actor Citizen Developers
Pre-condition The user successfully created a new project.
Flow of Events 1. Once the user creates a new project, the user will begin to build
the page.
2. Whenever the user wants to add media assets from his computer
to the project , he will go to the assets tab on the side bar.
3. On the assets panel there is a section for current assets and
another button called “add new assets”
26 | P a g e
4. The user will select the “add new assets” button
5. The system will redirect the user to file explorer.
6. The user selects the media of his choice and hit upload.
7. The system will upload the asset and put it on the assets panel.
Post Condition The user can use that asset as an element on the project any time he
wants.
Description 8
Use case name Style the page
Use case number UC08
Use case description This feature enables users to style the page by modifying attributes.
Participating actor Citizen Developers
Pre-condition The user successfully created a new project.
Flow of Events 1. Once the user creates a new project, the user will begin to build
the page.
2. Whenever the user wants to style a component he will click the
component.
3. On the left side bar the user will find attribute panel.
4. The attribute panel presents styling options.
5. The user select any of the attributes and style the component.
Post Condition The user will continue to build the page.
Description 9
Use case name Save code
Use case id UC09
Use description This feature enables the user to automatically save the project he/she
is building on.
Participating actor Citizen developers
Pre-condition The user is on building his project
27 | P a g e
Flow of Events 1. While the user is building the project the system automatically
saves the project.
2. The user can click on the save button, to check weather the project
is saved or not
Post condition The system notifies that the project is automatically saved.
Description 10
Use case name Export code
Use case id UC010
Use case description This feature enables the user to export the code of the built-in project.
Participating actor Citizen Developers
Pre-condition The user builds the project
Flow of Events 1. Once the user build and successfully saved his project he
clicks on the export code button
2. The system displays the code with prepare zip button
3. The user clicks on the prepare zip button
4. Once the project zipped then the system displays download
button
5. The user clicks on the download button
6. The code will be downloaded in the users devise
1. Then the user exports the downloaded
file
Post condition The user can do whatever he want to do with the exported code.
28 | P a g e
Description 11
Use case name Share as a template
Use case number UC011
Use case description This feature enables users to share their projects so that other
interested users can use the project as a template.
Participating actor Citizen Developers
Pre-condition 1. The user successfully saved his current project
Flow of Events 1. Once the user saved his project the system will enable the
share button
2. The user click on the share button
3. A panel pops us presenting a title box and a description box
4. The user writes the title of the project
5. The user writes some descriptions about the project
6. Once the form is filled the user hit the share button.
Post condition 1. The user successfully share his project as a template to the
community.
Description 12
Use case name Use a template
Use case number UC012
Use case description This feature enables users to use other user’s projects as a template.
Participating actor Citizen Developers
Pre-condition The user successfully logged in to his account.
Flow of Events 1. Once the user logged into his account the system displays the
home page with a dashboard.
2. From the tabs on the dashboard the user selects “Explore”
3. A page pops up presents a list of project templates shared by
other users
4. The user can search from the templates
29 | P a g e
5. The user select a template to view the project
6. The user select a button “use as a template”
7. The system will notify the user with a successful clone
message
Post Condition The template will Immediately be cloned on the user’s dashboard with
other saved projects.
Description 13
Use case name Follow Beginners Guide
Use case number UC013
Use case description This feature guides users throughout their first encounter with the
system
Participating actor Citizen Developers
Pre-condition The user successfully logged in to his account.
Flow of Events 1. As soon as the user logged in to his account a beginner’s
template will appear.
2. Along with the template a tool tip will appear with guides.
3. The system will present series of task guides the user can
follow.
4. The user can choose to follow the guide or skip through them.
5. The user can go through the guide process any time he want
even after the first session is completed.
Post Condition The system will Graduate the user from the beginners guide.
Description 14
Use case name Access user guide documentation
Use case number UC014
Use case description This feature will give users a full documentation on the features of the
system
30 | P a g e
Participating actor Citizen Developers
Pre-condition The user successfully logged in to his account.
Flow of Events 1. Once the user logged into his account the system displays
the home page with a dashboard.
2. From the tabs on the dashboard, the user selects the help
drop down button
3. This drop down holds to buttons Documentation and
Beginners tutorial.
4. User will select the documentation option.
5. The system will present a documentation page.
6. The user can search specific features or can choose from
the chapters presented.
7. The user can come back to the documentation any time he
needs help.
Post Condition After the user finds what he’s looking for, he will go back to the dash
board.
Description 15
Use case name Create Database Table
Use case ID UC015
Use case description Allows the user to create new database table or use an already created
module of new CMS database table
Participating Actor Citizen Developer
Pre-condition 1.The user is Logged in successfully and already created a project
2.The user have a project created
Flow of events 1. From the dashboard the user goes to the project working on
2. from the Work environment on the sidebar the user clicks a manage
CMS database table
3. The user selects the add Table Button
4. The user enter the name of the table
31 | P a g e
5. The user enters where to save the table file
6. The user add and edit attribute values
7.User click the save button to save the tables created
Post condition 1. The user successfully created the table and its attributes
2. The user access the table attributes and uses to make the page
values dynamic
Exceptional flow of 1. If the table name already exist the user is not going to be proceeded
event to the next step and the system ask the user to rename the name of the
file
Description 16
Use case name Edit Database Table
Use case ID UC016
Use case description Allows the user to modify already existing database table or already
created module added to the users collections of database tables
Participating Actor Citizen Developer
Pre-condition 1.The user is Logged in successfully and already created a project
2.The user have a project created
3.The user have already created a CMS database table or add a
module of CMS database table to the collections
Flow of events 1. From the dashboard the user go to the project working on
2. from the Work environment on the side bar the user clicks a
manage CMS database table
3. The user selects the edit Table Button
5. The user add or edit attribute values
6.User click the save button to save the tables created
Post condition 1. The user successfully Edited the table and its attributes
2. The user access the table attributes and uses to make the page
values dynamic
32 | P a g e
3.5. Object model
33 | P a g e
Components componentId, editProperties(), saveProperties(), Used for building frontend
componentDiscript reset(), addComponent() interface.
ion,
3.5.2 Class diagram
The class diagram shows the building blocks of any object-oriented system. Class
diagram depict the static view of the model part of the model, describing what attributes and
behavior it has rather that detailing the methods for achieving operations.
Class diagrams are most useful to illustrate relationships between classes and interfaces.
Generalizations aggregation and association are all valuable in reflecting inheritance,
composition or usage and connections, respectively.
A class is an element that defines the attributes and behaviors that an object is able to
generate. The behavior is the described by the possible messages the class is able to
understand along with operations that are appropriate for each message. Classes may also
contain definition of constraints tagged values and stereotypes.
Classes are represented by rectangles which show the name of the class and optionally the
name of the operations and attributes. Compartments are used to divide the class name,
attributes and operations. Additionally, constraints, initial values and parameters may be
assigned to classes.
34 | P a g e
3.6. Dynamic model
3.6.1 Sequence diagram
A different way of illustrating the interaction among objects is to show them on a
sequence diagram, which depicts object interaction arranged in time sequence. A sequence
diagram is a two-dimensional diagram in which the objects participating in the interaction are
depicted horizontally and the vertical dimension represents time. Starting at each object box is a
vertical dashed line, referred to as a lifeline. Optionally, each lifeline has an activation bar (not
shown), depicted as a double solid line, which shows when the object is executing. The actor is
usually shown at the extreme left of the page. Labelled horizontal arrows represent messages.
Only the source and destination of the arrow are relevant. The message is sent from the source
object to the destination object. Time increases from the top of the page to the bottom. The
spacing between messages is not relevant.
35 | P a g e
36 | P a g e
37 | P a g e
sd Share as a template
Database Storage
Return true()
Cl i ck share button()
Provi de ti tl e()
Cl i ck Share button()
Update proj ect pri vacy to publ i c / read onl y pri vacy()
38 | P a g e
sd Use a template
Database Storage
Login()
return result()
Display Dashboard()
Select Explore()
Search a template()
Select a template ()
Use as a template()
39 | P a g e
sd Follow beginners guide
Database Storage
Login()
return result()
Database Storage
Login()
Return result()
Display Dashboard()
Click on Documentation()
Display Documentation()
40 | P a g e
sd Use Components
Database Storage
Insert title()
Provide title()
Validate()
Save to database()
Return true()
Choose a component ()
41 | P a g e
sd Create new Proj ...
Database Storage
Logi n()
Di spl ay Dashboard()
Send data()
Modi fy Storage()
Return true()
Database Storage
Go back()
42 | P a g e
sd Create new Proj ...
Database Storage
Logi n()
Di spl ay Dashboard()
Send data()
Modi fy Storage()
Return true()
43 | P a g e
sd Create new pa...
Database Storage
Click ok button()
44 | P a g e
sd Use assets
Database Storage
Click upload()
Return true()
Database Storage
Send changes()
Show changes()
45 | P a g e
46 | P a g e
47 | P a g e
3.7.2 Activity Diagram
A use case model can also be described using an activity diagram. However, to depict a
use case, a subset of the activity diagram capabilities is sufficient. In particular, it is not
necessary to model concurrent activities for use cases. An activity diagram can be used to
represent the sequential steps of a use case, including the main sequence and all the alternative
sequences. An activity diagram can therefore be used to provide a more precise description of the
use case, because it shows exactly where in the sequence and what the condition is for an
alternative sequence to diverge from the main sequence.
48 | P a g e
49 | P a g e
50 | P a g e
s
51 | P a g e
52 | P a g e
act Use a template
Start
User logges in
Dashboard
List of Templates
Search Again No
Search query true?
No results
Yes
Select Template
View Template
No
Use as a template
Yes
53 | P a g e
act Follow beginners guide
User logged in
Yes
Display Series of guides
No Next
Finish
54 | P a g e
act Access User Guide Documentation
Start
User logges in
Dashboard
Select
Documentation
Documentation
Search Again
No
Found search result? No result found
Yes
User logged in
Work Space
55 | P a g e
act Use Components
Drag and drop components, and arrange them accordingly Repeat process
56 | P a g e
act Create new proj ...
Click preview
Yes
Work station
Pages list
Page created
57 | P a g e
58 | P a g e
59 | P a g e
60 | P a g e
3.7.3 State Diagram
A state diagram is a model in which the entity being modelled is viewed as a set
of states, with transitions between the sates taking place when some event occurs. A state
is represented as a rectangle with rounded edges or as ellipses or circles; transitions are
represented by arrows connecting two states. Details can also be attached to transitions.
State diagrams are often used to model the behaviors of objects of a class. The state
represents the different states of the object and transition captures the performing of the
different operations on the object. So, a state diagram models how an object evolves as
operations are performed in it.
61 | P a g e
act Use a template
Dashboard
List of Templates
View Template
Template Cloned
Notification
62 | P a g e
act Access User Guide Documen...
Start
Dashboard
Documentation
New Project
Logged in
Work Station
New Proj ect
63 | P a g e
act Prev iew Desi...
Assets Component
Changed Attribute
Upload
64 | P a g e
65 | P a g e
Chapter Four
System Design
4.1 Overview
In the System design the system is presented in well-defined ways like Architecturally,
Module wise, Component and their interface wise and the mapping of hardware to software.
Based on the requirements of the users the application will be having the design as followed. The
document will contain the Proposed System Goal, Object Designs and the architecture.
4.1.1 Purpose of System Design
This section describes what the design goal is and what to achieve and expect from the
system in Performance, Maintenance Dependability and end user views.
4.1.2 Design Goal
the design Goals are focused on the non-functional requirements which are stated on the
requirement elicitation. It will contain the following categories.
4.1.2.1 Performance
For giving good service the system should perform tasks with user acceptable time and
good memory consumption. This means
❖ Response Time: - Based on the available network connection speed and strength the
system must respond with the possible minimum duration if time
❖ Storage and Space: - The client system Should have Memory capacity (RAM) of at least
1GB in average for stable performance. The server system requires about 1TB of Storage
memory in order to save large number of modules created by the developers which are
provided to the users
4.1.2.2 Dependability
❖ Availability: - If the connection is available all the time on the server (i.e. if the server
never fails and the client have the access to the internet) the system will be available
24/4.
❖ Reliability: - as long as there is no power outage or disconnection between the server and
the client the system will save users date on the server so it will be reliable
❖ Security: - The users will have their own credentials to log in to the system to access their
account and keep on working on their applications, this implies the system must be
secure
❖ Robustness: - Since there might be errors occurring in the process of working on the
application due to insertion of some incompatible information on the system, in such
cases the system should show an error instead of crushing
4.1.2.3 Maintenance
❖ Extendibility: - it should be possible to add new functionalities easily in the way of
modules and APIs easily
66 | P a g e
❖ Modification: - if one of the functionalities needed to be modified the system should
allow the modification easily and do not affect the other functionalities
❖ Portability: - Since the system is deployed on servers that can be accessed through the
web browser it should be accessible via any device
❖ Readability: - the system should be well documented and the code be well commented
making the system easily understood by other developers
4.1.2.4 End user
❖ Usability: -The system should be easy to understand and use by the novice users to
achieve its goal which makes the user build an app easily. It should have a simple and
understandable Graphical User Interface
❖ Utility: - the system should contain an easy to understand language usage and good
guidance for the Novice End Users and at the same time language that is understandable
by the Professionals.
67 | P a g e
4.2.1. System Process
68 | P a g e
4.2.2.1 Subsystem Description
Subsystem Purpose
Front end It lays an interface for the user to create layout, drag and drop
components and lastly to preview what has been done so far.
Components It provides an interface for users to view all components from
CSS and HTML, and be able to manipulate and customize
the components. The component’s attributes are manipulated
in this subsystem.
Database It makes database creation easy for the user, it simply
provides a bunch of buttons with specific name to do the
CRUD. And user can create, edit, read and delete database
values using this subsystem.
Modules This subsystem is used as a network for sharing modules,
from users to users. The modules, show lists of previously
done, working and customizable codes having codes from
front end and back end.
User Guide This is a place where documentation for the system will be
stored. In this place, users can read get aid about the system.
Code Editor This provides advanced users to manipulate the code
generated from the GUI generated using the front-end
module, and back end is also manipulated in this area.
Components
Edit attribute
Front end
Code editor
Drag and Drop User Guide
Database
Database GUI
Modules
Search View
Integrate
69 | P a g e
4.2.3 Hardware / Software Mapping
The system will have web server, database server and file server. The web server will host the
page online and process all the requests from clients, whereas the database server will help
organize the data in a regular structure, in tables. The file server will be the storage area, where
all files will be stored. The servers communicate with each other.
deployment Use Case Mo...
«device»
MAC PC
«device»
UNIX Host
«device»
Window s
Desktop
Response
Web Serv er
«device»
Computer
Request
Database Serv er
Response File
Request
«device»
Linux Desktop
«device»
Tablets (Android)
«device»
Window s Laptop
«device»
Linux Laptop
70 | P a g e
71 | P a g e
72 | P a g e
4.2.5 Database Design
73 | P a g e
4.2.7 User Interface
74 | P a g e
Chapter Five
Implementation
5.1. Overview
Implementation is the computer programming and deployment of a technical specification or
algorithm as a program, software component, or other computer device. For a given specification
or standard, there may be several implementations. Generally, the main goal of the implementation
is developing the functional requirements of the system.
75 | P a g e
1. Indentation: Proper and consistent indentation is essential in producing easy to read and
maintainable programs.
Indentation should be used to:
✓ Emphasize the body of a control structure such as a loop or a select statement.
✓ Emphasize the body of a conditional statement
✓ Emphasize a new scope block
2. Inline comments: Inline comments analyze the functioning of the subroutine, or key
aspects of the algorithm shall be frequently used.
3. Rules for limiting the use of global: These rules file what types of data can be declared
global and what cannot.
4. Structured Programming: Structured (or Modular) Programming methods shall be used.
"GOTO" statements shall not be used as they lead to "spaghetti" code, which is hard to
read and maintain.
5. Naming Conventions: The naming convention is how your packages, classes methods,
8. Testing: This specifies which approach and tools should be used to test the codes.
5.3. Prototype
Client side: It is the program that runs on the client machine (browser) and deals with the user
interface/display and any other processing that can happen on client machine like reading/writing
cookies. It is done in languages that can be executed by the browser, such as HTML, CSS,
JavaScript and browser development tools. The device can be a personal computer or a
smartphone.
Server side: The actions that take place on a web server have to do with dynamic content
generation. Database querying and operation, accessing/writing a file on the server, user
authentication, structuring the application, and processing user feedback are some of these acts.
The server-side programming used are:
• PHP Laravel for modular packaging the system and to access relational database.
76 | P a g e
• Apache server to communicate from client to server
• MySQL for the database
5.4.1. Client-side
In web development, 'client side' refers to everything in a web application that is displayed or
takes place on the client (end user device). This includes what the user sees, such as text, images,
and the rest of the UI, along with any actions that an application performs within the user's
browser.
Markup languages like HTML and CSS are interpreted by the browser on the client side. In
addition, in this project we are including client-side processes in our application architecture and
moving away from doing everything on the server side; business logic for dynamic webpages*,
for instance, usually runs client side in a modern web application. Client-side processes are
almost always written in JavaScript.
For Server based applications client side is the same as Frontend, here we list the technologies
we use to develop the application.
➢ Html
HTML is the first layer of any website and creates the code version of a
wireframe on a webpage. These wireframes exist for the styles in CSS and all the
bells and whistles in JavaScript. However, it’s important to remember that HTML
isn’t particularly intelligent. It doesn’t make decisions or capture information on
its own. It simply renders the scaffolding of the web pages.
➢ CSS
Cascading Style Sheets, or CSS, is what gives our HTML visual appeal and draws
in the user. To put it simply, style sheets dictate the presentation of HTML
elements on a page.
➢ Sass
A new trend with styling is to use what is called a CSS pre-processor. These
include sass. Pre-processors are scripting languages that compile to CSS for the
browser and are very popular as they expedite the development process. They
accommodate some programming logic.
➢ JavaScript
77 | P a g e
JavaScript is a runtime language for web browsers. This means that when you
open a web page, the page will load both the foundational JavaScript that is
standard with the page and any new JavaScript added to a page. The new
JavaScript will load in parallel with it and can perform actions and make
decisions.
➢ JQuery libraries
JQuery is a fast, small, and feature-rich JavaScript library. It makes things like
HTML document traversal and manipulation, event handling, animation, and Ajax
much simpler with an easy-to-use API that works across a multitude of browsers.
➢ Vue Js
Vue.js is a JavaScript library for developing distinct web interfaces. Its core
library focuses on the view layer only. Therefore, you can conveniently integrate
it with other libraries and tools to achieve desired outputs. Also, it is capable of
powering Single Page Applications when you merge it with other tools and
libraries.
➢ Chrome DevTools
It is a set of developers’ tools built directly into the Google Chrome web browser.
This is one of the best front-end technologies. These tools help edit pages on-the-
fly and identify issues rapidly. As a result, you can build better websites faster.
Moreover, with DevTools, you can view and change any page. It comes with a
built-in console for running JavaScript and can stimulate different screen sizes
and devices. DevTools is popular among developers as an essential front-end
developer tool.
5.4.2. Server Side
Much like with client side, ‘server side’ means everything that happens on the server, instead of
on the client. The client computers send request to the server and the server return the results to
the client.
Language used for the backend is PHP, hypertext preprocessor, which is the most popular server-
side scripting language in the world. It is especially suited to web development. It is fast, flexible
and pragmatic. It powers everything from the smallest blog to the most popular websites in the
world.
We chose Laravel which is the most popular PHP framework at the moment. Laravel is free,
open source intended for the development of web applications following the model-view-
controller (MVC) architectural pattern and based on Symfony. Some of the features of Laravel
are a modular packaging system, with a dedicated dependency manager, different ways of
accessing relational databases, utilities that aid in application deployment and maintenance, and
its orientation toward syntactic sugar i.e. uses syntax that is designed to make things easier to
read or to express. It makes the language “sweeter” for human use.
For database we are using MySQL. MySQL is an open source relational database management
system (RDBMS).
78 | P a g e
79 | P a g e