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

Ak 4

Chapter 4 outlines the system design for an application, detailing the admin and user modules, data design, and procedural design including various diagrams. It emphasizes the importance of data integrity, constraints, and the user interface design, while also addressing potential risks and mitigation strategies. Chapter 5 discusses implementation approaches, coding efficiency, and testing methodologies to ensure the system meets requirements and functions correctly.

Uploaded by

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

Ak 4

Chapter 4 outlines the system design for an application, detailing the admin and user modules, data design, and procedural design including various diagrams. It emphasizes the importance of data integrity, constraints, and the user interface design, while also addressing potential risks and mitigation strategies. Chapter 5 discusses implementation approaches, coding efficiency, and testing methodologies to ensure the system meets requirements and functions correctly.

Uploaded by

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

CHAPTER 4

SYSTEM DESIGN

4.1 BASIC MODULES

✓ Admin Module
✓ User Module

4.1.1 ADMIN MODULE

• Dashboard: In this section, Admin can briefly view expenses on a daily basis, monthly
basis, yearly basis and also check listed categories and registered users.

• Categories: In this section, Admin can create and manage (Edit and delete) the expense
categories.

• Users: In this section, Admin can manage the registered user (Edit, delete) and also
check his/her expenses.

• Reports: In this section, Admin can generate the user-wise report and also generate the
b/w dates report to check the registered users.

4.1.2 USER MODULE

• Dashboard: In this section, user can briefly view expenses on a daily basis, monthly
basis and yearly basis.

• Expenses: In this section user can manage the expenses (add/delete).

• Expense Report: In this section, user can view expenses on day wise basis, month wise
basis and year wise basis according to periods of time.

• Profile: In this section, user can update his/her profile.

• Change Password: In this section, user can change his/her passwords

• Logout: Through this button, user can log out.


4.2 DATA DESIGN

Data Design refers to the process of defining the structure, organization, and
relationships of data within a system to ensure efficient data management and retrieval. It
involves creating schemas, data models and defining data types, constraints and
interrelationships. Effective data design optimizes database performance, supports scalability,
and maintains data integrity. Key aspects include entity-relationship modeling, normalization
to reduce redundancy, and indexing to speed up queries. Proper data design is crucial for
applications, as it enhances data consistency, minimizes errors, and facilitates easier data
manipulation and analysis, ultimately leading to better decision-making and system reliability.

4.2.1 DATA INTEGRITY AND CONSTRAINTS

1. Entity Integrity Constraints:

The primary key attributes PK of each relation schema R cannot have null values in any
tuple of r(R). This is because primary key values are used to identify the individual tuples.

If two or more had null for their primary key, we are not able to distinguish them. Other
attributes of R may be similarly constrained to disallow null values, even though they are not
members of primary key. They ensure that each record in a table is uniquely identifiable
through a primary key, which must be unique and not null.

This constraint guarantees that no two rows have the same key value and that every
record has a valid identifier. For example, in a table of employees, an Employee ID serves as
the primary key, ensuring each employee is uniquely identifiable and no Employee ID is left
blank. Entity integrity also supports relational consistency by enabling effective linking of
tables through foreign keys. By enforcing these constraints, databases avoid issues like
duplicate records and data ambiguity, thereby enhancing data integrity and optimizing query
performance.

2. Referential Integrity Constraints

Key constraint and entity constraints are specified on individual relations but referential
integrity constraint is specified between two relations. And it is used to maintain the
consistency among tuples in two relations: the referencing relation and the referenced relation.
Referential integrity constraint states that a tuple in one relation that refers to another
relation must refer to an existing tuple in that relation. Referential integrity defines the concept
of foreign key.

4.3 PROCEDURAL DESIGN

4.3.1 LOGIC DIAGRAMS

Use Case Diagram

