[go: up one dir, main page]

0% found this document useful (0 votes)
68 views28 pages

Stegnography

Here is the Software Requirement Specification (SRS) for the Steganography Tool: 1. Introduction 1.1 Purpose The purpose of this document is to present the requirements for the development of a steganography tool that will enable users to securely hide and extract confidential data within digital images. 1.2 Scope The steganography tool will provide functionality for users to embed secret messages or files into cover images and later extract the hidden data from encoded images without compromising the cover image quality or arousing suspicion. Additional security features like encryption and password protection will also be implemented. 1.3 Definitions, Acronyms, and Abbreviations SRS - Software Require

Uploaded by

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

Stegnography

Here is the Software Requirement Specification (SRS) for the Steganography Tool: 1. Introduction 1.1 Purpose The purpose of this document is to present the requirements for the development of a steganography tool that will enable users to securely hide and extract confidential data within digital images. 1.2 Scope The steganography tool will provide functionality for users to embed secret messages or files into cover images and later extract the hidden data from encoded images without compromising the cover image quality or arousing suspicion. Additional security features like encryption and password protection will also be implemented. 1.3 Definitions, Acronyms, and Abbreviations SRS - Software Require

Uploaded by

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

PIET

SOFTWARE ENGINEERING (203105304) B. Tech. 3rd Year


ERP NO.- 210303126056

1
PIET
SOFTWARE ENGINEERING (203105304) B. Tech. 3rd Year
ERP NO.- 210303126056

CERTIFICATE

This is to certified that

Mr. Harshil Vasani with enrolment No: 210303126056 has


successfully completed his/her laboratory experiments in the
SOFTWARE ENGINEERING (203105304) from the department
of Computer Engineering & Sciences during the academic
year 2023-2024.

Date of Submission: ……………………

Staff in charge: ………………………

Head of Department: …………………

2
PIET
SOFTWARE ENGINEERING (203105304) B. Tech. 3rd Year
ERP NO.- 210303126056

INDEX

Sr. Title Page Date of Date of Marks Sign


no. no. performance assessment
1 Project definition and objective of the
specified module and perform
requirement Engineering process
2 Identify Suitable Design and
Implementation model from the
different software engineering models
3 Prepare a Software Requirement
Specification (SRS) for the selected
module
4 Develop a Software project
management planning (SPMP) for the
specific module
5 Do Cost Estimation use different
Software Cost Estimation Models.
6 Prepare System Analysis and System
Design of Identified Requirement
specification using structure design as
DFD
with Data Dictionary and structure
chart for the specific module.
7 Designing the module using Object
Oriented approach including Use case
Diagram with scenarios, Class Diagram
and State Diagram, Sequence Diagram
and Activity Diagram.
8 Defining Coding Standards and walk
through.
9 Write the test cases for the
identified module.
10 Demonstrate the use of
different Testing Tools with
comparison.
11 Define security and quality
aspects of the identified
module

3
PIET
SOFTWARE ENGINEERING (203105304) B. Tech. 3rd Year
ERP NO.- 210303126056

PRACTICAL 1
Aim: Project Definition and objective of the specified module and Perform Requirement Engineering
Process.

Project Title: Steganography Tool for Image Method

Definition:
The Steganography Tool for Image Method is a software application designed to hide confidential
information within digital images using steganographic techniques. The tool will allow users to
embed data into selected images and extract hidden data from encoded images without arousing
suspicion.

Objective:

1. Develop a user-friendly steganography tool that enables users to securely embed and extract
data within digital images.
2. Implement a reliable embedding algorithm to efficiently hide data within the image pixels
without compromising the visual quality of the cover image.
3. Design and implement additional features, such as encryption of hidden data and password
protection, to enhance the security of the steganographic process.
4. Implement an extraction algorithm that accurately retrieves hidden data from encoded images
without loss or corruption.
5. Build an intuitive and visually appealing user interface that facilitates easy interaction and
control over the embedding and extraction processes.
6. Test and evaluate the tool's performance, including its efficiency, data capacity, security, and
overall user experience.

Users:

1. General Users: Individuals who want to hide sensitive or confidential information within
digital images for various purposes, such as privacy protection or secure communication.
2. Security Professionals: Researchers, analysts, or forensic experts who require a reliable
steganography tool to analyse and investigate hidden data within digital images.

Key Features:

