Formal Methods
Lecture # 1
Umber Noureen Abbas
Lecturer
Department of Computer Science
10/27/2022 Computer Science Department, University of Sahiwal 1
Formal Method
Introduction
10/27/2022 Computer Science Department, University of Sahiwal 2
Learning Objective
•
What are formal methods in software development?
SDLC
• Waterfall SDLC
Computer Science Department, University of Sahiwal 3
10/27/2022
What are formal methods in software
development?
• In software development, formal methods are mathematical
approaches to solving software (and hardware) problems at
the requirements, specification, and design levels. Formal
methods are most likely to be applied to safety-critical or
security-critical software and systems, such as
avionics software.
10/27/2022 Computer Science Department, University of Sahiwal 4
SDLC
• Stage 1. Planning and requirement analysis
• Stage 2. Designing project architecture
• Stage 3. Development and programming
• Stage 4. Testing
• Stage 5. Deployment
10/27/2022 Computer Science Department, University of Sahiwal 5
Waterfall SDLC
10/27/2022 Computer Science Department, University of Sahiwal 6
Iterative Model
10/27/2022 Computer Science Department, University of Sahiwal 7
COSMIC TRUTH 1
If you don’t get the
requirements right, it
doesn‘t matter how
well you execute the
rest of the project
10/27/2022 Computer Science Department, University of Sahiwal 8
COSMIC TRUTH 2
Customer
involvement is
the most critical
factor in achieving
software quality.
10/27/2022 Computer Science Department, University of Sahiwal 9
Obtaining Customer Involvement
 Identify user classes
 Select “product champions”
 Employ the use case technique
 Understand how product will be used
 Scenarios
 operational profile
 Build prototypes
 Agree on customer rights and responsibilities
10/27/2022 Computer Science Department, University of Sahiwal 10
COSMIC TRUTH 5
The customer is
not always right.
But the customer
always has a point.
10/27/2022 Computer Science Department, University of Sahiwal 11
How can customer not be right?
 Presenting solutions in the guise of requirements
 Not prioritizing requirements
 Not communicating or respecting business rules or constraints
 Not making decisions
 Not accepting the need for tradeoffs
 Demanding impossible commitments
 Not accepting the cost of change
10/27/2022 Computer Science Department, University of Sahiwal 12
COSMIC TRUTH 6
The first question an
analyst should ask
about a proposed
new requirement is,
“Is this in scope?”
10/27/2022 Computer Science Department, University of Sahiwal 13
Questions
Any Question Please?
You can contact me at: umber@uosahiwal.edu.pk
Your Query will be answered within one working day.
10/27/2022 Computer Science Department, University of Sahiwal 14
Thanks
10/27/2022 Computer Science Department, University of Sahiwal 15

Formal Method

  • 1.
    Formal Methods Lecture #1 Umber Noureen Abbas Lecturer Department of Computer Science 10/27/2022 Computer Science Department, University of Sahiwal 1
  • 2.
    Formal Method Introduction 10/27/2022 ComputerScience Department, University of Sahiwal 2
  • 3.
    Learning Objective • What areformal methods in software development? SDLC • Waterfall SDLC Computer Science Department, University of Sahiwal 3 10/27/2022
  • 4.
    What are formalmethods in software development? • In software development, formal methods are mathematical approaches to solving software (and hardware) problems at the requirements, specification, and design levels. Formal methods are most likely to be applied to safety-critical or security-critical software and systems, such as avionics software. 10/27/2022 Computer Science Department, University of Sahiwal 4
  • 5.
    SDLC • Stage 1.Planning and requirement analysis • Stage 2. Designing project architecture • Stage 3. Development and programming • Stage 4. Testing • Stage 5. Deployment 10/27/2022 Computer Science Department, University of Sahiwal 5
  • 6.
    Waterfall SDLC 10/27/2022 ComputerScience Department, University of Sahiwal 6
  • 7.
    Iterative Model 10/27/2022 ComputerScience Department, University of Sahiwal 7
  • 8.
    COSMIC TRUTH 1 Ifyou don’t get the requirements right, it doesn‘t matter how well you execute the rest of the project 10/27/2022 Computer Science Department, University of Sahiwal 8
  • 9.
    COSMIC TRUTH 2 Customer involvementis the most critical factor in achieving software quality. 10/27/2022 Computer Science Department, University of Sahiwal 9
  • 10.
    Obtaining Customer Involvement Identify user classes  Select “product champions”  Employ the use case technique  Understand how product will be used  Scenarios  operational profile  Build prototypes  Agree on customer rights and responsibilities 10/27/2022 Computer Science Department, University of Sahiwal 10
  • 11.
    COSMIC TRUTH 5 Thecustomer is not always right. But the customer always has a point. 10/27/2022 Computer Science Department, University of Sahiwal 11
  • 12.
    How can customernot be right?  Presenting solutions in the guise of requirements  Not prioritizing requirements  Not communicating or respecting business rules or constraints  Not making decisions  Not accepting the need for tradeoffs  Demanding impossible commitments  Not accepting the cost of change 10/27/2022 Computer Science Department, University of Sahiwal 12
  • 13.
    COSMIC TRUTH 6 Thefirst question an analyst should ask about a proposed new requirement is, “Is this in scope?” 10/27/2022 Computer Science Department, University of Sahiwal 13
  • 14.
    Questions Any Question Please? Youcan contact me at: umber@uosahiwal.edu.pk Your Query will be answered within one working day. 10/27/2022 Computer Science Department, University of Sahiwal 14
  • 15.
    Thanks 10/27/2022 Computer ScienceDepartment, University of Sahiwal 15