CH 4
CH 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
- 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:
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
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
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
The DBMS handles all the complicated activities required to translate the designer’s view of the
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.
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
Customer Table:
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:
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:
ID (Primary) int(11) No
Name Text No
Email Text No
PhoneNumber Var(50) No
Password Text No
RegisteredDate Var(50) No
Service Table:
ID (Primary) int(11) No
Name Text No
Cost Var(50) No
Invoice Table:
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:
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