Ak 4
Ak 4
SYSTEM DESIGN
✓ Admin Module
✓ User 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.
• Dashboard: In this section, user can briefly view expenses on a daily basis, monthly
basis and yearly basis.
• 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.
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.
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.
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.
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
Admin
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()
Sequence Diagram
Edit Expenses
Manage Users
. View Profile
User Interface (UI) Design refers to the process of designing the visual and interactive
aspects of a software application or website.
Login Server
Database
Password
Valid Invalid
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.
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.
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.
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.