SlideShare a Scribd company logo
1 of 87
IT 226
APPLICATIONS DEVELOPMENT AND EMERGING
TECHNOLOGIES
I. Course Code IT 226
II. Course Title Application Development and Emerging Technologies
III. Chapter 2 of 3
IV. Module Title Understanding the Requirements Gathering in Software Development
V. Overview of the
Module
This chapter will allow the students to understand the importance of
requirements gathering in software development. With this chapter,
students would be able to determine kinds of requirements
specifications in software development and demonstrate data gathering
techniques and its guidelines. In the end, readers would be able to
present requirements gathering framework as baseline for software
development.
VI. Module Outcomes As for the outcome of the module, you are about to:
 Learn on how to interpret a data;
 learn different ways on how to manage a data;
 describe the requirements analysis process and techniques;
 use the correct usability testing method for a software development;
and
Requirements
Gathering
Lesson 1
Lesson Objectives:
At the end of this lesson, you will be able to:
a. Understand the principle of requirements gathering and
specifications.
b. Know how and what requirements to gather.
c. Define the techniques in requirements gathering.
d. Identify the importance of requirements gathering.
What are requirements and its
specifications?
A requirement is a statement about an intended product that
specifies what it should do or how it should perform.
• Goal: To make as specific, unambiguous, and clear as possible.
• Functional Specifications: What the system should do
• Non-Functional Specifications: What constraints there are on
the system its development.
What are requirements and its
specifications?
What requirements
should be
gathered?
What requirements should be gathered?
• Functional:
What the product should do.
• Data requirements:
Capture the type, volatility, size/amount, persistence, accuracy
and the amounts of the required data.
• Environmental requirements:
Capture the type, volatility, size/amount, persistence, accuracy
and the amounts of the required data.
System Software
• Helps run the computer hardware and computer system
itself. System software includes operating systems, device
drivers, diagnostic tools and more. System software is
almost always pre-installed on your computer.
Application software
• Allows users to accomplish one or more tasks. It includes
word processing, web browsing and almost any other task
for which you might install software. (Some application
software is pre- installed on most computer systems.)
Programming software
• A set of tools to aid developers in writing programs. The
various tools available are compilers, linkers, debuggers,
interpreters and text editors.
Basic Principles
1. Software, commonly known as programs or apps,
consists of all the instructions that tell the hardware how
to perform a task.
2. These instructions come from a software developer in the
form that will be accepted by the platform (operating
system + CPU) that they are based on.
Basic Principles
For example, a program that is designed for the Windows
operating system will only work for that specific
operating system. Compatibility of software will vary as
the design of the software and the operating system
differ. Software that is designed for Windows XP may
experience a compatibility issue when running under
Windows 2000 or NT.
Basic Principles
3. Software, in its most general sense, is a set of instructions
or programs instructing a computer to do specific tasks.
Software is a generic term used to describe computer
programs. Scripts, applications, programs and a set of
instructions are all terms often used to describe software.
Software
Evolution
Software Evolution
The process of developing a software product using
software engineering principles and methods is referred to
as software evolution. This includes the initial development
of software and its maintenance and updates, till desired
software product is developed, which satisfies the expected
requirements.
Software Evolution
Evolution starts from the requirement gathering
process. After which developers create a prototype of the
intended software and show it to the users to get their
feedback at the early stage of software product
development. The users suggest changes, on which several
consecutive updates and maintenance keep on changing
too.
Software Evolution
This process changes to the original software, till the
desired software is accomplished. Even after the user has
desired software in hand, the advancing technology and the
changing requirements force the software product to
change accordingly. Re-creating software from scratch and
to go one-on-one with requirement is not feasible. The only
feasible and economical solution is to update the existing
software so that it matches the latest requirements.
Change
Request
Impact
Analysis
Release
Planning
System
Update
System
Release
Laws in Software
Evolution
Eight Laws for
Software Evolution
Eight laws for software evolution
1. Continuing Change
A software system must continue to adapt to the real world
changes, else it becomes progressively less useful.
Eight laws for software evolution
2. Increasing Complexity
A software system evolves, its complexity tends to increase
unless work is done to maintain or reduce it.
Eight laws for software evolution
3. Conservation of familiarity
The familiarity with the software or the knowledge about
how it was developed, why was it developed in that
particular manner etc. must be retained at any cost, to
implement the changes in the system.
Eight laws for software evolution
4. Continuing Growth
In order for a system intended to resolve some business
problem, its size of implementing the changes grows
according to the lifestyle changes of the business.
Eight laws for software evolution
5. Reducing Quality
A software system declines in quality unless rigorously
maintained and adapted to a changing operational
environment.
Eight laws for software evolution
6. Feedback Systems
The software systems constitute multi-loop, multi-level
feedback systems and must be treated as such to be
successfully modified or improved.
Eight laws for software evolution
7. Self-regulation
A system evolution processes are self-regulating with the
distribution of product and process measures close to
normal.
Eight laws for software evolution
8. Organization Stability
The average effective global activity rate in an evolving a
system is invariant over the lifetime of the product.
Eight laws for software evolution
8. Organization Stability
The average effective global activity rate in an evolving a
system is invariant over the lifetime of the product.
End of Lesson
1
QUIZ #1
IT 226 - APPLICATIONS DEVELOPMENT AND EMERGING
TECHNOLOGIES
MULTIPLE CHOICE
Instruction: Write the letter of your answer in your
answer sheet.
1. The following are examples of system software except.
a. Windows 10
b. Microsoft Office
c. Unix
d. Linux
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2. The following are examples of Application Software except.
a. Microsoft Powerpoint
b. Microsoft Edge
c. Google Chrome
d. Disk Defragmenter
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
3. Which of the following is an example Programming Software?
a. Microsoft Word
b. Android Studio
c. Avast Anti-virus
d. Windows Operating System
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
4. The following are true except
a. Software consists of instructions that tell the hardware how to
perform a task.
b. Software is collection of executable programming code.
c. Software is capable of performing many tasks, as opposed to
hardware.
d. Software can run without the support of hardware components.
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
5. Allows users to accomplish one or more tasks. It includes word
processing, web browsing and almost any other task for which
you might install software.
a. System Software
b. Application Software
c. Programming Software
d. None of the above
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
6. Class of software that helps run the computer hardware and
computer system itself.
a. System Software
b. Application Software
c. Programming Software
d. None of the above
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
7. Class of software that helps run the computer hardware and
computer system itself.
a. System Software
b. Application Software
c. Programming Software
d. None of the above
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
8. Operating systems, device drivers, and diagnostic tools is
categorized as?
a. System Software
b. Application Software
c. Programming Software
d. None of the above
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
9. Software that aids developers in writing programs.
a. System Software
b. Application Software
c. Programming Software
d. None of the above
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
10. This class of software includes word processors, web browser
and almost any other application that helps users to
accomplish many more task.
a. System Software
b. Application Software
c. Programming Software
d. None of the above
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
11. Class of software that includes tools like compilers, linkers,
debuggers, interpreters and text editors.
a. System Software
b. Application Software
c. Programming Software
d. None of the above
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
12. The process of developing a software product using software
engineering principles and methods is referred to as.
a. Software development
b. Software evolution
c. Software update
d. Software application
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
13. Software Evolution starts with?
a. Creating a prototype
b. Getting users feedback
c. Requirements gathering
d. Observing the software functions
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
14. Data/information that are gathered by the software developers
to evolved software mostly came from.
a. gossips
b. memes
c. user feedback
d. user observation
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
15. Software evolution means
a. maintenance a software
b. improvement a software
c. creating new software
d. using a software
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
TRUE OR FALSE
Instruction: Write True if the statement is correct
otherwise write False.
1. Software that is design for newer version platform may
experience compatibility issue in older version of the same
platform.
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2. A software design with complexity tends to evolve on its own if
let alone.
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
3. Re-creating software is more feasible that updating the
software.
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
4. Software designed for mobile platform will work on any other
platform.
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
5. One of the main purposes of software development is to
satisfies the expected requirements of the users.
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
6. After the user has a desired software in hand, the advancing
technology and the changing requirements force the software
product to change accordingly.
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
7. The most feasible and economical solution in software evolution
is to update the existing software so that it matches the latest
requirements.
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
8. Software is more than just a program code. A program is an
executable code, which serves some computational purpose and
can learn on its own.
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
9. Self-regulating software are capable of maintaining and
upgrading itself and adapt depending on the changing operational
environment.
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
10. A software system must continue to adapt to the real world
changes, software often evolve without the intervention of
software developers.
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
MATCHING TYPE
Instruction: Match Column A with Column B. Write
the letter that corresponds to your answer in your
answer sheet.
a. Continuing change
b. Increasing
complexity
c. Conservation of
familiarity
d. Continuing growth
e. Reducing quality
f. Feedback systems
g. Self-regulation
h. Organizational
stability
i. Platform
j. Software product
1. Operating system + CPU
2. A software system evolves, its complexity tends to increase unless work is
done to maintain or reduce it.
3. A software system must continue to adapt to the real-world changes, else
it becomes progressively less useful.
4. A software system declines in quality unless rigorously maintained and
adapted to a changing operational environment.
5. The familiarity with the software or the knowledge about how it was
developed, why was it developed in that particular manner etc. must be
retained at any cost, to implement the changes in the system.
6. The software systems constitute multi-loop, multi-level feedback systems
and must be treated as such to be successfully modified or improved.
7. Software, when made for a specific requirement is called
8. System evolution processes are self-regulating with the distribution of
product and process measures close to normal.
9. In order for a system intended to resolve some business problem, its size
of implementing the changes grows according to the lifestyle changes of
the business.
10. The average effective global activity rate in evolving a system is invariant
over the lifetime of the product.
Software Paradigm
Lesson 2
Lesson Objectives:
1. Define the software paradigms
2. Identify the characteristics of a good software
3. Identify examples and use case scenarios
What is Software
Paradigm?
Software Paradigm
• Software paradigms refer to the methods and steps, which
are taken while designing the software.
• These can be combined into various categories, though
each of them is contained in one another.
Software
Development
Software Design
Programmin
g
Software
Design
Software
Development
Paradigm
Software Development
Paradigm
• This Paradigm is known as software engineering
paradigms where all the engineering concepts pertaining
to the development of software are applied. It includes
various researches and requirement gathering which helps
the software product to build. It consists of the following:
• Requirement gathering
• Software design
• Programming
Software Design
Paradigm
Software Design Paradigm
• This paradigm is a part of Software Development and
includes the following
• Design
• Maintenance
• Programming
Programming
Paradigm
Programming Paradigm
• This paradigm is related closely to programming aspect of
software development. This includes –
• Coding
• Testing
• Integration
Characteristics of
Good Software
Characteristics of good
software
• A software product can be judged by what it offers and
how well it can be used. This software must satisfy on the
following grounds:
• Operational
• Transitional
• Maintenance
Operational
• This tells us how well software works in operations. It can
be measured on:
1. Budget – cost
2. Usability – the degree of ease with which products
such as software and Web applications can be used
to achieve required goals effectively and efficiently.
Operational
3. Efficiency – is defined as a level of performance that
uses the lowest amount of inputs to create the
greatest amount of outputs.
4. Correctness – adherence to the specifications that
determine how users can interact with the software
and how the software should behave when it is used
correctly.
5. Functionality – is the ability of the system to do the
work for which it was intended.
Operational
6. Dependability – is the ability to provide services that
can defensibly be trusted within a time-period.
7. Security – secured system
8. Safety
Transitional
• This aspect is important when the software is moved from
one platform to another:
1. Portability - the usability of the same software in
different environments
2. Interoperability - the ability of computer systems or
software to exchange and make use of information
Transitional
• Reusability - the use of existing assets in some form
within the software product development process;
these assets are products and by-products of the
software development life cycle and include code,
software components, test suites, designs and
documentation.
• Adaptability - an open system that is able to fit its
behavior according to changes in its environment or in
parts of the system itself
Maintenance
• This aspect briefs about how well a software has the
capabilities to maintain itself in the ever-changing
environment:
1. Modularity - the extent to which a software/Web
application may be divided into smaller modules.
2. Maintainability - is defined as the degree to which an
application is understood, repaired, or enhanced.
Maintenance
3. Flexibility - it normally refers to the ability for the
solution to adapt to possible or future changes in its
requirements.
4. Scalability - is the ability of a program to scale
QUIZ #2
IT 226 - APPLICATIONS DEVELOPMENT AND EMERGING
TECHNOLOGIES
MULTIPLE CHOICE
Instruction: Write the letter of your answer in your
answer sheet.
1. This is where all the engineering concepts pertaining to
the development of software are applied.
a. Software Development Methods
b. Software Development Paradigm
c. Software Design Paradigm
d. Programming Paradigm
0
1
2
3
4
5
6
7
8
9
10
2. This aspect is important when the software is moved
from one platform to another.
a. Operational
b. Transitional
c. Maintenance
d. None of the above
0
1
2
3
4
5
6
7
8
9
10
End of Lesson
2