Use case diagrams are a type of behavioral diagram in Unified Modeling Language
(UML) that visually represents the interactions between users (actors) and a system. They help
in capturing the functional requirements of a system by illustrating what the system should do
from the user's perspective.

USER ADMIN

Sign in

Dashboard

Manage Expenses

Generate Reports

Categories
(add,edit,delete)

Update Profile

Registered User
(edit, delete)

Change Password

FIGURE 4.1 USE CASE DIAGRAM


Dataflow Diagram

Input expenses Details


Expense Mysql
Admin
Tracker
database
Final Report Report

FIGURE 4.2 LEVEL – 0 DFD

Enter Expense Details


User Expenses
\ Expense Tracker
User details Expense info

Enter data View reports

Admin

FIGURE 4.3 LEVEL – 1 DFD


Class Diagram

The class diagram is the main building block of object-oriented modelling. It is used
both for general conceptual modelling of the systematic of the application, and for detailed
modelling translating the models into programming code. In class diagram took the data mining
user, data mining provider and user. In data mining user we took the user login and user
constraints for uploading and downloading data. Data mining admin must get permission from
another data mining admin to access the data mining.

Admin
User
Username
Username
Password
Password
+ Login()
+ Login
+ Add Expenses()
+ View User details()
+ Manage Users()
+ Add Expenses()
+View Details()
+ Logout()
+ Logout()

FIGURE 4.4 CLASS DIAGRAM

Sequence Diagram

A sequence diagram in Unified Modelling Language (UML) is a kind of interaction


diagram that shows how processes operate with one another and in what order. It is a construct
of a Message Sequence Chart. Sequence diagrams are sometimes called event diagrams, event
scenarios, and timing diagrams.
Admin Database User

Edit Expenses

Manage Users

Generate Reports Manage Expenses

. View Profile

FIGURE 4.5 SEQUENCE DIAGRAM

4.3.2 DATA STRUCTURE

TABLE 4.1 USER TABLE

Sno Field name Null Type Constraint

1 Id Not null Int(10) Primary Key

2 Fullname Null Varchar(150)

3 Email Null Varchar(200)

4 Mobilenumber Null Bigint(10)

5 Password Null Varchar(200)

6 Regdate Not Null Timestamp


TABLE 4.2 EXPENSE TABLE

Sno Field Name Null Type Constraint

1 Id Not null Int(10) Primary Key

2 UserId Not null Int(10) Foreign Key

3 ExpenseDate Null Date

4 CategoryName Null Varchar(200) Foreign Key

5 ExpenseItem Null Varchar(200)

6 ExpenseCost Null Varchar(200)

7 NoteDate Null Timestamp

TABLE 4.3 ADMIN TABLE

Sno Field Name Null Type Constraint

1 Id Not null Int(11) Primary Key

2 AdminName Null Varchar(45)

3 UserName Null Varchar(45)

4 MobileNumber Null Bigint(11)

5 Email Null Varchar(120)

6 Password Null Varchar(120)

7 AdminRegDate Null Timestamp


TABLE 4.4 CATEGORY TABLE

Sno Field Name Null Type Constraint

1 Id Not null Int(11) Primary Key

2 CategoryName Null Varchar(180) Foreign Key

3 PostingDate Not null Timestamp

4.4 USER INTERFACE DESIGN

User Interface (UI) Design refers to the process of designing the visual and interactive
aspects of a software application or website.

Email

Login Server
Database

Password

Valid Invalid

Welcome Page Login Page

FIGURE 4.6 USER INTERFACE DIAGRAM


4.5 RISK LIST

TABLE 4.5 RISK LIST

Risk Ranking Magnitude Risk Description and Mitigation strategy


Impact contingency plan
Unauthorized access to Enhance security measures
1 sensitive data (e.g user and review data protection
records) could lead to policies
privacy issues
Unplanned outrages or Quickly restore the backups
system crashes could disrupt
2 access for all users and
hinder operations.
Problems with user Provide a help desk or
authentication and support system for users to
3 authorization could prevent report and resolve access
legitimate users from issues
accessing the portal
CHAPTER 5

