FMiSE Lecture 1
FMiSE Lecture 1
SOFTWARE ENGINEERING
LECTURE: 1
INSTRUCTOR: MARIA MEMON
INTRODUCTION TO FORMAL METHODS
1. SDLC
2. Formal Method
3. Advantage
4. Disadvantage
5. Critical Software
6. Integrity Level
WHAT IS SOFTWARE…..
Software is a set of instructions, data or programs used to operate computers and execute
specific tasks. It is the opposite of hardware, which describes the physical aspects of a
computer. Software is a generic term used to refer to applications, scripts and programs that
run on a device. It can be thought of as the variable part of a computer, while hardware is
• Software engineering is the branch of computer science that deals with the design,
• Software engineers design and develop computer games, business applications, operating
systems, network control systems, and middleware—to name just a few of the many
This is the first time the system development team meets the clients to
After the client has agreed to the proposal and price, the team will go in and
study the current system with the intention to discover the source of the
problem. The System analyst will use diagrams and data collection
this stage delivers a report stating the source of the problem and more then
After the client agrees with the analysis findings, the client will choose one
(1) solution. From this one solution the system designer will create the
specification. For the software section, the deliverables will take the form of
Base on the given specification, the respective IT section will develop the
solution. For the software section, the deliverables will be a full running
The test documents (Test Plan and Test Case) are normally created by the
System Analyst during the development stages. The tester (normally a 3rd
party) will use the Test Plan and Test Case to complete the testing. The
deliverables will be a letter from the tester stating the outcome of the test.
6. IMPLEMENTATION
At this stage onward the software is no longer a concern, the main objective
now will be to prepare the environment. The implementation plan will list
the tasks necessary to prepare the environment to accept new software, such
as installation, training, conversion of data, change over method, etc. There
are many deliverables here depending on what is listed in the implantation
plan. For example for user training a user manual is normally created
7. REVIEW
This is the final stage where the software user and team will sit down to
contract. If all goes well normally but not necessary a sign off letter will be
This can be done using a number of formal languages such as Z notation, VDM, Algebra,
Functional Programming, etc.
Creating software need not use formal method, having said that, having formal method
imbedded into the SDLC does give the software huge advantages and also a new set of
disadvantages
ADVANTAGE OF FORMAL METHOD
Formal Method forces the System Analyst and Designer to think carefully
Designer to see all the different possible states for any given variables and
functions thus will avoid many faults and therefore reduces the bugs and
There are too many different formal methods and most of them are not compatible with each
other.
Formal methods do not guarantee that a specification is complete. For each variable and function,
it just forces the System Analyst and Designer to view the specification from a different
perspectives but it does not guarantee that variable and functions will not be left out.
CRITICAL SOFTWARE
Having known the advantages and disadvantages, most clients will see the
justification to use formal methods for critical systems, but this thinking is
now slowly fading as most clients realize the important and cost saving and
1. Business Critical System Business Critical System refers to a system where the honesty
and integrity of the business is paramount. All data kept in the system must be accurate at all
times. If a fault is found the entire process must be stop to allow correction. Most government,
business and manufacturing company that requires payment are business critical.
2. Mission Critical System
running of the system. Auto Teller Machine, Car ticketing system, Alarm
Safety Critical System refers to a system where the safety of everyone directly or indirectly affected by the system
is paramount. Functionality and Accurate takes a lower priority compare to the safety of the users. Most medical,
Many organizations today require a combination of the above as such you may have a business mission critical
Integrity Level Integrity level refers to how much cost is an organization is willing to spend
and how much risk is an organization is willing to take when developing software.
STAGES IN FORMAL METHOD
1. FORMAL SPECIFICATION
This is where normal system specification is use and translated using a formal language into a formal
specification. There are basically two type of formal language; Model Oriented (VDM, Z, etc) and
Properties Oriented (Algebraic Logic, Temporal Logic, etc). This is the cheapest way to handle formal
method.
1. Get user requirement usually from the specification written in the natural language.
2. Clarify the requirement using mathematical approach. This is to remove all ambiguous, incomplete
and inconsistent statement.
3. After statements are clearly identified. Then find all assumptions (Things that must be in
place before something can happen) that is state or not stated within the clarified
requirement.
4. Then expose every possible logic defect (fault) or omission in the clarified requirement.
5. Identify what are the exceptions (bad things) that will arise if the defects are not
corrected. Chapter 1- Formal Methods
10/64 .
6. Find a way to test for all the possible each exception. Only when you can test for an
exception can you be able to stop that exception from happening.
2. FORMAL PROOF
This level studies the formal specification and retrieves the goals of the formal specific.
Then fixed rules are created and with these rules step by step instructions are listed to
achieve the specified goals. This is relatively cheaper but there are more task steps.
3. MODEL CHECKING
This level studies the formal specification and formal proof deliverables to make sure that
the system or software contains ALL possible properties to be able to handle all possible
scenarios that could happen for a given specification. This stage is beginning to be more
expensive.
4. ABSTRACTION
This level uses mathematical and physical models to create a prototype of the entire system
for simulation. This prototype is use to focus on the properties and characteristic of the
The integrity level decided by the organization will determine how deep to go into the
Formal Method stage.
Remember that the deeper into the formal method means more time and resources thus
more cost will be incurred.
THANK YOU