More Related Content

Similar to 2.-IT-266_APDET-Module-2-of-3.pptx

Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineeringsmumbahelp
 
SoftwareEngineering.pptx
SoftwareEngineering.pptxSoftwareEngineering.pptx
SoftwareEngineering.pptxpriyaaresearch
 
Software Engineering Unit-1
Software Engineering Unit-1Software Engineering Unit-1
Software Engineering Unit-1Samura Daniel
 
Soft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptxSoft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptxKalpna Saharan
 
Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1Mohammed Romi
 
Feb 2013Lesson 38 Software Acquisition Development
Feb 2013Lesson 38 Software Acquisition DevelopmentFeb 2013Lesson 38 Software Acquisition Development
Feb 2013Lesson 38 Software Acquisition DevelopmentBarb Tillich
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introductionVishal Singh
 
Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2Raj vardhan
 
Software Engineering Overview
Software Engineering OverviewSoftware Engineering Overview
Software Engineering OverviewPrachi Sasankar
 
Why Software Maintenance is Essential for Business?
Why Software Maintenance is Essential for Business?Why Software Maintenance is Essential for Business?
Why Software Maintenance is Essential for Business?Albiorix Technology
 
Softweare Engieering
Softweare Engieering Softweare Engieering
Softweare Engieering Huda Alameen
 
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERING
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERINGUnit i FUNDAMENTALS OF SOFTWARE ENGINEERING
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERINGSangeetha Rangarajan
 

