Software Requirements
Specification
for
AI Skin Disease Detection App
Version 1.0
Prepared by
Group Name: BSCS-7A FYP Team – AI Skin Lesion Detection
Raja Aliyan Bilal FA-22/BSCS/050
[email protected]Muhammad Saad Shafiq FA-22/BSCS/041
[email protected] Supervisor: Mr.Umair Maqsood
Coordinator: Ma’am Rabiya Ghafoor
Date: 31/10/2025
Software Requirements Specification for <Project> Page
Contents
REVISIONS................................................................................................................................................................
1 INTRODUCTION................................................................................................................................................
1.1 DOCUMENT PURPOSE.................................................................................................................................
1.2 PRODUCT SCOPE........................................................................................................................................
1.3 INTENDED AUDIENCE AND DOCUMENT OVERVIEW....................................................................................
1.4 DEFINITIONS, ACRONYMS AND ABBREVIATIONS........................................................................................
1.5 DOCUMENT CONVENTIONS.........................................................................................................................
1.6 REFERENCES AND ACKNOWLEDGMENTS...................................................................................................
2 OVERALL DESCRIPTION...............................................................................................................................
2.1 PRODUCT PERSPECTIVE.............................................................................................................................
2.2 PRODUCT FUNCTIONALITY..........................................................................................................................
2.3 USERS AND CHARACTERISTICS..................................................................................................................
2.4 OPERATING ENVIRONMENT.........................................................................................................................
2.5 DESIGN AND IMPLEMENTATION CONSTRAINTS..........................................................................................
2.6 USER DOCUMENTATION..............................................................................................................................
2.7 ASSUMPTIONS AND DEPENDENCIES...........................................................................................................
3 SPECIFIC REQUIREMENTS...........................................................................................................................
3.1 EXTERNAL INTERFACE REQUIREMENTS.....................................................................................................
3.2 FUNCTIONAL REQUIREMENTS.....................................................................................................................
3.3 BEHAVIOUR REQUIREMENTS......................................................................................................................
4 OTHER NON-FUNCTIONAL REQUIREMENTS..........................................................................................
4.1 PERFORMANCE REQUIREMENTS................................................................................................................
4.2 SAFETY AND SECURITY REQUIREMENTS...................................................................................................
4.3 SOFTWARE QUALITY ATTRIBUTES..............................................................................................................
5 OTHER REQUIREMENTS................................................................................................................................
APPENDIX A – DATA DICTIONARY.......................................................................................................................
APPENDIX B - GROUP LOG..................................................................................................................................
Software Requirements Specification for <Project> Page
Revisions
Version Primary Author(s) Description of Version Date Completed
Draft Type Full Name Information about the revision. This table does 00/00/00
and not need to be filled in whenever a document is
Number touched, only when the version is being upgraded.
<In this template you will find text bounded by the “<>” symbols. This text appears in italics
and is intended to guide you through the template and provide explanations regarding the
different sections in this document. There are two types of comments in this document.
These comments that are in black are intended specifically for that course. These comments
that are in blue are more general and apply to any SRS. Please, make sure to delete all of
the comments before submitting the document.
The explanations provided below, do not cover all of the material, but merely, the general
nature of the information you would usually find in SRS documents. It is based on the IEEE
requirements and was adapted specifically for the needs of Software Engineering
3K04/3M04 courses. Most of the sections in this template are required sections, i.e. you
must include them in your version of the document. Failure to do so will result in marks
deductions. Optional sections will be explicitly marked as optional.
Software Requirements Specification for <Project> Page 1
1 Introduction
1.1 Document Purpose
This Software Requirements Specification (SRS) document defines the requirements for the Skin
Lesion Detection and Classification Android Application. The purpose of this document is to
describe the functional and non-functional requirements, the intended users, and the system
overview of the project.
This document serves as a reference for the development, testing, and validation of the
application, which uses a pre-trained deep learning model converted into TensorFlow Lite format
and integrated with an Android application built using Java.
1.2 Product Scope
The application allows users to capture or upload an image of a skin lesion, which is then analyzed
using a trained deep learning model to classify it into one of seven lesion types. The system aims
to provide users with a quick, AI-assisted skin check to promote early detection and awareness of
potential skin diseases.
This solution contributes to healthcare accessibility by enabling preliminary lesion screening
without internet dependency, as all processing is done on-device for privacy and speed
1.3 Intended Audience and Document Overview
This document is intended for:
Developers and AI Engineers: to implement and integrate the deep learning model with
Android.
Supervisors and Evaluators: to understand the project objectives, scope, and
functionality.
End Users (General Public): to get a basic understanding of how the app assists in
lesion detection.
The document is organized into three chapters:
Chapter 1: Describes the purpose, scope, and intended audience.
Chapter 2: Provides an overall system description and its context.
Chapter 3: Specifies detailed system requirements.
1.4 Definitions, Acronyms and Abbreviations
AI (Artificial Intelligence): The simulation of human intelligence by computers, enabling
them to perform tasks such as learning and problem-solving.
CNN (Convolutional Neural Network): A type of deep learning model commonly used for
image classification and pattern recognition.
HAM10000 (Human Against Machine with 10,000 training images): A public
dermatology dataset containing 10,000 labeled skin lesion images used for model training
and evaluation.
TFLite (TensorFlow Lite): A lightweight version of TensorFlow designed to run machine
learning models efficiently on mobile and embedded devices.
Software Requirements Specification for <Project> Page 2
1.5 Document Conventions
Font: Arial, size 11, single-spaced
Headings follow IEEE 830 SRS standard
All technical terms and acronyms are defined in Section 1.4
Diagrams follow UML and data flow notation standards
1.6 References and Acknowledgments
HAM10000 Dataset (Kaggle, 2023)
TensorFlow Lite Documentation, Google Developers
Android Developers Documentation, developer.android.com
Software Requirements Specification for <Project> Page 3
2 Overall Description
2.1 Product Perspective
The Skin Lesion Detection App is a standalone Android application integrating a deep learning
image classification model. The model is trained using TensorFlow on the HAM10000 dataset and
later converted to TensorFlow Lite for mobile inference.
2.2 Product Functionality
The main features include:
Upload or capture image of a lesion
Preprocess image (resize, normalize)
Run inference using the embedded CNN model
Display predicted lesion type with confidence percentage
Provide educational info and disclaimers
2.3 Users and Characteristics
The main users of the system are general users, developers, and supervisors or evaluators.
General users are individuals who want to check their skin lesions using the app. They may not
have any technical background, so the interface must be simple, easy to navigate, and provide
clear results.
Developers or technical team members are responsible for building, testing, and maintaining the
Android application and the deep learning model. They have knowledge of Java, Android Studio,
and TensorFlow Lite integration, and they rely on technical documentation for further
improvements.
Software Requirements Specification for <Project> Page 4
Supervisors or evaluators include project instructors or mentors who assess the application’s
functionality, usability, and technical performance. They require clear reports and demonstrations
to evaluate the project’s success.
2.4 Operating Environment
The Skin Lesion Detection and Classification App will operate on Android mobile devices and will
be developed using Android Studio with Java as the programming language. The application
integrates a deep learning model through TensorFlow Lite, which enables efficient on-device
image classification without requiring an internet connection. The app is designed to function on
devices running Android 8.0 (Oreo) or higher to ensure compatibility with modern mobile hardware
and APIs. It requires access to the device’s camera and storage for image capture and processing.
The recommended hardware configuration includes at least 3 GB of RAM and a quad-core
processor for smooth performance. The system operates entirely on-device, ensuring privacy and
quick inference while maintaining compatibility with most mid-range Android smartphones.
2.5 Design and Implementation Constraints
The design and implementation of the Skin Lesion Detection and Classification App are subject to
several constraints. The deep learning model must be converted into TensorFlow Lite (.tflite)
format to ensure compatibility with mobile devices, which limits the model size and complexity.
Since the application is developed in Java using Android Studio, it must comply with Android
development standards and lifecycle constraints. The system should perform efficiently on devices
with limited hardware resources, including lower RAM and processing power. The app must also
function offline, meaning all image processing and predictions occur on-device without external
server support. Additionally, user privacy and data security must be maintained, ensuring that no
personal images are stored or transmitted to external servers. The accuracy of lesion classification
depends heavily on the quality and balance of the HAM10000 dataset, which may introduce
limitations in handling rare lesion types.
2.6 User Documentation
A digital user manual will be included within the app under the “Help” section, explaining how to
capture/upload images and interpret results. Online documentation will be provided via a simple
HTML/PDF guide.
2.7 Assumptions and Dependencies
The user has a functioning camera and stable lighting for image capture.
TensorFlow Lite supports the model without conversion issues.
Dataset is balanced and representative of real-world lesions.
No continuous internet connection required
Software Requirements Specification for <Project> Page 5
3 Specific Requirements
3.1 External Interface Requirements
3.1.1 User Interfaces
The Skin Lesion Detection and Classification App provides a simple and intuitive user interface that
allows users to either capture an image of a skin lesion using the device camera or upload an
existing image from the gallery. The interface is designed using Android’s Material Design
principles, ensuring clarity and ease of use. The application includes essential screens such as the
Home Screen, Image Input Screen, Result Display Screen, and an optional History or Help
Section. The software interfaces involve communication between the Android operating system
and the TensorFlow Lite interpreter, which processes the image and returns the classification
result. Hardware interfaces include the camera module for capturing images and internal storage
for temporary file handling. The app functions primarily offline, performing all processing locally on
the device; however, future versions may include limited online updates or cloud-based data
synchronization. These interfaces collectively ensure smooth interaction between the user, device
hardware, and the embedded AI model for accurate and efficient lesion classification.
3.1.2 Hardware Interfaces
The Skin Lesion Detection and Classification App interacts with several hardware components of
the Android device to perform its core functions. The primary hardware interface is the camera,
which captures high-resolution images of skin lesions for analysis. The application communicates
with the camera through Android’s built-in CameraX API, allowing controlled image capture and
access to device sensors such as focus and exposure. Another important hardware interface is the
internal storage, which temporarily holds the captured or uploaded image before it is sent to the
TensorFlow Lite model for processing. The app also utilizes the CPU and GPU of the device for
running deep learning inference tasks, with TensorFlow Lite automatically optimizing computations
based on available hardware acceleration. The system is designed to function smoothly on Android
devices with a minimum of 3 GB RAM and a quad-core processor, ensuring reliable operation
across a wide range of smartphones. These hardware interfaces collectively enable seamless
interaction between the software and device components to support accurate, real-time lesion
classification.
3.1.3 Software Interfaces
The App interacts with several software components to perform its functions efficiently. The
application is developed using Android Studio and built in Java, leveraging the Android SDK for
user interface design and core functionality. The app integrates with the TensorFlow Lite library,
which provides the necessary APIs for loading and running the trained deep learning model on
mobile devices. The TensorFlow Lite interpreter handles model inference and returns classification
results to the application layer. Additionally, the app may utilize Android Jetpack libraries for
managing image input, lifecycle handling, and local data storage through Room Database or
SharedPreferences. The application runs on devices powered by the Android operating system
(version 8.0 or higher), ensuring compatibility with modern hardware and APIs. All software
Software Requirements Specification for <Project> Page 6
components are designed to interact seamlessly, providing a stable, efficient, and responsive user
experience.
3.1.4 Communications Interfaces
The App primarily operates offline, so minimal communication interfaces are required during
normal use. The app performs all model inference locally on the device, which enhances privacy
and eliminates the need for constant internet connectivity. However, in future updates, the
application may include optional online communication features for retrieving updated lesion
information, educational content, or cloud-based model improvements. In such cases, the app will
communicate securely using standard HTTP or HTTPS protocols to ensure data integrity and
confidentiality. Any communication between the app and external servers will follow Android’s
network security configuration and use SSL/TLS encryption to protect user data. This limited but
secure communication framework ensures that the application remains efficient, safe, and privacy-
focused while supporting future scalability.
3.2 Functional Requirements
The system shall allow the user to capture or upload an image of a skin lesion using the
device’s camera or gallery.
The system shall preprocess the image by resizing and normalizing it before
classification.
The application shall use the TensorFlow Lite model to classify the image into one of
seven lesion categories.
The system shall display the prediction result along with the confidence percentage to
the user.
The app shall provide educational information about the detected lesion type and display
a medical disclaimer stating it is not a diagnostic tool.
The application may store previous test results locally for user reference (optional).
The system shall show error messages when the image is invalid, corrupted, or cannot be
processed.
3.3 Behaviour Requirements
3.3.1 Use Case View
The main actor of the system is the User, who interacts with the Skin Lesion Detection App to
perform key functions.
Actors:
User: Captures or uploads an image and views results.
System: Processes the image and displays classification output.
Use Cases:
Capture Image
Upload Image
Preprocess Image
Classify Lesion
Display Result
View Information
Save Result (optional)
Handle Errors
Software Requirements Specification for <Project> Page 7
Description:
The user captures or uploads a lesion image, the system preprocesses and classifies it using
TensorFlow Lite, then displays the result. The user may view details or save the result.