1. Image Embedding: Enable users to select a cover image and securely embed data into its
pixels using advanced steganographic techniques.
2. Data Extraction: Provide the capability to extract hidden data from encoded images without
loss or corruption, preserving the integrity of the embedded information.
3. Encryption and Password Protection: Implement additional security features to encrypt
hidden data and protect it with a user-defined password.
4. Image Preview: Allow users to preview the cover image and the resulting encoded image to
ensure the visual quality and integrity of the steganographic process.
5. Metadata Preservation: Ensure that important metadata and image properties are preserved
during the embedding and extraction processes.

4
PIET
SOFTWARE ENGINEERING (203105304) B. Tech. 3rd Year
ERP NO.- 210303126056

6. Robust Algorithm: Implement an efficient and reliable embedding algorithm that maximizes
data capacity while minimizing visual distortion.
7. User-Friendly Interface: Design an intuitive and visually appealing interface that simplifies
the embedding and extraction processes for users of all skill levels.
8. Performance Evaluation: Conduct comprehensive testing and evaluation to assess the tool's
performance, including data capacity, security, and user experience.

5
PIET
SOFTWARE ENGINEERING (203105304) B. Tech. 3rd Year
ERP NO.- 210303126056

PRACTICAL 2

Aim: Identify Suitable Design and Implementation model from the different software engineering
models.

1. Requirements Gathering and Analysis:


 Gather requirements from stakeholders regarding the desired functionalities and features
of the steganography tool.
 Analyse and document the requirements, ensuring clarity and understanding.

2. System Design:
 Design the architecture of the steganography tool, including the overall structure,
modules, and interfaces.
 Define the embedding algorithm and extraction algorithm, considering factors such as
data capacity, security, and image quality.
 Determine the additional features, such as encryption and password protection, and their
integration into the tool.

3. Implementation:
 Develop the steganography tool according to the defined system design.
 Implement the embedding algorithm to hide data within digital images, ensuring efficient
and secure embedding without compromising image quality.
 Implement additional features, such as encryption and password protection, to enhance
the security of the hidden data.
 Develop the extraction algorithm to accurately retrieve hidden data from encoded images,
ensuring data integrity and maintaining image quality.

4. Testing:
 Conduct unit testing to verify the functionality and correctness of each module of the
steganography tool.
 Perform integration testing to ensure the seamless interaction and compatibility of
different modules.
 Conduct system testing to evaluate the tool's overall performance, including data hiding
accuracy, extraction reliability, and user interface functionality.
 Perform security testing to identify and address potential vulnerabilities and ensure the
tool's resilience against attacks.

5. Deployment:
 Prepare the steganography tool for deployment, including packaging and documentation.
 Create user manuals and guidelines to assist users in understanding and utilizing the tool
effectively.
 Install and configure the tool on the intended platform or distribute it to users according
to the deployment plan.

6. Maintenance and Support:

6
PIET
SOFTWARE ENGINEERING (203105304) B. Tech. 3rd Year
ERP NO.- 210303126056

 Provide ongoing maintenance and support for the steganography tool, addressing any
reported issues or bugs.
 Update the tool as needed to incorporate new features, enhancements, or security patches
based on user feedback and evolving requirements.

7
PIET
SOFTWARE ENGINEERING (203105304) B. Tech. 3rd Year
ERP NO.- 210303126056

PRACTICAL 3

Aim: Prepare Software Requirement Specification (SRS) for the selected module.

1. Introduction:

1.1 Purpose- The purpose of this document is to define the requirements for the
development of the Steganography Tool for Image Method. It outlines the functional and
non-functional requirements, system constraints, and user expectations for the tool.

1.2 Scope-The steganography tool aims to provide a user-friendly interface for hiding
confidential data within digital images using the image method. The tool will include
features such as embedding algorithms, extraction algorithms, encryption, password
protection, image preview, metadata preservation, and a robust user interface.

2. Overall Description:

2.1 Product Perspective-The steganography tool will be developed as a standalone


application that runs on desktop computers. It will interact with users through a graphical
user interface (GUI) and will not require any external dependencies.

2.2 User Classes and Characteristics-


 General Users: Users who want to hide sensitive information within digital images
for privacy protection or secure communication purposes.
 Security Professionals: Researchers, analysts, or forensic experts who require a
reliable steganography tool for analysis and investigation of hidden data within digital
images.

2.2 Operating Environment- The steganography tool will be developed to run on Windows,
macOS, and Linux operating systems. It will require sufficient system resources to
handle image processing and encryption operations.

3. Functional Requirements:

3.1 User Registration and Login-


 Users can register an account by providing required information.
 Registered users can log in to access the steganography tool.