Similar to 2.-IT-266_APDET-Module-2-of-3.pptx (20)

Lecture 1.pptx
Lecture 1.pptxLecture 1.pptx
Lecture 1.pptx
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineering
 
SoftwareEngineering.pptx
SoftwareEngineering.pptxSoftwareEngineering.pptx
SoftwareEngineering.pptx
 
SoftwareEngineering.pptx
SoftwareEngineering.pptxSoftwareEngineering.pptx
SoftwareEngineering.pptx
 
Software Engineering Unit-1
Software Engineering Unit-1Software Engineering Unit-1
Software Engineering Unit-1
 
Soft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptxSoft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptx
 
Intro
IntroIntro
Intro
 
Lecture1422914635
Lecture1422914635Lecture1422914635
Lecture1422914635
 
Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1
 
Feb 2013Lesson 38 Software Acquisition Development
Feb 2013Lesson 38 Software Acquisition DevelopmentFeb 2013Lesson 38 Software Acquisition Development
Feb 2013Lesson 38 Software Acquisition Development
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introduction
 
Ch1 introduction
Ch1 introductionCh1 introduction
Ch1 introduction
 
Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2
 
Software Engineering Overview
Software Engineering OverviewSoftware Engineering Overview
Software Engineering Overview
 
Why Software Maintenance is Essential for Business?
Why Software Maintenance is Essential for Business?Why Software Maintenance is Essential for Business?
Why Software Maintenance is Essential for Business?
 
