CSEN1131 Software Engineering Module 2
CSEN1131 Software Engineering Module 2
ENGINEERING
Module 2
Module-II Syllabus
Prototyping
◦ Modeling –
◦If requirement are well understood and project scope is constrained then it
enable development team to create “ fully functional system” within a
very short time period
RAD Model Drawback
Programs are built and thrown on it and we rebuild the system to improve quality
Drawbacks:
When developer is unsure of efficiency algorithm
Feedback from customer/end user will refine requirement and that is how
iteration occurs during prototype to satisfy the needs of the customer.
Prototyping
paradigm.
Less Flexibility
◦Scrum Master
◦ Product Owner.
Scrum Master
◦ The Product Owner is one who runs the product from a business
perspective
• He accepts the user stories that meet the definition of done and
defined acceptance criteria.
Cross-functional team
Every agile team contains self-sufficient team with 5 to 9 team members.
3 to 4 developers
1 tester
1 technical lead
1 scrum master
1 product owner
What are sprints?
1. Roles
2. Artifacts
3. Events
4. Rules
Key components of the Scrum Development
Model : Roles
Product Increment: The sum of all the completed product backlog items at
Sprint Planning: A meeting at the beginning of each sprint where the team plans
the work to be done.
Daily Scrum (Stand-up): A short daily meeting where team members discuss
progress, plan for the day, and identify and address impediments.
Sprint Review: A meeting at the end of each sprint to review the completed work
and gather feedback.
Sprint Retrospective: A meeting at the end of each sprint for the team to reflect
on their processes and identify improvements.
Key components of the Scrum Development Model :
Rules
• Changes are only made between sprints unless there is a compelling reason to
make a change during a sprint.
Agile
Scrum model steps
Product Backlog
Sprint Planning
Sprint Meeting
Sprint Review
Sprint retrospective
Repeat
Scrum model steps
Product Backlog:
It is a prioritized list of features, user stories, enhancements, and bug fixes that
need to be addressed in the product.
Planning Sprint:
During this meeting, the Scrum Team, including the Product Owner, Scrum Master,
and Development Team, collaboratively selects items from the Product Backlog to
work on during the upcoming sprint.
creates the Sprint Backlog, detailing the tasks required to complete the selected
items.
Scrum model steps
Sprint Meeting: often referred to as the Daily Scrum or Daily Stand-up
discuss what they plan to work on next, and highlight any impediments.
The Scrum Team, stakeholders, and the Product Owner come together to
review the completed work.
Customer Satisfaction
Improved Collaboration
Increased Transparency
Continuous Improvement
Risk Management
Cost Control
Scalability
Unified Process Model
It is rational unified process model developed by grady booch
It has 5 phases
Inception
Elaboration
Construction
Transition
production
Phases of the Unified Process
Inception Elaboration
planning
modeling
communication
construction
Construction
deployment
Production Transition
38
UNIFIED PROCESS MODEL
Requirement Engineering
Process
How to conduct a feasibility study
(7 Steps)
4. Plan Business Organization and Operations- start-up costs, fixed investments and
operation costs.
5. Prepare an Opening Day Balance Sheet- estimate of the assets and liabilities
1. Technical Feasibility
2. Economic Feasibility
3. Legal Feasibility
4. Operational Feasibility
5. Scheduling Feasibility
Among these Economic Feasibility Study is most important part of the feasibility
analysis and
Legal Feasibility Study is less considered feasibility analysis.
Technical Feasibility
focuses on the technical resources available to the organization.
economical benefits associated with a project before financial resources are allocated.
determine the positive economic benefits to the organization that the proposed project
will provide.
operational cost
zoning laws
A feasibility study might reveal the organization’s ideal location isn’t zoned for
that type of business.
Operational Feasibility
determine whether—and how well
how much easy product will be to operate and maintenance after deployment.
usability of product
timelines/deadlines is analyzed
worthwhile
Discovering requirements
Discovery
Analysis
Validation
Requirements elicitation
Requirements analysis
Requirements validation
Requirements management.
Requirements Engineering Tasks
◦ Inception —Establish a basic understanding of the problem and the nature of the solution.
◦ Validation —Review the requirement specification for errors, ambiguities, omissions, and
conflicts.
Involves technical staff working with customers to find out about the
application domain, the services that the system should provide and the
system’s operational constraints.
Stake holders
Stakeholders don’t know what they really want.
requirements
Requirements Requirements
classification and prioritization and
organisation negotiation
Requirements Requirements
discov ery documentation
Process activities
◦ Requirements discovery
◦ Requirements documentation
◦ Requirements are documented and input into the next round of the spiral.
Requirements discovery
Methods for conducting requirement discovery
Conducting interviews
Observations
Bank customers
Bank managers
Counter staff
Database administrators
Security managers
Marketing department
Banking regulators
Interviewing
◦ This is effective method of requirement gathering
◦Validity. Does the system provide the functions which best support the
customer’s needs?
Initial Changed
require ments require ments
Time
Traceability
Source traceability
Requirements traceability
Design traceability
A traceability matrix
Identified Revised
problem Problem analysis and Change analysis Change requirements
change specification and costing implementation
Software quality
The terms ‘quality assurance’ & ‘quality control’ are widely used in
manufacturing industry.
to high-quality products.
weed out products that are not of the required level of quality.
models
UML sequence charts and state charts show the sequence of actions that occur in
https
://krazytech.com/projects/sample-software-requirements-specifi
cationsrs-report-airline-database
https
://krazytech.com/projects/software-requirements-specification-r
eport
https://medium.com/@vincetran_28429/software-requirements-
What is UML?
UML stands for “Unified Modeling Language”
It is a industry-standard graphical language .
UML is a pictorial language used to make software blue prints
It is used for specifying, visualizing, constructing, and documenting the
artifacts of software systems
UML is different from the other common programming languages
It uses mostly graphical notations.
Simplifies the complex process of software design
What is UML?
It is a general purpose modelling language.
Define a standard way to visualize the way a system has been
designed.
UML is not a programming language
it is rather a visual language
portray the behavior and structure of a system
Why UML for Modeling
Use graphical notation to communicate more clearly than natural
language (imprecise) and code(too detailed).
standard in 1997.
UML
Relationshi
Things Diagrams
ps
Conceptual model of the UML
Things
Behavioura Annotation
Structural Grouping
l al
Conceptual model of the UML
Relationship
s
Dependenc Generalizati
Association Extensibility
y on
Conceptual model of the UML -
Diagrams
Componen
Class Object
t
Deployme Interactio
Use case
nt n
State
Activity
chart
Conceptual model of the UML
• Class
State machine
Interaction
• Interface
• Collaboration
• Use case Annotational
• Components Things
• Nodes • Note
Things
Anything that is a real world entity or object is termed as
things.
It can be divided into several different categories:
Structural things
Behavioral things
Grouping things
Annotational things
Structural things
It depicts the static behavior of a model is termed as structural
things.They include
Class
Object
Interface
Node
Collaboration
component
use case.
Structural things
Class: A Class is a set of identical things that outlines the
functionality and properties of an object. class represents
an object or a set of objects that share a common structure
and behavior.
Object:: object is a specific instance of a class.
The notation of the object is similar to that of the
class
object name is always underlined
Structural things
Use case: It portrays a list of actions that a system performs to achieve a
user's goal.
They are the verbs that encompass the dynamic parts of a model.
state machine
activity diagram
interaction diagram
Behavioural Things
State Machine: It defines a sequence of states that an entity
below,
Relationships
Association: It associates the entities to the UML model.
It depicts the relationship between objects
binary relationship between the objects representing an activity.
A single teacher has multiple students.
Relationships
A single student can associate with many
teachers.
The person works for the company. Here the person works
for the company, and not the company works for a person.
Relationships
The composition and aggregation are two subsets of association.
Relationships
Aggregation
It represents has a relationship.
It describes a part-whole or part-of relationship.
i
Relationships
Composition
(children),
If the person is destroyed, the brain, heart, and legs will also get
discarded.
Composition Relationship
Generalization
Generalization: It portrays a parent class or superclass and a specific
hollow arrowhead pointing towards the parent model element from the
Object Diagrams
Class Diagrams
Deployment Diagrams
State Diagrams
Activity Diagrams
Interaction Diagrams
UML Diagrams
Class Diagram –
widely use UML diagram is the class diagram.
depict the static structure of a system by showing
system’s classes,their methods and attributes
Object Diagram –
referred to as a screenshot of the instances in a system
and the relationship that exists between them
UML Diagrams
Component Diagram – represent the how the physical components in a
on them.
Behavioural Diagrams
State Machine Diagrams : it represents the behavior using finite
state transitions.
State diagrams are also referred to as State machines and State-
chart Diagrams .
Activity Diagrams :illustrate the flow of control in a system.
model sequential and concurrent activities using activity diagrams
Behaviuoral Diagrams
Use Case Diagrams –depict the functionality of a system or a part of a
system.
illustrate the functional requirements of the system and its interaction
with external agents(actors).
high level view of what the system or a part of the system does without
going into implementation details
Sequence Diagram – A sequence diagram simply depicts interaction
between objects in a sequential order
Collaboration Diagram : sequenced messages exchanged between
objects.
A communication diagram focuses primarily on objects and their
Behavioral diagrams
Any system can have two aspects, static and dynamic.
A model is considered as complete when both the aspects are covered fully.
It basically capture the dynamic aspect of a system.
Dynamic aspect can be further described as the changing/moving parts of a system.
Sequence diagram
Collaboration diagram
Statechart diagram
Activity diagram
UseCase Diagram
Fine Remittance
Supervisor
Use Case Diagrams(cont.)
USECASE DIAGRAM
USECASE DIAGRAM