3.2 Image Embedding-


 Users can select a cover image and secret data file to embed within the image.
 The tool will use a secure embedding algorithm to hide the secret data within the
image pixels, ensuring minimal visual distortion.
 The tool will provide options for encryption and password protection of the hidden
data.
 The tool will preserve important metadata and image properties during the embedding
process.

8
PIET
SOFTWARE ENGINEERING (203105304) B. Tech. 3rd Year
ERP NO.- 210303126056

3.3 Image Extraction-


 Users can select an encoded image to extract the hidden data.
 The tool will use an extraction algorithm to retrieve the hidden data without loss or
corruption.
 The extracted data will be decrypted if encryption was applied during embedding.
 The tool will provide options for password verification to access the extracted data.

3.4 Image Preview-


 Users can preview the cover image and the resulting encoded image before and after
the embedding process.
 The tool will ensure that the visual quality and integrity of the images are maintained.

4. Non-Functional Requirements:

4.1 Performance-
 The tool should provide fast and responsive performance during image embedding
and extraction operations.
 The embedding and extraction algorithms should be efficient and handle large image
files without significant delays.

4.2 Security-
 The tool should ensure the confidentiality and integrity of the hidden data.
 Encryption algorithms used should be secure and robust.
 Passwords should be securely stored and verified during extraction.

4.3 User Interface-


 The user interface should be intuitive, visually appealing, and easy to navigate.
 Users should be able to perform embedding and extraction operations with minimal
effort and without technical expertise.

5. Constraints:
 The tool should be developed using programming languages and frameworks compatible
with the targeted operating systems.
 System resources such as memory and processing power should be considered to ensure
optimal performance.
 The tool should comply with legal and ethical standards regarding the use of
steganography techniques.

6. Documentation Requirements:
 User manuals and guides explaining the functionalities and usage of the tool should be
provided.
 Technical documentation describing the system architecture, algorithms, and
implementation details should be prepared.

7. Appendices: Any additional information or supporting documents can be included in the


appendices section.

9
PIET
SOFTWARE ENGINEERING (203105304) B. Tech. 3rd Year
ERP NO.- 210303126056

PRACTICAL 4
Aim: Preparing Documentation of software project management planning (SPMP) for the specified
module.

1. Research and Analysis:

 Conduct an extensive review of existing steganography


methods and tools.
 Analyse the strengths and weaknesses of various image
steganography techniques.
 Identify potential security vulnerabilities and develop strategies to mitigate
them.

2. Design and Development:

 Design the architecture and user interface for the


steganography tool.
 Implement an image processing module to manipulate pixel data for
embedding and extracting hidden information.
 Integrate encryption algorithms to enhance the security of the hidden data.
 Develop a robust error correction mechanism to ensure
data integrity during extraction.

3. Testing and Refinement:

 Conduct comprehensive testing to validate the functionality and


security of the steganography tool.
 Perform performance optimization to ensure efficient and fast processing.
Gather feedback from users and
 incorporate necessary refinements and improvements.

4. Documentation and Deployment:

 Prepare detailed documentation, including user manuals and technical


guides.
 Finalizes the user interface and ensure its usability and
intuitiveness.
 Package the steganography tool for easy installation and

10
PIET
SOFTWARE ENGINEERING (203105304) B. Tech. 3rd Year
ERP NO.- 210303126056

development.
 Create a website and promotional material to raise awareness and facilitate
dissemination.
 Create a website and promotional materials to raise awareness and facilitate
dissemination.

5. Evaluation and Reporting:

 Evaluate the effectiveness and security of the developed


steganography tool.
 Compare its performance with existing tools and highlight its unique
features.
 Prepare a comprehensive report documenting the project’s findings,
outcomes, and potential future enhancements.

11
PIET
SOFTWARE ENGINEERING (203105304) B. Tech. 3rd Year
ERP NO.- 210303126056

12
PIET
SOFTWARE ENGINEERING (203105304) B. Tech. 3rd Year
ERP NO.- 210303126056

PRACTICAL 5
AIM: Do cost and Effort Estimation using Software Cost Estimation Model

FUNCTION POINT ANALYSIS

External Input= 12
External Output= 8
External Query= 6
Internal Logical Files= 10
External interface Files= 4

EI = 12*4=48
EO = 8*5=40
EQ = 6*3=18
ILF = 10*4=40
EIF = 4*4=16

Step 1: Calculate the total count


= 48+40+18+40+16
= 162

Step 2: Calculate Value Adjustment Factors

