Professional Documents
Culture Documents
Design
Software design is an important activity as it determines how the whole software
development task would proceed including the system maintenance. The design of
software is essentially a skill, but it usually requires a structure which will provide
a guide or a methodology for this task.
In system designing the design’s functions and operations are described in detail,
including screen layouts, process diagrams and other documentation. The output of
this stage will describe the new system as a collection of modules or subsystems.
Design elements describe the desired system features in detail, and generally
include functional hierarchy diagrams, screen layout diagrams, tables of process
diagrams and a complete entity-relationship diagram (ERD) with a full data
dictionary. These design elements are intended to describe the system in sufficient
detail, such that skilled developers and engineers may develop and deliver the
system with minimal additional input design.
For a web/mobile based application the system architecture design would include
components such as, database, application server, web server, internet, browser etc.
Not all of these have to be included in the diagram and there are other components
that can be included.
1
User
Textual Notes Voice Notes Recorded Notes Scan Notes Handwritten Notes
There are certain general constraints for designing the applications for mobile
devices that are needed to be survived to provide a balance between the best
possible user experience. These constraints may include:
2
• Shorter battery life.
• Wireless network connections.
• Slower processor speed.
• Less available memory.
Every emphasis goes through the prerequisites, structure, coding and testing stages.
Also, each ensuing arrival of the framework adds capacity to the past discharge
until all planned usefulness has been executed.
3
The framework is put into creation when the main increment is conveyed. The
primary increment is frequently a center item where the fundamental necessities are
tended to, and valuable highlights are included the next increments. When the
center item is examined by the customer, there is plan improvement for the next
increment.
4
4.4.1 Conceptual or Logical
Conceptual design is the very first phase of design, in which drawings or solid
models are the dominant tools and products. The conceptual design phase provides
a description of the proposed system in terms of a set of integrated ideas and
concepts about what it should do, how it should behave, and what it should look
like, which will be understandable by users in the manner intended.
4.4.2 Process
In this view point we elaborate the runtime view of the system. Process Interaction
diagram is used for this purpose. From the term Interaction, it is clear that the
diagram is used to describe some type of interactions among the different elements
in the model. This interaction is a part of dynamic behavior of the system.
5
Sequence diagram emphasizes on time sequence of messages and collaboration
diagram emphasizes on the structural organization of the objects that send and
receive messages.
Floating
User Home Screen Textual Notes DB
Menu
7: Space Shortage
6
Floating
User Home Screen Voice Notes Microphone DB
Menu
7: Record voice
Floating Recorded
User Home Screen Microphone DB
Menu Notes
7: Record voice
8: Save note
9: recorded note shown
in playlist
10: noise in Recording
11: Space Shortage
7
Floating Camera/
User Home Screen Scan Notes DB
Menu Gallery
7: Take pictuers
Or
Pick from Gallery
8: Blur images
9: Convert images into text
or
10: Recognition Failed in pdf format
11: Save note
12: Space Shortage
X
Figure 4.7- Sequence Diagram for Scanned Notes
Floating Handwritten
User Home Screen DB
Menu Notes
X
Figure 4.8- Sequence Diagram for Handwritten Notes
8
User Home Screen Options Menu Sort By Notebooks
7: Notebooks sorted.
8: No saved notebook exists.
9
Individual
User Notebook All Notes
Note
1: User clicks on a notebook.
2: List of all notes appears.
Pop up
User Notebook Trash
menu
1: Clicks on the notebook.
2: Pop up menu appears.
10
Overflow Navigation
User Notebook Note Trash
Button Menu
Overflow Navigation
User Notebook Note
Button Menu
1: Clicks on the notebook.
2: Select a note to edit.
11
Overflow Navigation
User Notebook Note
Button Menu
1: Clicks on the notebook.
2: Select a note to edit.
12
Available
User Home Screen Action bar
Applications
X
Figure 4.16- Sequence Diagram for Sharing notes.
X
Figure 4.17- Sequence Diagram for Sync notes.
13
Navigation
User Home Screen Searchbar Notebook Searchbar
Menu
Google
User Home Screen Drawer Menu Google Drive
Account
14
Online Internal
User Home Screen Drawer Menu Settings
Storage Storage
8: Downloaded on device
9: Space Shortage
Locked
User Home Screen Popup Menu
Notebook
15
Locked
User Home Screen Popup Menu
Notebook
Locked
User Home Screen Popup Menu
Notebook
X
Figure 4.23- Sequence Diagram for securing notes via passwords
16
4.4.3 Physical
4.4.4 Module
• Textual Notes
• Voice Notes
• Recorded Notes
• Scanned Notes
17
• Handwritten Notes
4.4.5 Security
Software design should sketch out all the application’s security needs. Some
applications may rely on the operating system’s security and not provide their own.
Others may use the operating system’s security. Application security also means
providing the right level of access to different users. For example, some users might
not be allowed access to every part of the system.
To keep data secure, this application provide security in form of encryption. User
can encrypt notebooks to make them private and secure. Application provide
following encryption options regarding security measures:
• Fingerprint Authentication
• Pin/ Passwords
• Patterns
The low-level design (LLD) phase is where the actual software components are
designed. It defines the actual logic for each and every component of the system.
Class diagram with all the methods and relation between classes comes under LLD.
Component tests are created in this phase as well.
18
User Notebook
googleAccount id:Int
1 * title:String
createNotes()
updateNotes() add()
viewNotes() delete()
deleteNotes()
searchNotes()
shareNotes()
Notes
1
id:int
* title:String
category:String
create()
save()
delete()
update()
Voice
Textual
id:int
id:int title:String
title:String Handwritten voice
description
id:int
title:String
drawing
Recorded
Scan
id:int
id:int
title:String
title:String
voice
images
Database
dbName
store()
read()
delete()
update()
This project takes SQLite database system which is free, fast, reliable and open
source. Although it does lack some sophistication and facilities, but as it goes from
release to release, more capabilities are added.
19
4.6.1 Database Design Process
A well-structured database:
Understanding the purpose behind your database will illuminate your decisions all
through the plan procedure. Ensure you think about the database from each point
of view. For example, on the off chance that you were making a database for an
open library, you'd need to consider the manners by which the two benefactors and
custodians would need to get to the information.
Here are some approaches to accumulate data before making the database:
Begin by social occasion any current information that will be incorporated into the
database. At that point list the kinds of information you need to store and the
20
elements, or individuals, things, areas, and occasions, that those data depict, this
way:
Categories
• Category ID
• Category Name
Text Notes
• Text Note ID
• Title
• Description
• Category Name
Voice Notes
• Voice Notes ID
• Title
• Description
• Category name
Handwritten Notes
• ID
• Title
• Description
• Category Name
Scanned Notes
• ID
• Title
• Description
• Category Name
21
Security
• ID
• Pattern Saved
• Password Saved
• PIN Saved
This data will later be moved toward becoming piece of the information word
reference, which diagrams the tables and fields inside the database.
Inside a database, related data are assembled into tables, every one of which
comprises of lines (likewise called tuples) and segments, like a spreadsheet.
Categories
ID
Name
22
Text Notes
ID
Title
Description
Category Name
Title (VARCHAR)
Description (VARCHAR)
Voice Notes
ID
Title
Description
Category Name
Title (VARCHAR)
Description (VARCHAR)
Handwritten Notes
ID
Title
Description
Category Name
23
Title (VARCHAR)
Description (VARCHAR)
Scanned Notes
ID
Title
Description
Category Name
Title (VARCHAR)
Description (VARCHAR)
Recorded Notes
ID
Title
Description
Audio File
Category Name
Title (VARCHAR)
Description (VARCHAR)
24
Attachments
ID
File Name
Type
Type (VARCHAR)
Security
Passwords Saved
Patterns saved
PIN Saved
There are three types of relationships in the E-R model such as unary, binary and
ternary. The procedure to represent a relationship depends on the type of
relationship and the cardinalities of the relationship. The type of relationships and
their representation are described below:
One-to-One Relationship
At the point when there's solitary one instance of Entity A for each occurrence of
Entity B, they are said to have a one-to-one relationship (regularly composed 1:1).
You can demonstrate this sort of relationship in an ER chart with a line with a
dash on each end.
25
One-to-Many Relationship
These relationships happen when a record in one table is related with numerous
entries in another. For instance, a solitary client may have submitted numerous
requests, or a supporter may have different books looked at from the library without
a moment's delay. One-to-many (1:M) connections are demonstrated with what's
classified "Crow's foot documentation".
Many-to-Many Relationship
At the point when different elements from a table can be related with numerous
substances in another table, they are said to have a many-to-many (M:N)
relationship. This may occur on account of understudies and classes, since an
understudy can take numerous classes and a class can have numerous understudies.
In an ER graph, these connections are depicted with "Crow Foot Notation" on the
two sides.
USER
Creates
Description Description
Has
Category
Name
26
4.6.5 Data Integrity Rules
You ought to likewise design your database to approve the information as indicated
by the suitable tenets. Numerous database the board frameworks, for example,
Microsoft Access, uphold a portion of these standards consequently.
The element honesty decide says that the essential key can never be NULL. On the
off chance that the key is comprised of numerous segments, none of them can be
NULL. Else, it could neglect to particularly distinguish the record.
The referential uprightness rule requires each remote key recorded in one table to
be coordinated with one essential key in the table it references. On the off chance
that the essential key changes or is erased, those progressions should be actualized
wherever that key is referenced all through the database.
Business rationale respectability decides to ensure that the information fits inside
certain sensible parameters. For example, an arrangement time would need to fall
inside typical business hours.
In spite, of the fact that files accelerate information recovery, they can back off
embeddings, refreshing, and erasing, since the list must be revamped at whatever
point a record is changed.
A view is essentially a spared inquiry on the information. They can helpfully join
information from various tables or else show some portion of a table.
27
4.6.7 Database Management Systems
A considerable lot of the plan decisions rely upon which database the board
framework you use. The absolute most regular frameworks include:
• Oracle DB
• MySQL
• SQLite Database
• Microsoft SQL Server
• PostgreSQL
• IBM DB2
At the point when given the decision, pick a suitable database the executives
framework dependent on cost, working frameworks, highlights, and that's only the
tip of the iceberg.
This project takes SQLite database system which is free, fast, reliable and open
source. Although it does lack some sophistication and facilities, but as it goes from
release to release, more capabilities are added.
28
Figure 4.7.1-Splash Screen Figure 4.7.2-Main Activity with
Notebooks
29
Figure 4.7.5-Main’s Drawer Activity Figure 4.7.6-Speech Input in Voice Activity
30
Figure 4.7.9-Handwritten Activity Figure 4.7.10-Setting Reminder
31