Modeling
Modeling
Course Outcome
CO
Title Level
Number
CO3
Prepare SRS and software process metrics for a given Analyse
requirement.
• Decision tree
• Decision table
• Data Modeling
• Functional Modeling
• Behavioral Modeling
3
FUNCTIONAL REQUIREMENTS
• Functional requirements describe:
• A set of high-level requirements
• Each high-level requirement:
• takes in some data from the user
• outputs some data to the user
• Each high-level requirement:
• might consist of a set of identifiable functions
• For each high-level requirement:
• Every function is described in terms of:
• Input data set
• Output data set
• Processing required to obtain the output data set from the input data set.
4
FUNCTIONAL REQUIREMENTS
• A Functional Requirement is a description of the service that the
software must offer.
• It describes a software system or its component.
• A function is nothing but inputs to the software system, its behavior,
and outputs.
• It can be a calculation, data manipulation, business process, user
interaction, or any other specific functionality which defines what
function a system is likely to perform.
• Functional Requirements are also called Functional Specification.
5
FUNCTIONAL REQUIREMENTS
• In software engineering and systems engineering, a Functional
Requirement can range from the high-level abstract statement of the
sender's necessity to detailed mathematical functional requirement
specifications.
• Functional software requirements help you to capture the intended
behavior of the system.
6
FUNCTIONAL REQUIREMENTS : EXAMPLE
7
Functional requirement should
include:
• Details of operations conducted in every screen
• Data handling logic should be entered into the system
• It should have descriptions of system reports or other outputs
• Complete information about the workflows performed by the system
• It should clearly define who will be allowed to create/modify/delete
the data in the system
• How the system will fulfill applicable regulatory and compliance
needs should be captured in the functional document
8
Benefits of Functional Requirement
• Transaction Handling
• Business Rules
• Certification Requirements
• Reporting Requirements
• Administrative functions
• Authorization levels
• Audit Tracking
• External Interfaces
• Historical Data management
• Legal and Regulatory Requirements
10
NON FUNCTIONAL REQUIREMENTS
• Characteristics of the system which can not be expressed as functions:
• Maintainability,
• Portability,
• Usability, etc.
• Non functional requirements include:
• Reliability issues,
• Performance issues:
• Example: How fast the system can produce results
• so that it does not overload another system to which it supplies data, etc.
• Human-computer interface issues,
• Interface with other external systems,
• Security, maintainability, etc.
11
NON FUNCTIONAL REQUIREMENTS
• NON-FUNCTIONAL REQUIREMENT (NFR) specifies the quality
attribute of a software system.
• They judge the software system based on Responsiveness, Usability,
Security, Portability and other non-functional standards that are critical
to the success of the software system.
• Example of nonfunctional requirement, “how fast does the website
load?”
• Failing to meet non-functional requirements can result in systems that
fail to satisfy user needs.
12
NON FUNCTIONAL REQUIREMENTS
• Non-functional Requirements allows you to impose constraints or
restrictions on the design of the system across the various agile
backlogs.
• Example, the site should load in 3 seconds when the number of
simultaneous users are > 10000.
13
TYPES OF NON-FUNCTIONAL
REQUIREMENTS
• Usability requirement
• Serviceability requirement
• Manageability requirement
• Recoverability requirement
• Security requirement
• Data Integrity requirement
• Capacity requirement
• Availability requirement
• Scalability requirement
• Interoperability requirement
• Reliability requirement
• Maintainability requirement
• Regulatory requirement
• Environmental requirement
14
Examples of Non-functional requirements
• Users must change the initially assigned login password immediately after the first
successful login. Moreover, the initial should never be reused.
• Employees never allowed to update their salary information. Such attempt should be
reported to the security administrator.
• Every unsuccessful attempt by a user to access an item of data shall be recorded on
an audit trail.
• A website should be capable enough to handle 20 million users with affecting its
performance
• The software should be portable. So moving from one OS to other OS does not
create any problem.
• Privacy of information, the export of restricted technologies, intellectual property
rights, etc. should be audited.
15
Advantages of Non-Functional Requirement
16
Disadvantages of Non-functional requirement
17
Functional Vs Non-Functional requirements
18
Representation of complex processing logic
• Decision trees
• Decision tables
19
Decision Tree
• A decision tree is a map of the possible outcomes of a series of related
choices.
• It allows an individual or organization to weigh possible actions
against one another based on their costs, probabilities, and benefits.
• They can be used either to drive informal discussion or to map out an
algorithm that predicts the best choice mathematically.
• A decision tree typically starts with a single node, which branches into
possible outcomes. Each of those outcomes leads to additional nodes,
which branch off into other possibilities. This gives it a treelike shape.
20
Decision Tree
• There are three different types of nodes: chance nodes, decision nodes,
and end nodes.
• A chance node, represented by a circle, shows the probabilities of
certain results.
• A decision node, represented by a square, shows a decision to be
made, and an end node shows the final outcome of a decision path.
21
Decision Tree Symbols
22
Decision Tree
• A Decision Tree offers a graphic read of the processing logic
concerned in a higher cognitive process and therefore the
corresponding actions are taken.
• The perimeters of a choice tree represent conditions and therefore the
leaf nodes represent the actions to be performed looking on the result
of testing the condition.
23
Example
• For example, consider Library Membership Automation Software (LMS)
where it ought to support the following three options: New member, Renewal,
and Cancel membership. These are explained as following below.
1. New Member Option:
• Decision:
Once the ‘new member’ possibility is chosen, the software system asks details
concerning the member just like the member’s name, address, number, etc.
• Action:
If correct info is entered then a membership record for the member is made
and a bill is written for the annual membership charge and the protection
deposit collectible.
24
Example
2 Cancel Membership Option:
• Decision:
If the ‘cancel membership’ possibility is chosen, then the software system asks for member’s
name and his membership range.
• Action:
The membership is off, a cheque for the balance quantity because of the member is written and at
last the membership record is deleted from the information.
3 Renewal Option:
• Decision:
If the ‘renewal’ possibility is chosen, the LMS asks for the member’s name and his membership
range to test whether or not he’s a sound member or not.
• Action:
If the membership is valid then membership ending date is updated and therefore the annual
membership bill is written, otherwise, a slip-up message is displayed.
25
Example
26
Advantages
The advantages of decision tree are as follow:
• They are easy to understand
• They can be useful with or without hard data, and any data requires
minimal preparation
• New options can be added to existing trees
• Their value in picking out the best of several options
27
Disadvantages
• When dealing with categorical data with multiple levels, the
information gain is biased in favor of the attributes with the most
levels.
• Calculations can become complex when dealing with uncertainty and
lots of linked outcomes.
• Conjunctions between nodes are limited to AND, whereas decision
graphs allow for nodes linked by OR.
28
Decision table
• Decision tables specify:
• Which variables are to be tested
• What actions are to be taken if the conditions are true,
• The order in which decision making is performed.
• A decision table shows in a tabular form:
• Processing logic and corresponding actions
• Upper rows of the table specify:
• The variables or conditions to be evaluated
• Lower rows specify:
• The actions to be taken when the corresponding conditions are satisfied.
29
Decision table
• In technical terminology,
• a column of the table is called a rule:
• A rule implies:
• if a condition is true, then execute the corresponding action.
30
Decision Table
• Decision table is a brief visual representation for specifying which
actions to perform depending on given conditions.
• The information represented in decision tables can also be represented as
decision trees or in a programming language using if-then-else and
switch-case statements.
• A decision table is a good way to settle with different combination inputs
with their corresponding outputs and also called cause-effect table.
• Reason to call cause-effect table is a related logical diagramming
technique called cause-effect graphing that is basically used to obtain the
decision table.
31
Importance of Decision Table
• Decision tables are very much helpful in test design technique.
• It helps testers to search the effects of combinations of different inputs and other
software states that must correctly implement business rules.
• It provides a regular way of stating complex business rules, that is helpful for
developers as well as for testers.
• It assists in development process with developer to do a better job. Testing with all
combination might be impractical.
• A decision table is basically an outstanding technique used in both testing and
requirements management.
• It is a structured exercise to prepare requirements when dealing with complex
business rules.
• It is also used in model complicated logic.
32
Example: How to make Decision Base Table for Login Screen
33
Example
• The condition is simple if the user provides correct username and
password the user will be redirected to the homepage. If any of the
input is wrong, an error message will be displayed.
34
Example
• Notations
• T – Correct username/password
• F – Wrong username/password
• E – Error message is displayed
• H – Home screen is displayed
• Interpretation:
• Case 1 – Username and password both were wrong. The user is shown an error message.
• Case 2 – Username was correct, but the password was wrong. The user is shown an error
message.
• Case 3 – Username was wrong, but the password was correct. The user is shown an error
message.
• Case 4 – Username and password both were correct, and the user navigated to homepage
35
Advantages and Disadvantages
• Advantages
• When the system behavior is different for different input and not same for a range of inputs,
both equivalent partitioning, and boundary value analysis won't help, but decision table can be
used.
• The representation is simple so that it can be easily interpreted and is used for development and
business as well.
• This table will help to make effective combinations and can ensure a better coverage for testing
• Any complex business conditions can be easily turned into decision tables
• In a case we are going for 100% coverage typically when the input combinations are low, this
technique can ensure the coverage.
• Disadvantages
• The main disadvantage is that when the number of input increases the table will become more
complex
36
Comparison
37
Formal specification
• A formal specification technique is a mathematical method to:
• Accurately specify a system.
• Verify that implementation satisfies specification.
• Prove properties of the specification. A formal software specification
is a statement expressed in a language whose vocabulary, syntax, and
semantics are formally defined.
• The need for a formal semantic definition means that the specification
languages cannot be based on natural language; it must be based on
mathematics.
38
Formal Specification
• Advantages:
• Well-defined semantics, no scope for ambiguity
• Automated tools can check properties of specifications
• Executable specification
• The development of a formal specification provides insights and
understanding of the software requirements and the software design.
• Given a formal system specification and a complete formal programming
language definition, it may be possible to prove that a program conforms to
its specifications.
• Formal specification may be automatically processed. Software tools can
be built to assist with their development, understanding, and debugging.
39
Formal Specification
• Depending on the formal specification language being used, it may be
possible to animate a formal system specification to provide a
prototype system.
• Formal specifications are mathematical entities and may be studied
and analyzed using mathematical methods.
• Formal specifications may be used as a guide to the tester of a
component in identifying appropriate test cases.
40
Formal specification
• Disadvantages of formal specification techniques:
• Difficult to learn and use
• Not able to handle complex systems
42
APPLICATIONS
• Managing clients requirements in industry.
• Generating software for noticing health activities with novel smart
technologies.
• Content Management and to analyzing Fraud detection and Prevention
• Advertisements Targeting Platforms Managing content, posts, images and
videos on social media platforms
• Analyzing customer data in real-time for improving business performance
• Public sector fields such as intelligence, defense, cyber security and
scientific research
43
Data Modeling
• A data model can be thought of as a flowchart that illustrates the relationships
among data.
• It enables stakeholders to identify errors and make changes before any
programming code has been written.
• Alternatively, models can be introduced as part of reverse engineering efforts that
extract models from existing systems, as seen with NoSQL data.
• Data modelers often use multiple models to view the same data and ensure that all
processes, entities, relationships and data flows have been identified.
• Data modeling stages roughly break down into creation of logical data models that
show specific attributes, entities and relationships among entities and the physical
data model.
44
Functional Modeling
it must perform at least three common tasks- input, processing and output.
emphasizes problem specific tasks. The functional model begins with a single
45
Functional Modeling
• In a series of iterations, more and more functional detail is given, until all system
• The system takes input in various forms; Hardware, software, and human
46
Behavioral Modeling
• Behavioral model describes the interaction in the system. It represents
the interaction among the structural diagrams. Behavioral modeling
shows the dynamic nature of the system. They consist of the
following:
• Activity diagrams
• Interaction diagrams
• Use case diagrams
47
REFERENCES
Reference Books:
1. Suman Ugrasen, “Software Engineering - Concepts and Practices”, First Edition, Cengage.
2. Mohammad Ali Shaikh, “Software Engineering with UML”, Third Edition, Notion Press.
3. Somerville Ian, “Software Engineering”, Addison Wesley, 8th Edition.
Text Books:
4. Pressman Rogers, “Software Engineering: A Practitioner's Approach”, Sixth edition. Patterson
and Hennessy, “Computer Architecture” , Fifth Edition Morgaon Kauffman.
5. Rajib Mall, “Fundamentals of Software Engineering’’, Fourth Edition, Pearson, PHI.
Reference Website
6. https://www.geeksforgeeks.org/computer-organization-and-architecture-tutorials/
48
THANK YOU