1) Does the system require reliable backup and recovery?


5

2) Are data communications required?


5

3) Are there distributed processing functions?


4

4) Is performance critical?
4

5) Will the system run in an existing, heavily utilized operational environment?


5

6) Does the system require online data entry?


5

7) Does the system require end-user efficiency?


4

8) Does the system help meet unique end-user objectives?


4

9) Does the system require complex internal processing?


4

13
PIET
SOFTWARE ENGINEERING (203105304) B. Tech. 3rd Year
ERP NO.- 210303126056

10) Does the system require code to be reusable?


4

11) Are conversion and installation included in the design?


3

12) Is the system designed for ease of change?


3

∑Fi= 5+5+4+4+5+5+4+4+4+4+3+3
=50

Step 3: Calculate the function point


FP = Total Count*[0.65+0.01*∑fi]
= 162*[0.65+0.01*50]
= 186.3

Step 4: Calculate as Spyder


1FP= 42LOC in Python
186.3 = 42LOC
=7824/1000
=7.82KLOC

Constructive Cost Model

Step 1: Calculate Effort


Let us assume a1=2.4 & a2=1.05
Effort=a1*(KLOC)^a2
=2.4*(7.82) ^1.05
=8.66 Person-Months

Step 2: Calculate development time


Let us assume c=2.5&d=0.38
Tdev=C*E^D
=2.5*(8.66) ^0.38
=5.67 Months

Step 3: Calculate Cost


Cost=time*average salary * number of workers
=5.67*20000*4
=4,54,241

PRACTICAL 6
14
PIET
SOFTWARE ENGINEERING (203105304) B. Tech. 3rd Year
ERP NO.- 210303126056

AIM: Prepare System Analysis and System Design of identified Requirements specification
using structure design as DFD with data dictionary and structure chart for the specific module.

Data Flow Diagram

LEVEL 1.1

15
PIET
SOFTWARE ENGINEERING (203105304) B. Tech. 3rd Year
ERP NO.- 210303126056

LEVEL 1.1.1

LEVEL 1.1.1.1

16
PIET
SOFTWARE ENGINEERING (203105304) B. Tech. 3rd Year
ERP NO.- 210303126056

LEVEL 1.2

PRACTICAL 7

17
PIET
SOFTWARE ENGINEERING (203105304) B. Tech. 3rd Year
ERP NO.- 210303126056

AIM: Designing the module using Object Oriented approach including Use case Diagram with
scenarios, Class Diagram and State Diagram, Sequence Diagram and Activity Diagram.

USE CASE DIAGRAM

CLASS DIAGRAM

18
PIET
SOFTWARE ENGINEERING (203105304) B. Tech. 3rd Year
ERP NO.- 210303126056

SEQUENCE DIAGRAM

19
PIET
SOFTWARE ENGINEERING (203105304) B. Tech. 3rd Year
ERP NO.- 210303126056

ACTIVITY DIAGRAM

PRACTICAL 8

20
PIET
SOFTWARE ENGINEERING (203105304) B. Tech. 3rd Year
ERP NO.- 210303126056

AIM: Defining Coding Standards and walk through.

Coding Standards:

1. Naming Conventions:
 Use meaningful and descriptive names for variables, classes, and methods.
 Follow camelCase for variable and method names (e.g., embedData, extractedMessage).

2. Comments:
 Add comments to explain complex or non-obvious parts of the code.
 Use comments to clarify the purpose of methods, classes, and important logic.

3. Indentation and Formatting:


 Use consistent indentation (typically 4 spaces or a tab).
 Follow a consistent code style for readability.

4. Error Handling:
 Implement robust error handling to manage exceptions gracefully.

5. Modularity:
 Break down the code into functions/methods with specific purposes.
 Avoid writing all the code in a single block.

6. Code Reusability:
 If there are parts of the code that can be reused, consider encapsulating them in functions
or classes.

7. Variable Declarations:
 Declare variables in the smallest scope possible.
 Initialize variables when they are declared.

8. Input Validation:
 Validate user input to ensure it's of the expected format and within valid ranges.

9. File Handling:
 Add error handling for file operations (e.g., reading/writing images).

10. Constants:
 Use constants for values that do not change during the execution of the program (e.g., file
extensions, encryption keys).

Walkthrough:

1. Embedding Data:

21
PIET
SOFTWARE ENGINEERING (203105304) B. Tech. 3rd Year
ERP NO.- 210303126056

 The embedData function takes three parameters: carrierImagePath (input image),


