0% found this document useful (0 votes)
15 views13 pages

CH 4

Uploaded by

Cumar Rdhi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views13 pages

CH 4

Uploaded by

Cumar Rdhi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 13

CHAPTER 4

Software Design

Introduction
Software design is the process by which an agent creates a specification of a software artifact
intended to accomplish goals, using a set of primitive components and subject to constraints. The
term is sometimes used broadly to refer to "all the activity involved in conceptualizing, framing,
implementing, commissioning, and ultimately modifying" the software, or more specifically "the
activity following requirements specification and before programming, as ... [in] a stylized
software engineering process.
Software design usually involves problem-solving and planning a software solution.
This includes both a low-level component and algorithm design and a high-level, architecture
design. In either case, some documentation of the plan is usually the product of the design.
Furthermore, a software design may be platform-independent or platform-specific, depending
upon the availability of the technology used for the design. Software design usually involves
problem solving and planning a software solution.
This includes both a low-level component and algorithm design and a high-level, architecture
design.

Architectural Design
The underlying structures of a software system, as well as the discipline of building such
structures and systems, are referred to as software architecture. Each structure consists of
software elements, their relationships, and the properties of both elements and relationships. A
software system's architecture is a metaphor, similar to the architecture of a structure. It serves as
a blueprint for the system and the ongoing project, detailing out the tasks that the Design teams
must complete.

Software architectural design represents the structure of data and program components that are
required to build a computer-based system

An architectural design model is transferable:


- It can be applied to the design of other systems

- It can represent a set of abstractions that enable software engineers to describe architecture in
predictable ways.

This figure will show the architectural design of the proposed system:

Service Pages Appointments Add Customer

Customer List Reports Invioce

User Interface Design

Among all the major components of the system, a major role of the system is

played by user interfaces. Interactivity in between system and the user is managed

by the interface. User friendliness, integrated color combination and the well-organized
components are dependent on it.

Without having a user friendly interface, interaction with the system becomes

hard. Privileges must be set by the System Administrator to users in different

ways. Management of those privileges and presenting them effectively to users is

helped by the interfaces.

Database Storage Design

Database design is the process of producing a detailed data model of a database. This data model
contains all the needed logical and physical design choices and physical storage parameters
needed to generate a design in a data definition language, which can then be used to create a
database. A fully attributed data model contains detailed attributes for each entity. (Light stone,
Teorey, & Nadeau, 2007)

Database Design

Database design is the process of producing a detailed data model of a database.

The main purpose of this process is to understand data and relationship among the data. Or

Database design is the design of the database structure that will be used to store and manage data

rather than the design of the DBMS Software .

Once the database design is completed;

The DBMS handles all the complicated activities required to translate the designer’s view of the

structure into structures that are usable to computer.

Database Normalization

Normalization is the process of organizing data in a database. This includes creating tables and
establishing relationships between those tables according to rules designed both to protect the data
and to make the database more flexible by eliminating two factors: redundancy and inconsistent
dependency. Redundant data wastes disk space and creates maintenance problems. Most popular
Normalization stages include.
First Normal Form(1NF), Second Normal Form(2NF) and Third Normal Form(3NF)
First Normal Form (1NF)
A relation is in first normal form (1NF) if the following two constraints both apply: There are no
repeating groups in the relation (thus, there is a single fact at the intersection of each row and column
of the table) and A primary key has been defined, which uniquely identifies each row in the relation.

Table 4.1 First Normal Form


Customer ID Name Email Phone Gender CreationDat UpdationDat
e e
Service ID Servicename Cost Creation
Date

Second Normal Form (2NF)


A relation is in second normal form (2NF) if it is in first normal form and contains no partial
functional dependencies. A partial functional dependency exists when a non-key attribute is
functionally dependent on part (but not all) of the primary key. To convert a relation with partial
dependencies to second normal form, the following steps are required: Create a new relation for
each primary key attribute (or combination of attributes) that is a determinant in a partial
dependency. That attribute is the primary key in the new relation. Move the non-key attributes
that are dependent on this primary key attribute (or attributes) from the old relation to the new
relation.

Table 4.2 Second Normal form

Appointment ID Name Email Mobilenumber Service AppliedDate Remark Status

AddCustomer ID Name Email Mobilenumber Details


Third Normal Form (3NF)
A relation is in third normal form (3NF) if it is in second normal form and no transitive dependencies
exist. A transitive dependency in a relation is a functional dependency between the primary key and
one or more non-key attributes that are dependent on the primary key via another non-key attribute.
You can easily remove transitive dependencies from a relation by means of a three-step procedure: 1)
For each non-key attribute (or set of attributes) that is a determinant in a relation, create a new
relation. That attribute (or set of attributes) becomes the primary key of the new relation. 2) Move all
of the attributes that are functionally dependent on the primary key of the new relation from the old to
the new relation. 3) Leave the attribute that serves as a primary key in the new relation in the old
relation to serve as a foreign key that allows you to associate the two relations. table and stays as
foreign key in the old table.
Table 4.3 Third Normal Form
Invoice PostDate UserID Billing ID Servic
ID
eID

Normalized Tables of the proposed system


Normalization of Database can decrease redundancy, increase efficiency and reduce anomalies
by implementing three of seven different levels of normalization called Normal Forms. The first
three NF’s are usually sufficient for most small to medium size applications.
Transforming E-R Diagrams into Relations

Data Dictioners

Data dictionary, or data repository, is central store house of information about System’s data. I

will use it to collect, document, and organize specific facts about system include the data flows,

data stores, external entities, and processes. The data dictionary also defines and describes all

data elements and meaningful combinations of data elements.

Customer Table:

Column Type Null

ID (Primary) int(11) No
Name Text No
Email Text No

PhoneNumber Var(50) No

Gender Text No

CreationDate Var(50) No

UpdationDate Var(50) No

Appointment Table:

Column Type Null

ID (Primary) int(11) No
Name Text No
PhoneNumber Var(50) No

Service Text No

AppliedDate Var(50) No

Remark Text No

Status Text No

Admin Table:

Column Type Null

ID (Primary) int(11) No
Name Text No
Email Text No

PhoneNumber Var(50) No
Password Text No

RegisteredDate Var(50) No

Service Table:

Column Type Null

ID (Primary) int(11) No
Name Text No
Cost Var(50) No

Creation Date Var(50) No

Invoice Table:

Column Type Null

ID (Primary) int(11) No
PostIDate Var(50) No
UserID Int(11) No

BillingID Int(11) No

ServiceID Int(11) No
Designing Forms And Reports
Home Page:

About Us Page:
Signing Page:

Dashboard Page:

Appointment Page:
All Appointments Page:

Service Page:
Update Service Page:

Add Customer Page:

Customer List Page:


Between Dates Reports Page:

Sales Reports Page:

Invoice List Page:


Search Invoice Page:

Chapter Summery
This chapter discussed system design of the project including Architectural Design, user interface

design, Data storage design, database design, Normalization, Transforming E-R diagram into

relations, data dictionaries, design forms and finally chapter summary.

You might also like