Final - PPT - JSD - Class 9 - Module 3
Final - PPT - JSD - Class 9 - Module 3
Specifications for
Software
Construction
Module 3
Session 1: Understanding Software Development
Learning Objectives
After this session, you will be able to:
• List the latest changes, procedures, and practices in the field
of software development as best practice.
• Discuss how to store and retrieve information related to
software technicalities.
1.1 Software Development Best Practices &
Information Management
Software Development Best Practices
Agile Methodology
Code Reviews
Catch errors and ensure coding
standards.
Testing
Security
Prioritise security with assessments and
secure coding.
1.1 Software Development Best Practices &
Information Management
Information Management Best Practices
• Regularly update and maintain these repositories to reflect the current state of
the software.
Session 2: Developing Software Modules
Learning Objectives
After this session, you will be able to:
• Explain the scope, functional and non-functional requirements
of developing software modules.
2.1 Software Module Development
An Introduction to Software Module Development
• It's like a mini-program that completes a certain task on its own. These modules
are intended to be self-contained and can be utilised in various areas of a larger
programme, as well as other programmes.
• They help keep the code organised and allow programmers to work on different
parts without getting everything muddled up.
2.1 Software Module Development
An Introduction to Software Module Development
• Each module has its own tasks and data, and they communicate with one
another in a well-defined manner.
• The scope of software modules denotes the degree and breadth of their impact
and usefulness within a software system.
• Understanding the scope helps define a module's bounds and interactions with
other components.
2.1 Software Module Development
Scope of Software Module
1. Encapsulation of Function
2. Task-Specific Responsibilities
• Each module has a certain set of responsibilities or activities. Its scope defines
the specific functions it is intended to execute within the broader software
programme.
2.1 Software Module Development
Scope of Software Module
• The scope refers to how a module interacts with other modules in the system. It
specifies the inputs and outputs, as well as the communication paths between
modules.
2.1 Software Module Development
Scope of Software Module
4. Data Encapsulation
• Modules include data relevant to their tasks. The scope defines the data that a
module handles and controls, ensuring that it remains within its boundaries.
2.1 Software Module Development
Scope of Software Module
• Modules may have a greater scope if they are intended for reuse in many
projects. A module with a broad scope is versatile and can be used in a variety
of software applications.
2.1 Software Module Development
Scope of Software Module
• This scope indicates how easily a module may be modified or updated. A well-
defined scope ensures that modifications made to one module do not have
unintended effects for other portions of the system.
2.1 Software Module Development
Scope of Software Module
7. Dependence Management
• A clear scope helps with maintenance and debugging efforts. Developers can
focus on a specific module rather than having to explore the entire source,
making the development process more efficient.
2.1 Software Module Development
Scope of Software Module
9. Scalability
• The scope effects a module's scalability. A module with a clear scope can be
readily scaled or extended to suit new features or changes in needs.
2.1 Software Module Development
Scope of Software Module
• The scope defines the boundaries of testing, ensuring that quality assurance
efforts are focused on the specified functionalities and interactions within the
module.
2.1 Software Module Development
• Functional requirements are crucial for defining the core functionalities and
behaviours that contribute to the overall functionality of a software module.
2.1 Software Module Development
Functional Requirements of Developing Software Modules
Integration with
Communication Security Measures
External Systems
• Non-functional software modules are the traits and qualities that show how
well the module does its job, not the jobs it does itself.
• These requirements are about things like speed, usability, reliability, and
security. They affect how the module works and what it can do as a whole.
2.1 Software Module Development
Non-Functional Requirements of Developing Software Modules
• Non-functional requirements are very important for making sure that the
software module meets certain standards and gives the customer a good
experience.
• Functional requirements ensure that the module performs the desired tasks,
while non-functional requirements focus on how well it performs those tasks.