Professional Documents
Culture Documents
OOAD New
OOAD New
PRACTICAL FILE
Session: 2022-23
Registration No:
BONAFIDE CERTIFICATE
PAGE
S.NO TITLE OF EXPERIMENT DATE NO. SIGNATURE
/REMARKS
Experiment-1
SRS is a document created by system analyst after the requirements are collected from various stakeholders.
SRS defines how the intended software will interact with hardware, external interfaces, speed of operation,
response time of system, portability of software across various platforms, maintainability, speed of recovery
after crashing, Security, Quality, Limitations etc.
The requirements received from client are written in natural language. It is the responsibility of system analyst
to document the requirements in technical language so that they can be comprehended and useful by the
software development team.
SRS should come up with following features:
User Requirements are expressed in natural language.
Technical requirements are expressed in structured language, which is used inside the organization.
Design description should be written in Pseudo code.
Format of Forms and GUI screen prints.
Conditional and mathematical notations for DFDs etc.
Software requirement specification is a kind of document which is created by a software analyst after the
requirements collected from the various sources - the requirement received by the customer written in
ordinary language. It is the job of the analyst to write the requirement in technical language so that they can be
understood and beneficial by the development team.
The models used at this stage include ER diagrams, data flow diagrams (DFDs), function decomposition
diagrams (FDDs), data dictionaries, etc.
o Data Flow Diagrams: Data Flow Diagrams (DFDs) are used widely for modeling the requirements.
DFD shows the flow of data through a system. The system may be a company, an organization, a set of
procedures, a computer hardware system, a software system, or any combination of the preceding. The
DFD is also known as a data flow graph or bubble chart.
o Data Dictionaries: Data Dictionaries are simply repositories to store information about all data items
defined in DFDs. At the requirements stage, the data dictionary should at least define customer data
items, to ensure that the customer and developers use the same definition and terminologies.
o Entity-Relationship Diagrams: Another tool for requirement specification is the entity-relationship
diagram, often called an "E-R diagram." It is a detailed logical representation of the data for the
organization and uses three main constructs i.e. data entities, relationships, and their associated
attributes.
Feasibility Study
Feasibility Study in Software Engineering is a study to evaluate feasibility of proposed project or system.
Feasibility study is one of stage among important four stages of Software Project Management Process .
As name suggests feasibility study is the feasibility analysis or it is a measure of the software product in
terms of how much beneficial product development will be for the organization in a practical point of view.
Feasibility study is carried out based on many purposes to analyze whether software product will be right in
terms of development, implantation, contribution of project to the organization etc.
Feasibility study is so important stage of Software Project Management Process as after completion of
feasibility study it gives a conclusion of whether to go ahead with proposed project as it is practically
feasible or to stop proposed project here as it is not right/feasible to develop or to think/analyze about
proposed project again.
Along with this Feasibility study helps in identifying risk factors involved in developing and deploying
system and planning for risk analysis also narrows the business alternatives and enhance success rate
analyzing different parameters associated with proposed project development.
a) Economical Feasibility:-
Overall we have estimated that the benefit the organization is going to received by system will be
much more than the it’s cost.
b) Technical Feasibility
For this feasibility study, we studied the complete functionality to be provided in the system, as
described in SRS, and checked that everything is possible with help of different tools and technology.
c) Schedule Feasibility
Functional Requirement
These are the requirements that the end user specifically demands as basic facilities that the system should
offer. All these functionalities need to be necessarily incorporated into the system as a part of the contract.
These are represented or stated in the form of input to be given to the system, the operation performed and
the output expected. They are basically the requirements stated by the user which one can see directly in the
final product, unlike the non-functional requirements.
Functional requirements define a function that a system or system element must be qualified to perform and
must be documented in different forms. The functional requirements describe the behavior of the system as it
correlates to the system's functionality.
Functional requirements should be written in a simple language, so that it is easily understandable. The
examples of functional requirements are authentication, business rules, audit tracking, certification
requirements, transaction corrections, etc.
These requirements allow us to verify whether the application provides all functionalities mentioned in the
application's functional requirements. They support tasks, activities, user goals for easier project management.
There are a number of ways to prepare functional requirements. The most common way is that they are
documented in the text form. Other formats of preparing the functional requirements are use cases, models,
prototypes, user stories, and diagrams.
1.Wish
2.News
3.Sending mails
4.Weather
5.Pdf Reader
6.Opening Notepad
8.Open Camera
9.Play Music
10.Ip Address
12.Open Facebook
14.Open Google
15.Sleep Function
18.Wikipedia function
19.Set alarm
20.Tell Me a Joke
SYSTEM FEATURE
For this project following modules and libraries were used i.e. pyttsx3, SpeechRecognition, Datetime,
Wikipedia, Smtplib, pywhatkit, pyjokes, pyPDF2, pyautogui, pyQt etc.
Functionality:-
A. Speech Recognition: The process of converting speech to text by using Google’s speech recognition
algorithm is known as speech recognition, we user gives voice input it converts into the text from the special
corpora organized on the computer network server, the information stored from the microphone is temporarily
stored in the system which is the sent to the google cloud for speech recognition, The required text is then
received and fed into the central processor
B. Python Backend: The python backend parses the voice recognition module's output to determine whether
the command or speech output is an API Call, Context Extraction, or System Call. The output is then sent
back to the python backend to provide the user with the desired results.
C. API Calls : The acronym for Application Programming Interface (API) is Application Programming
Interface. A software that allows the communication between two apps is known as API. In simple words API
is a messenger that sends the request to the provider and receives the required output.
D. Content Extraction : Context extraction (CE) is the process of obtaining structured data from machine-
readable materials that are unstructured or semi-structured. The majority of the time, this activity entails using
natural language processing to process human language texts (NLP). TEST RESULTS for context extraction
can be seen in recent activities in multimedia document processing, such as automatic annotation and content
extraction from images/audio/video.
E. System Calls : The mechanism through which a computer software requests a service from the kernel of the
operating system on which it is running is known as a system call. Hardware-related services (for example,
accessing a hard disc drive), the creation and execution of new processes, and communication with core kernel
services such as process scheduling are all examples of this. A process's interface with the operating system is
provided by system calls.
F. Text-To-Speech : The capacity of computers to read text aloud is referred to as text-to-speech (TTS).
Written text is converted to a phonemic representation, which is subsequently converted to waveforms that
can be generated as sound by a TTS Engine. Third-party publishers offer TTS engines in a variety of
languages, dialects, and specialist vocabularies.
These are basically the quality constraints that the system must satisfy according to the project contract. The
priority or extent to which these factors are implemented varies from one project to other. They are also
called non-behavioral requirements.
Non-functional requirements are not related to the software's functional aspect. They can be the necessities
that specify the criteria that can be used to decide the operation instead of specific behaviors of the system.
Basic non-functional requirements are - usability, reliability, security, storage, cost, flexibility, configuration,
performance, legal or regulatory requirements, etc.
Execution qualities like security and usability, which are observable at run time.
Evolution qualities like testability, maintainability, extensibility, and scalability that embodied in the static
structure of the software system.
Non-functional requirements specify the software's quality attribute. These requirements define the general
characteristics, behavior of the system, and features that affect the experience of the user. They ensure a better
user experience, minimizes the cost factor. Non-functional requirements ensure that the software system must
follow the legal and adherence rules. The impact of the non-functional requirements is not on the functionality
of the system, but they impact how it will perform. For a well-performing product, atleast some of the non-
functional requirements should be met.
The System’s primary focus should be on providing a user friendly, easy to understand interface,
which can be used easily by anyone.
The system should response quickly ( should not take more than 10 sec) after user login.
iii. Security:-
Only admin with valid user name and password should be able to login into the system.
Software Requirement
Software requirements for a system are the description of what the system should do, the service or services
that it provides and the constraints on its operation. The IEEE Standard Glossary of Software Engineering
Terminology defines a requirement as:
• Python Script.
• PYQT5 Designer.
DESIGN OBJECTIVE
Design is an exact blueprint of what will be built & a basis for the configuration & content of that blueprint.
The primary objective of the design is to deliver the requirements as specified in the feasibility report.
Following objectives should be kept in mind: -
1. Practicability:-
The system must be stable & can be operated by people of average intelligence.
2. Efficiency:-
Good design should be efficient as it should properly use the scare resource of system. two of the
important such resources are processor time & memory. An efficient system consume less processor
time & memory.
3. Cost: -
It is desirable to aim for a system with a minimum cost subject to the condition that it must satisfy all
the requirements.
4. Flexibility: -
on the changing needs of the user, Such modifications should not entail extensive reconstruction or
recreation of software. The system should be modifiable depending are. It should also be portable to
different computer systems.
5. Security: -
This is very important aspect of the design & should cover areas as hardware reliability, fall back
procedures, physical security of data & provision of detection of fraud & abuse.
6. Reliability:-
The end user will normally specify reliability requirements for a new system.these requirements may
be expressed in terms of mean time between failure or mean time to repair or system availability.
7. Correctness:-
Good design should correctly implement both ,all of the explicit requirements contained in the analysis
model and all of the implicit requirements desired by the customer.
8. Understandability:-
The design should be a readable , simple, understandable guide for those who generate code and for
those who test and subsequently support the system.
9. Modularity:-
It aims for composition of a problem into modules which results in reduction of complexity of the
design solution.
10.Completeness:-
Good design should cover all relevant data structures , modules ,external interface and module
interconnection .
11.Consistency:-
Design should follow consistency through the system. it aims that there is no inherent inconsistencies
in the design.
12.Verifiability:-
13.Traceabiliy:-
Aim: Identify which use case diagram is to be made related to the software
for the problem identified
Use Case:
A use case diagram is used to represent the dynamic behavior of a system. It encapsulates the system's
functionality by incorporating use cases, actors, and their relationships. It models the tasks, services, and
functions required by a system/subsystem of an application. It depicts the high-level functionality of a system
and also tells how the user handles a system.
Actors : A use case diagram shows the interaction between the system and entities external to the system.
These external entities are referred to as actors. Actors represent roles which may include human users,
external hardware or other systems.
Use Cases: A use case is a single unit of meaningful work. It provides a high-level view of behavior
observable to someone or something outside the system. The notation for a use case is an ellipse.
System Boundary: A system boundary is a rectangle that you can draw in a use-case diagram to separate the
use cases that are internal to a system from the actors that are external to the system.
Use Case Diagram
Experiment-5
Aim: Make Class Diagram and Object Diagram but differentiate which is
associated with class and which is not.
Class diagrams:
Class diagrams are the main building blocks of every object-oriented method. The class diagram can be
used to show the classes, relationships, interface, association, and collaboration. UML is standardized in
class diagrams.
Object Diagram:
An Object Diagram can be referred to as a screenshot of the instances in a system and the relationship that
exists between them. Since object diagrams depict behaviour when objects have been instantiated, we are
able to study the behavior of the system at a particular instant. Object diagrams are vital to portray and
understand functional requirements of a system.
In other words, “An object diagram in the Unified Modeling Language (UML), is a diagram that shows
a complete or partial view of the structure of a modeled system at a specific time.”
Sequence Diagrams:
A sequence diagram simply depicts interaction between objects in a sequential order i.e. the order in which
these interactions take place. We can also use the terms event diagrams or event scenarios to refer to a
sequence diagram. Sequence diagrams describe how and in what order the objects in a system function.
Cases details:-
Case 1- related to voice input and voice output between client and server.
Case 2- related to task input and executed output between client and server.
Case 3- related to voice input and fetching command between client , server and storage
file.