dataToEmbed (message to be embedded), and outputImagePath (path to save the output
image).
 It reads the input image, processes it, embeds the data, and saves the modified image.

2. Extracting Data:
 The extractData function takes the path of the modified image (imagePath) and returns
the extracted message.
 It reads the modified image, processes it, extracts the embedded data, and returns it as a
string.

3. Main Function:
 In the main function, an example of how to use the tool is provided:
 Embeds the message "This is a secret message." into the image carrier_image.png and
saves the output as output_image.png.
 Extracts the message from the modified image and prints it.

4. Error Handling:
 The methods contain a try-catch block to handle potential exceptions (e.g., IOException).

PRACTICAL 9

22
PIET
SOFTWARE ENGINEERING (203105304) B. Tech. 3rd Year
ERP NO.- 210303126056

AIM: Write the test cases for the identified module.

Encoding (Hiding Information):

Empty Input Data:


 Input: Empty data to hide (no text or file).
 Expected Result: Ensure that the tool handles empty input gracefully, with an appropriate
error message.

Valid Input Data:


 Input: Valid text or file to hide.
 Expected Result: Confirm that the tool can successfully encode the data into the image
without errors.

Image Format Compatibility:


 Input: Various image formats (e.g., JPG, PNG, BMP).
 Expected Result: Verify that the tool supports multiple image formats for encoding and
doesn't produce corrupted or unusable images.

Encoding Capacity:
 Input: Large data exceeding the image's capacity.
 Expected Result: Confirm that the tool either truncates the data correctly or handles it
gracefully with a warning.

Password Protection:
 Input: Data with password protection enabled.
 Expected Result: Ensure that the tool allows for password-protected encoding and that the
encoded image cannot be decoded without the correct password.
Encoding Algorithm Variants:
 Input: Different encoding algorithms (e.g., LSB, DCT).
 Expected Result: Test the tool with various encoding algorithms to ensure compatibility and
effectiveness.

Decoding (Extracting Information):

Correctly Encoded Image:


 Input: An image encoded with valid data.
 Expected Result: Confirm that the tool can correctly extract and display the hidden data.

Incorrectly Encoded Image:


 Input: An image not encoded with data.
 Expected Result: Ensure that the tool handles unencoded images gracefully, displaying an
appropriate message or error.

Password Protection:
 Input: An encoded image with password protection.
 Expected Result: Verify that the tool prompts for the correct password and successfully
extracts data when the correct password is provided.

23
PIET
SOFTWARE ENGINEERING (203105304) B. Tech. 3rd Year
ERP NO.- 210303126056

Data Integrity:
 Input: Encoded image with data corruption or tampering.
 Expected Result: Confirm that the tool can detect tampering or corruption and does not
display or extract corrupted data.

Multiple Encoding Algorithms:


 Input: Images encoded with different algorithms.
 Expected Result: Test the tool's ability to correctly identify and decode data encoded using
various algorithms.

Performance and Scalability:

Large Image and Data:


 Input: Large image and a significant amount of data.
 Expected Result: Verify that the tool performs efficiently without significant delays or
memory issues.

Batch Processing:
 Input: Multiple images to encode or decode in a batch.
 Expected Result: Ensure that the tool can handle batch processing and maintains accuracy.

Usability and User Experience:

User Interface:
 Input: Evaluate the tool's user interface for user-friendliness.
 Expected Result: Assess the tool's overall usability, including ease of use and clarity of
instructions.

Documentation:
 Input: Review the tool's documentation and help resources.
 Expected Result: Ensure that the documentation is comprehensive, clear, and helpful for
users.

Error Handling:
 Input: Introduce invalid inputs or actions.
 Expected Result: Confirm that the tool provides informative error messages and handles
unexpected user actions gracefully.

Cross-Platform Compatibility:
 Input: Test the tool on different operating systems (Windows, macOS, Linux).
 Expected Result: Ensure that the tool works consistently across various platforms.

Integration Testing:
 Input: Integrate the tool into a larger application or system.
 Expected Result: Confirm that the tool integrates seamlessly and functions correctly within
the larger system.

24
PIET
SOFTWARE ENGINEERING (203105304) B. Tech. 3rd Year
ERP NO.- 210303126056

Security Testing:
 Input: Attempt to use the tool to hide malicious or dangerous content.
Expected Result: Verify that the tool has security measures in place to prevent the hiding of harmful
information

25
PIET
SOFTWARE ENGINEERING (203105304) B. Tech. 3rd Year
ERP NO.- 210303126056