Softweare Engieering
Softweare Engieering Softweare Engieering
Softweare Engieering
 
Se lec 3
Se lec 3Se lec 3
Se lec 3
 
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERING
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERINGUnit i FUNDAMENTALS OF SOFTWARE ENGINEERING
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERING
 
Slcm sharbani bhattacharya
Slcm sharbani bhattacharyaSlcm sharbani bhattacharya
Slcm sharbani bhattacharya
 
Software Engineering and Introduction, Activities and ProcessModels
Software Engineering and Introduction, Activities and ProcessModels Software Engineering and Introduction, Activities and ProcessModels
Software Engineering and Introduction, Activities and ProcessModels
 

More from KENNEDYDONATO1

Introduction to Virtualization .ppt
Introduction to Virtualization       .pptIntroduction to Virtualization       .ppt
Introduction to Virtualization .pptKENNEDYDONATO1
 
System Development Life Cycle Overview.ppt
System Development Life Cycle Overview.pptSystem Development Life Cycle Overview.ppt
System Development Life Cycle Overview.pptKENNEDYDONATO1
 
What-is-a-cloud-layer and their classification
What-is-a-cloud-layer and their classificationWhat-is-a-cloud-layer and their classification
What-is-a-cloud-layer and their classificationKENNEDYDONATO1
 