IMPLEMANTATION AND TESTING

5.1 IMPLEMTATION APPROCHES

Implementation is the stage of the project when the theoretical design in turned out into a
working system. Thus, it can be considered to be the most critical stage in achieving a
successful new system and in giving the user, confidence that the new system will work and be
effective.

The implementation stage involves careful planning, investigation of the existing system
and its constraints on implementation, designing of methods to archive changeover and
evaluation of changeover methods.

Functional tests provide a systematic demonstration that functions tested are available a
specified by the business and technical requirements, system documentation and user manuals.

Functional testing is centered on the following items:

• Valid Input: Identified classes valid input must be accepted.


• Invalid Input: Identified classes of invalid input must be rejected.
• Functions: Identified functions must be exercised.
• Output: Identified classes of application outputs must be exercised.
• System/Procedures: Interfacing systems or procedures must be invoked.
• Business process flows: Data fields, predefined process and successive process must
be considered for testing. Before functional testing is complete, additional tests are
identified and the effective value of current tests is determined.

System testing ensures that the entire integrated software system meets requirements. It
tests a configuration to ensure known and predictable results. An example of system testing is
the configuration–oriented system integration test. System testing is based on process
descriptions and flows, emphasizing pre-driven process links and integration points.
5.2 CODING DETAILS AND CODE EFFICIENCY

The coding details and efficiency phase describes how the coding performance changes
the implementation of various task each of which performs a specific task.

5.2.1 CODE EFFICIENCY

Code efficiency plays a significant role in applications in a high execution-speed


environment where performance and scalability are paramount. One of the recommended best
practices in coding is to ensure good code efficiency. Well-developed programming codes
should be able to handle complex algorithms.

Recommendations for code efficiency include:

• To remove unnecessary code or code that goes to redundant processing.


• To make use of optimal memory and non-volatile storage.
• To ensure the best speed or run time for completing the algorithm.
• To make use of reusable components wherever possible.
• To make use of error and exception handling at all layers of software, such as the user
interface, logic and data flow.
• To create programming code that ensures data integrity and consistency.
• To develop programming code that's compliant with the design logic and flow.
• To make use of coding practices applicable to the related software.
• To optimize the use of data access and data management practices.
• To use the best keywords, data types and variables, and other available programming
concepts to implement the related algorithm.

5.3 TESTING APPROACH

Testing is an important phase of the software Developing Phase. Testing represents an


interesting anomaly for the software. Thus, a series of testing is performed for the proposed
system before the system is ready for user acceptance testing.

The common view of testing held by users is that, it is performed to prove that there are
no errors in the program. A Program is bug-free only till the next bug is found. The intention
of testing is to find the ‘next bug’. As an additional benefit, testing demonstrates that software
functions appear to be working according to specification.
5.3.1 UNIT TESTING

Unit testing is to validate that each unit of the software works as intended and meets the
requirements. Unit testing is typically performed by developers, and it is performed early in
the development process before the code is integrated and tested as a whole system.

Unit tests are automated and are run each time the code is changed to ensure that new
code does not break existing functionality. Unit tests are designed to validate the smallest
possible unit of code, such as a function or a method, and test it in isolation from the rest of the
system. This allows developers to quickly identify and fix any issues early in the development
process, improving the overall quality of the software and reducing the time required for later
testing.

The objective of Unit Testing is:

• To isolate a section of code.


• To verify the correctness of the code.
• To test every function and procedure.
• To fix bugs early in the development cycle and to save costs.

5.3.2 INTEGRATED TESTING

Modules are put together one by one, and the interfaces of modules are tested. In this
project, it is tested in such a way that the session variables can be shared anywhere in the project
and with the actual value. It is tested so that the flow from one form to another form is not
affected due to the session variables.

You might also like