PRACTICAL 10

AIM: Write the test cases for the identified module.

PRICE PLATFORM SUPPORTED TESTED CODING LEARNING


LANGUAGES APPS SKILLS CURVE
REQUIRED
Junit Free Win, MacOS, Java Web app, Advanced Mild/Moderate
Linux desktop
applications
Selenium Free Win, MacOS, Java, C#, Web Advanced Mild/Moderate
Linux Python, Ruby, elements
JavaScript
(Node.js), and
Kotlin
Jenkins Free Win, MacOS, Java, C++, CI/CD Basic Mild
Linux Python, Ruby
TestNG Free Win, MacOS, Java Web Advanced Intermediate
Linux applications,
desktop
applications,
APIs

26
PIET
SOFTWARE ENGINEERING (203105304) B. Tech. 3rd Year
ERP NO.- 210303126056

PRACTICAL 11

AIM: Define security and quality aspects of the identified module.

Some of the major attributes to identify the level of software quality aspects are:

 Portability: A software is claimed to be transportable, if it may be simply created to figure in


several package environments, in several machines, with alternative code merchandise, etc.
 Usability: A software has smart usability if completely different classes of users (i.e.
knowledgeable and novice users) will simply invoke the functions of the merchandise.
 Reusability: A software has smart reusability if completely different modules of the
merchandise will simply be reused to develop new merchandise.
 Correctness: Software is correct if completely different needs as laid out in the SRS document
are properly enforced.
 Maintainability: A software is reparable, if errors may be simply corrected as and once they
show up, new functions may be simply added to the merchandise, and therefore the
functionalities of the merchandise may be simply changed, etc.
 Reliability: Software is more reliable if it has fewer failures. Since software engineers do not
deliberately plan for their software to fail, reliability depends on the number and type of
mistakes they make. Designers can improve reliability by ensuring the software is easy to
implement and change, by testing it thoroughly, and also by ensuring that if failures occur, the
system can handle them or can recover easily.
 Efficiency: The more efficient software is, the less it uses of CPU-time, memory, disk space,
network bandwidth, and other resources. This is important to customers in order to reduce
their costs of running the software, although with today’s powerful computers, CPU time,
memory and disk usage are less of a concern than in years gone by.

Some of the major attributes to identify the level of software security aspects are:
 Data Abstraction: In data abstraction, the idea is to hide the information about data and how it
is represented in the program. The analogous notion for compound data is called is called data
abstraction. Data abstraction may be a methodology that permits us to isolate how a
compound data object is employed from the small print of how it’s constructed from the more
primitive data objects.
 Functional Abstraction: In functional abstraction, details of the algorithms to accomplish the
module are not visible to the user of the function. The users of the module need to know only
the correct calling convention. The user can call a module without necessarily understanding
how it is implemented.
 Correctness: Software is correct if completely different needs as laid out in the SRS document
are properly enforced.
 Maintainability: A software is reparable, if errors may be simply corrected as and once, they
show up, new functions may be simply added to the merchandise, and therefore the
functionalities of the merchandise may be simply changed, etc.
 Reliability: Software is more reliable if it has fewer failures. Since software engineers do not
deliberately plan for their software to fail, reliability depends on the number and type of
mistakes they make. Designers can improve reliability by ensuring the software is easy to
implement and change, by testing it thoroughly, and also by ensuring that if failures occur, the
system can handle them or can recover easily.

27
PIET
SOFTWARE ENGINEERING (203105304) B. Tech. 3rd Year
ERP NO.- 210303126056

 Efficiency: The more efficient software is, the less it uses of CPU-time, memory, disk space,
network bandwidth, and other resources. This is important to customers in order to reduce
their costs of running the software, although with today’s powerful computers, CPU time,
memory and disk usage are less of a concern than in years gone by.
 Complete: The given specifications should specify the entire behaviour of the module so that
only correct implementations satisfy the specifications. The specifications must provide to the
intended user all the information that he will need to use the program correctly. The
specification must provide to the implementer, all the information about the intended use that
he needs to complete the program.
 Unambiguous: The given specifications should be unambiguous. Specifications should have
more than one interpretation.
 Understandable: The given specifications should be understandable. Specific language should
be such that specifications can be easily written.
 Implementation-independent: It is an important property of specifications. Specifications
should be given in an abstract manner independent of the implementation of the module and
should not specify any method for implementation of the module. The specification should
only give the external behaviour; the interior details of the module should be decided later by
the programme.

28

You might also like