Computer Security.pptx
Computer Security.pptxComputer Security.pptx
Computer Security.pptxKENNEDYDONATO1
 

More from KENNEDYDONATO1 (7)

Introduction to Virtualization .ppt
Introduction to Virtualization       .pptIntroduction to Virtualization       .ppt
Introduction to Virtualization .ppt
 
System Development Life Cycle Overview.ppt
System Development Life Cycle Overview.pptSystem Development Life Cycle Overview.ppt
System Development Life Cycle Overview.ppt
 
What-is-a-cloud-layer and their classification
What-is-a-cloud-layer and their classificationWhat-is-a-cloud-layer and their classification
What-is-a-cloud-layer and their classification
 
Computer Security.pptx
Computer Security.pptxComputer Security.pptx
Computer Security.pptx
 
report_2A.pptx
report_2A.pptxreport_2A.pptx
report_2A.pptx
 
REPORT_2B.pptx
REPORT_2B.pptxREPORT_2B.pptx
REPORT_2B.pptx
 
1 – 8 APT quiz.pptx
1 – 8  APT quiz.pptx1 – 8  APT quiz.pptx
1 – 8 APT quiz.pptx
 

Recently uploaded

Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 

Recently uploaded (20)

Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 

2.-IT-266_APDET-Module-2-of-3.pptx

  • 1. IT 226 APPLICATIONS DEVELOPMENT AND EMERGING TECHNOLOGIES
  • 2. I. Course Code IT 226 II. Course Title Application Development and Emerging Technologies III. Chapter 2 of 3 IV. Module Title Understanding the Requirements Gathering in Software Development V. Overview of the Module This chapter will allow the students to understand the importance of requirements gathering in software development. With this chapter, students would be able to determine kinds of requirements specifications in software development and demonstrate data gathering techniques and its guidelines. In the end, readers would be able to present requirements gathering framework as baseline for software development. VI. Module Outcomes As for the outcome of the module, you are about to:  Learn on how to interpret a data;  learn different ways on how to manage a data;  describe the requirements analysis process and techniques;  use the correct usability testing method for a software development; and
  • 4. Lesson Objectives: At the end of this lesson, you will be able to: a. Understand the principle of requirements gathering and specifications. b. Know how and what requirements to gather. c. Define the techniques in requirements gathering. d. Identify the importance of requirements gathering.
  • 5. What are requirements and its specifications? A requirement is a statement about an intended product that specifies what it should do or how it should perform. • Goal: To make as specific, unambiguous, and clear as possible. • Functional Specifications: What the system should do • Non-Functional Specifications: What constraints there are on the system its development.
  • 6. What are requirements and its specifications?
  • 8. What requirements should be gathered? • Functional: What the product should do. • Data requirements: Capture the type, volatility, size/amount, persistence, accuracy and the amounts of the required data. • Environmental requirements: Capture the type, volatility, size/amount, persistence, accuracy and the amounts of the required data.
  • 9. System Software • Helps run the computer hardware and computer system itself. System software includes operating systems, device drivers, diagnostic tools and more. System software is almost always pre-installed on your computer.
  • 10. Application software • Allows users to accomplish one or more tasks. It includes word processing, web browsing and almost any other task for which you might install software. (Some application software is pre- installed on most computer systems.)
  • 11. Programming software • A set of tools to aid developers in writing programs. The various tools available are compilers, linkers, debuggers, interpreters and text editors.
  • 12. Basic Principles 1. Software, commonly known as programs or apps, consists of all the instructions that tell the hardware how to perform a task. 2. These instructions come from a software developer in the form that will be accepted by the platform (operating system + CPU) that they are based on.
  • 13. Basic Principles For example, a program that is designed for the Windows operating system will only work for that specific operating system. Compatibility of software will vary as the design of the software and the operating system differ. Software that is designed for Windows XP may experience a compatibility issue when running under Windows 2000 or NT.
  • 14. Basic Principles 3. Software, in its most general sense, is a set of instructions or programs instructing a computer to do specific tasks. Software is a generic term used to describe computer programs. Scripts, applications, programs and a set of instructions are all terms often used to describe software.
  • 16. Software Evolution The process of developing a software product using software engineering principles and methods is referred to as software evolution. This includes the initial development of software and its maintenance and updates, till desired software product is developed, which satisfies the expected requirements.
  • 17. Software Evolution Evolution starts from the requirement gathering process. After which developers create a prototype of the intended software and show it to the users to get their feedback at the early stage of software product development. The users suggest changes, on which several consecutive updates and maintenance keep on changing too.
  • 18. Software Evolution This process changes to the original software, till the desired software is accomplished. Even after the user has desired software in hand, the advancing technology and the changing requirements force the software product to change accordingly. Re-creating software from scratch and to go one-on-one with requirement is not feasible. The only feasible and economical solution is to update the existing software so that it matches the latest requirements.
  • 22. Eight laws for software evolution 1. Continuing Change A software system must continue to adapt to the real world changes, else it becomes progressively less useful.
  • 23. Eight laws for software evolution 2. Increasing Complexity A software system evolves, its complexity tends to increase unless work is done to maintain or reduce it.
  • 24. Eight laws for software evolution 3. Conservation of familiarity The familiarity with the software or the knowledge about how it was developed, why was it developed in that particular manner etc. must be retained at any cost, to implement the changes in the system.
  • 25. Eight laws for software evolution 4. Continuing Growth In order for a system intended to resolve some business problem, its size of implementing the changes grows according to the lifestyle changes of the business.
  • 26. Eight laws for software evolution 5. Reducing Quality A software system declines in quality unless rigorously maintained and adapted to a changing operational environment.
  • 27. Eight laws for software evolution 6. Feedback Systems The software systems constitute multi-loop, multi-level feedback systems and must be treated as such to be successfully modified or improved.
  • 28. Eight laws for software evolution 7. Self-regulation A system evolution processes are self-regulating with the distribution of product and process measures close to normal.
  • 29. Eight laws for software evolution 8. Organization Stability The average effective global activity rate in an evolving a system is invariant over the lifetime of the product.
  • 30. Eight laws for software evolution 8. Organization Stability The average effective global activity rate in an evolving a system is invariant over the lifetime of the product.
  • 32. QUIZ #1 IT 226 - APPLICATIONS DEVELOPMENT AND EMERGING TECHNOLOGIES
  • 33. MULTIPLE CHOICE Instruction: Write the letter of your answer in your answer sheet.
  • 34. 1. The following are examples of system software except. a. Windows 10 b. Microsoft Office c. Unix d. Linux 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • 35. 2. The following are examples of Application Software except. a. Microsoft Powerpoint b. Microsoft Edge c. Google Chrome d. Disk Defragmenter 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • 36. 3. Which of the following is an example Programming Software? a. Microsoft Word b. Android Studio c. Avast Anti-virus d. Windows Operating System 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • 37. 4. The following are true except a. Software consists of instructions that tell the hardware how to perform a task. b. Software is collection of executable programming code. c. Software is capable of performing many tasks, as opposed to hardware. d. Software can run without the support of hardware components. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • 38. 5. Allows users to accomplish one or more tasks. It includes word processing, web browsing and almost any other task for which you might install software. a. System Software b. Application Software c. Programming Software d. None of the above 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • 39. 6. Class of software that helps run the computer hardware and computer system itself. a. System Software b. Application Software c. Programming Software d. None of the above 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • 40. 7. Class of software that helps run the computer hardware and computer system itself. a. System Software b. Application Software c. Programming Software d. None of the above 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • 41. 8. Operating systems, device drivers, and diagnostic tools is categorized as? a. System Software b. Application Software c. Programming Software d. None of the above 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • 42. 9. Software that aids developers in writing programs. a. System Software b. Application Software c. Programming Software d. None of the above 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • 43. 10. This class of software includes word processors, web browser and almost any other application that helps users to accomplish many more task. a. System Software b. Application Software c. Programming Software d. None of the above 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • 44. 11. Class of software that includes tools like compilers, linkers, debuggers, interpreters and text editors. a. System Software b. Application Software c. Programming Software d. None of the above 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • 45. 12. The process of developing a software product using software engineering principles and methods is referred to as. a. Software development b. Software evolution c. Software update d. Software application 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • 46. 13. Software Evolution starts with? a. Creating a prototype b. Getting users feedback c. Requirements gathering d. Observing the software functions 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • 47. 14. Data/information that are gathered by the software developers to evolved software mostly came from. a. gossips b. memes c. user feedback d. user observation 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • 48. 15. Software evolution means a. maintenance a software b. improvement a software c. creating new software d. using a software 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • 49. TRUE OR FALSE Instruction: Write True if the statement is correct otherwise write False.
  • 50. 1. Software that is design for newer version platform may experience compatibility issue in older version of the same platform. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • 51. 2. A software design with complexity tends to evolve on its own if let alone. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • 52. 3. Re-creating software is more feasible that updating the software. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • 53. 4. Software designed for mobile platform will work on any other platform. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • 54. 5. One of the main purposes of software development is to satisfies the expected requirements of the users. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • 55. 6. After the user has a desired software in hand, the advancing technology and the changing requirements force the software product to change accordingly. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • 56. 7. The most feasible and economical solution in software evolution is to update the existing software so that it matches the latest requirements. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • 57. 8. Software is more than just a program code. A program is an executable code, which serves some computational purpose and can learn on its own. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • 58. 9. Self-regulating software are capable of maintaining and upgrading itself and adapt depending on the changing operational environment. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • 59. 10. A software system must continue to adapt to the real world changes, software often evolve without the intervention of software developers. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • 60. MATCHING TYPE Instruction: Match Column A with Column B. Write the letter that corresponds to your answer in your answer sheet.
  • 61. a. Continuing change b. Increasing complexity c. Conservation of familiarity d. Continuing growth e. Reducing quality f. Feedback systems g. Self-regulation h. Organizational stability i. Platform j. Software product 1. Operating system + CPU 2. A software system evolves, its complexity tends to increase unless work is done to maintain or reduce it. 3. A software system must continue to adapt to the real-world changes, else it becomes progressively less useful. 4. A software system declines in quality unless rigorously maintained and adapted to a changing operational environment. 5. The familiarity with the software or the knowledge about how it was developed, why was it developed in that particular manner etc. must be retained at any cost, to implement the changes in the system. 6. The software systems constitute multi-loop, multi-level feedback systems and must be treated as such to be successfully modified or improved. 7. Software, when made for a specific requirement is called 8. System evolution processes are self-regulating with the distribution of product and process measures close to normal. 9. In order for a system intended to resolve some business problem, its size of implementing the changes grows according to the lifestyle changes of the business. 10. The average effective global activity rate in evolving a system is invariant over the lifetime of the product.
  • 63. Lesson Objectives: 1. Define the software paradigms 2. Identify the characteristics of a good software 3. Identify examples and use case scenarios
  • 65. Software Paradigm • Software paradigms refer to the methods and steps, which are taken while designing the software. • These can be combined into various categories, though each of them is contained in one another.
  • 68. Software Development Paradigm • This Paradigm is known as software engineering paradigms where all the engineering concepts pertaining to the development of software are applied. It includes various researches and requirement gathering which helps the software product to build. It consists of the following: • Requirement gathering • Software design • Programming
  • 70. Software Design Paradigm • This paradigm is a part of Software Development and includes the following • Design • Maintenance • Programming
  • 72. Programming Paradigm • This paradigm is related closely to programming aspect of software development. This includes – • Coding • Testing • Integration
  • 74. Characteristics of good software • A software product can be judged by what it offers and how well it can be used. This software must satisfy on the following grounds: • Operational • Transitional • Maintenance
  • 75. Operational • This tells us how well software works in operations. It can be measured on: 1. Budget – cost 2. Usability – the degree of ease with which products such as software and Web applications can be used to achieve required goals effectively and efficiently.
  • 76. Operational 3. Efficiency – is defined as a level of performance that uses the lowest amount of inputs to create the greatest amount of outputs. 4. Correctness – adherence to the specifications that determine how users can interact with the software and how the software should behave when it is used correctly. 5. Functionality – is the ability of the system to do the work for which it was intended.
  • 77. Operational 6. Dependability – is the ability to provide services that can defensibly be trusted within a time-period. 7. Security – secured system 8. Safety
  • 78. Transitional • This aspect is important when the software is moved from one platform to another: 1. Portability - the usability of the same software in different environments 2. Interoperability - the ability of computer systems or software to exchange and make use of information
  • 79. Transitional • Reusability - the use of existing assets in some form within the software product development process; these assets are products and by-products of the software development life cycle and include code, software components, test suites, designs and documentation. • Adaptability - an open system that is able to fit its behavior according to changes in its environment or in parts of the system itself
  • 80. Maintenance • This aspect briefs about how well a software has the capabilities to maintain itself in the ever-changing environment: 1. Modularity - the extent to which a software/Web application may be divided into smaller modules. 2. Maintainability - is defined as the degree to which an application is understood, repaired, or enhanced.
  • 81. Maintenance 3. Flexibility - it normally refers to the ability for the solution to adapt to possible or future changes in its requirements. 4. Scalability - is the ability of a program to scale
  • 82. QUIZ #2 IT 226 - APPLICATIONS DEVELOPMENT AND EMERGING TECHNOLOGIES
  • 83. MULTIPLE CHOICE Instruction: Write the letter of your answer in your answer sheet.
  • 84. 1. This is where all the engineering concepts pertaining to the development of software are applied. a. Software Development Methods b. Software Development Paradigm c. Software Design Paradigm d. Programming Paradigm 0 1 2 3 4 5 6 7 8 9 10
  • 85. 2. This aspect is important when the software is moved from one platform to another. a. Operational b. Transitional c. Maintenance d. None of the above 0 1 2 3 4 5 6 7 8 9 10
  • 86.

Editor's Notes

  1. Non-Functional Specifications: For example that a work processor runs on different platforms
  2. Non-Functional Specifications: (For example that a work processor runs on different platforms)
  3. Non-Functional Specifications: (For example that a work processor runs on different platforms)
  4. At the end of this lesson, you should be able to
  5. There are many methods proposed and are in work today, but we need to see where in the software engineering these paradigms stand. We discussed from our first lesson that the process of developing a software product using software engineering principles and methods is called/referred to as software evolution.
  6. Programming paradigm is a subset of Software design paradigm which is further a subset of Software development paradigm.
  7. Software design does not only refer to the visual appearance of a software, this includes the design of how the system should work or the flow of the developed software.
  8. Integrating means, adding your new code or program into an existing software, program or code.
  9. Software is more than just a program code. A program is an executable code, which serves some computational purpose. Software is considered to be collection of executable programming code, associated libraries and documentations. Software, when made for a specific requirement is called software product.
  10. Budget/cost – or the cost required or needed to procure/produce such software. This includes the components (hardware) that are needed by the software.