0% found this document useful (0 votes)
5 views

Modeling

The document outlines the course structure for Software Engineering at the University Institute of Engineering, detailing course outcomes, topics covered, and the distinction between functional and non-functional requirements. It explains the importance of functional requirements in defining software behavior and the role of non-functional requirements in assessing system quality attributes. Additionally, it discusses decision trees and tables as tools for representing complex processing logic and their advantages and disadvantages in software development and testing.

Uploaded by

shubham Gautam
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

Modeling

The document outlines the course structure for Software Engineering at the University Institute of Engineering, detailing course outcomes, topics covered, and the distinction between functional and non-functional requirements. It explains the importance of functional requirements in defining software behavior and the role of non-functional requirements in assessing system quality attributes. Additionally, it discusses decision trees and tables as tools for representing complex processing logic and their advantages and disadvantages in software development and testing.

Uploaded by

shubham Gautam
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 49

University Institute of Engineering

DEPARTMENT OF COMPUTER SCIENCE &


ENGINEERING
Subject Name: Software Engineering
Subject Code: 23CST-206

Er. Jagmeet Kaur


E8387
ASSISTANT PROFESSOR DISCOVER . LEARN . EMPOWER
CSE

09/12/24 Er. Jagmeet Kaur, Asst. Prof., CSE, Chandigarh Univer 1


sity
Introduction to Software Engineering

Course Outcome

CO
Title Level
Number

CO3
Prepare SRS and software process metrics for a given Analyse
requirement.

Prepare Test Suite and Quality Assurance plan for a Create


CO4
given project.

Er. Jagmeet Kaur, Asst. Prof., CSE, Chandigarh University 2


Topics covered
• Functional and non functional 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

• Helps you to check whether the application is providing all the


functionalities that were mentioned in the functional requirement of that
application
• A functional requirement document helps you to define the functionality of
a system or one of its subsystems.
• Functional requirements along with requirement analysis help identify
missing requirements. They help clearly define the expected system service
and behavior.
• Errors caught in the Functional requirement gathering stage are the cheapest
to fix.
• Support user goals, tasks, or activities
9
Types of Functional Requirements

• 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

• The nonfunctional requirements ensure the software system follow


legal and compliance rules.
• They ensure the reliability, availability, and performance of the
software system
• They ensure good user experience and ease of operating the software.
• They help in formulating security policy of the software system.

16
Disadvantages of Non-functional requirement

• None functional requirement may affect the various high-level


software subsystem
• They require special consideration during the software
architecture/high-level design phase which increases costs.
• Their implementation does not usually map to the specific software
sub-system,
• It is tough to modify non-functional once you pass the architecture
phase.

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

Fig 1 Example of decision tree

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

• Let's create a decision table for a 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

• Mathematical techniques used include:


• Logic-based
• set theoretic
• algebraic specification
• finite state machines, etc.
41
Formal Specification
• Formal specifications sometimes are not used because:
• Software management is conservative and unwilling to adopt new
techniques whose payoff is not immediately obvious.
• Most software engineers have not been trained in formal specification
techniques.
• Some classes of systems are difficult to specify using existing
specification techniques. Interactive and interrupt driven systems
might be examples.

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

• In the Functional Model, software converts information. and to accomplish this,

it must perform at least three common tasks- input, processing and output.

• When functional models of an application are created, the software engineer

emphasizes problem specific tasks. The functional model begins with a single

reference level model

45
Functional Modeling

• In a series of iterations, more and more functional detail is given, until all system

functionality is fully represented.

• Information is converted because it flows from a computer-based system.

• The system takes input in various forms; Hardware, software, and human

elements are applied to replace it; And produces in various forms.

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

You might also like