SlideShare a Scribd company logo
1 of 127
Software Engineering
Dr. Jayashree Nair
Professor & Dean
School of IT
Syllabus Intended Learning Outcomes [ILOs]
reflecting domain specific
knowledge, cognitive skills and
non-cognitive skills.
(At the end of the module, students
will be able to …..)
Assessment Tools
(including Sessionals
and Prefinals)
Formative /
Summative
(at least one
formative
assessment
for a module)
Module - 01
Overview, Objectives,Three Perspectives on Software
Engineering , The Agile Manifesto, Principles of Agile,
Application of Agile Software Development
Teamwork: Overview, Objectives, A Role Scheme in
Agile Teams, Remarks on the Implementation of the
Role Scheme, Human Perspective on the Role Scheme,
Using the Role Scheme to Scale Agile Projects,
Dilemmas in Teamwork, Teamwork in Learning
Environments, Teaching and Learning Principles
Customers and Users: Overview, Objectives, The
Customer, Customer Role, Customer Collaboration, The
User, Combining UCD with Agile Development,
Customers and Users in
Learning Environments, Teaching and Learning
Principles, Customer Stories.
1.Describe the Agile manifesto and
its principles. *
2.Relate the principles of Agile to the
existing SD environment. *
3.Explain the various Agile methods
in SD. *
4.List out the objectives of
Teamwork. *
5.Explain about refactoring in an
Agile environment.*
6.Give the Pros and Cons of Pair
Programming technique in Agile
methods.*
MCQ 1
Sessional Exam
Pre Final Exam
FA
SA
SA
Syllabus Intended Learning Outcomes [ILOs]
reflecting domain specific
knowledge, cognitive skills and
non-cognitive skills.
(At the end of the module, students
will be able to …..)
Assessment Tools
(including Sessionals
and Prefinals)
Formative /
Summative
(at least one
formative
assessment
for a module)
SOFTWARE DESIGN:
• Design Diagrams: Use Case Diagrams - Class
Diagrams - Interaction Diagrams - State chart
Diagrams - Activity Diagrams
• Design Process- Design concepts : Abstraction,
Architecture, patterns, Separation of Concerns,
Modularity, Information Hiding, Functional
Independence, Refinement, Aspects, Refactoring.
• Object Oriented Design Concepts, Design Classes-
Design Model: Data, Architectural,
Interface, Component, Deployment Level Design
Elements ,
• Code review Analysis.
1.Design State chart diagramS
1.Design Use Case Diagrams
1.Design Interaction Diagrams
1.Design Activity Diagrams
MCQ 1
Sessional Exam
Pre Final Exam
FA
SA
SA
Software Engineering
Software engineering is the profession
that applies scientific knowledge in the
construction of software products needed
by customers that are:
1) on time
2) on budget
3) with acceptable performance
4) with correct operation
Software Product Attributes
•Maintainability
•Dependability
•Efficiency
•Usability
Efficiency vs Costs
Generic Software Process Models
•Waterfall
–Separate and distinct
phases of specification and
development
Efficiency vs Costs
Generic Software Process Models
Spiral Model
Generic Software Process Models
Prototyping Model
Software Industry
Problems
➔ Coping with change
➔ Software quality Management
of software projects
Solution
➔ Agile development -- enhances
and supports diversity
Outcome
➔ Better processes
Three perspectives of Software Engineering
❖ The Human perspective
➢ cognitive and social aspects
➢ Refers to learning and interpersonal
processes (teammates, customers,
management)
❖ The Organizational perspective
➢ managerial and cultural aspects
➢ refers to the workspace and issues that
spread beyond the team.
❖ The Technological perspective
➢ practical and technical aspects
➢ refers to how-to and code-related
issues. HOT
Organizational
Perspective
Technological
Perspective
Human
Perspective
Software
Engineering
The Agile Manifesto
❖ People - teammates, customers,
management
❖ high priority to the people who
participate in the development
process
❖ decision related to the
development process → influence
on people who are part of the
development environment, their
relationships and communication
The Agile Manifesto
❖ main target of software projects is to
produce quality working software
● Focus is on working s/w or solution
○ Documents only for essential
requirement and accessible to all
○ Actual development commences
early
○ S/W that business can see and give
feedback
The Agile Manifesto
● development process is based on an
on-going and on a daily basis
contract with the customer.
● enables to cope successfully with the
frequent changes that characterize
software projects.
● Creates agile culture
The Agile Manifesto
● establish a development process that
copes successfully with changes
○ customers cannot predict a-priori all
their requirements;
● Respond to change and refine plan
without much implications on cost
● Encourages team to spend more time
working than creating project plans
`
Application of Agile Manifesto to
Agile Projects
Agile in Practice
● Whole Teams
● Short Releases
● Time Estimation
● Measures
● Customer Collaboration
● Test Driven Development
● Pair Programming
● Refactoring
Whole team Approach
● project team (including all role
holders and the customer)
communicate in a face-to-face
fashion as much as possible.
● development team work in a
collaborative workspace
● all team members participate in the
actual process planning
Short Releases
● Short releases usually of 2-3
months
● short iteration usually of one or two
weeks
○ Business Days
■ Previous iteration review
■ Project status review
■ Planning of next iteration
● Customer feedback at the end of
each iteration
Measures
Monitoring process transparent and known to all project stakeholders
● ON-TIME OR SPEED OF DELIVERY
○ burndown and the burnup charts
● PRODUCT QUALITY
○ tracking customer satisfaction, steady revenue growth, and testing success
● PROJECT VISIBILITY
○ Transparency - providing plans ahead of actions available to everyone
● PREDICTABILITY
○ Velocity - how much work has been completed at a sustainable pace
Customer Collaboration
● Customer part of process
● Avoids need to speculate on
customer requirements
● all team members have access to the
customer during the entire process.
● helps the teammates to cope
successfully with changes
Test Driven Development
● Unit and acceptance tests are integrated
with development process
● Encourages developers to build automatic
unit and acceptance tests
○ Unit test written prior to coding
○ Functionality added to pass test
○ Helps control development process
● Acceptance tests lead to development of
products that meets customer requirements
Pair Programming
● Each code developed by 2 teammates
● There is personal responsibility
● HArd to be distracted and leads to focus
● Driver- works with keyboard, thinks at
lower level
● Navigator - thinks of development at
higher level
● All team members familiar with all
aspects of developed software
Refactoring
● Improving Design of Existing
Code without affecting
functionality
● Time is dedicated to improve
software readability
● Reduce complexity of code
Teamwork
Objectives
● Characteristics of Teams in agile s/w development
● Allocation of roles to team members
● Using benefits of role assignment at individual, team and organization levels
● Dilemmas in teamwork and mechanisms to overcome them
● Mechanism to achieve, empower and maintain agile team spirit
● Basic skills to exploit strength of agile teams
Team
● At least 2 members working towards common goal
● Each person is assigned a specific role to perform
● Completion of mission requires some dependency among team members
Software Project teams accomplish complex task of software development
● Software development is about a tangible product
Role Scheme
● Role Assignment
○ Each team member is assigned a specific role to perform
○ Each team member will have an additional role assigned to them in addition to
primary role
● Software development is complex
○ Project management and progress split amongst all team members
○ BEnefits for individual, company and project
Role Groups
Role Groups
Role Groups
Role
Groups/Schemes
in Agile Projects
Role Scheme
● How does role scheme reflect HOT properties of Agile methods
● How is role scheme related to Agile MAnifesto
● What are benefits of role rotation
Dilemmas in Team work
● Allocation of incentives, rewards and bonuses
○ Teamwork is a basic working assumption is agile development
○ Team members cooperate, share information and exchange feedback with
each other
■ measuring individual performance is usually counter-productive
■ Major reason for conflicts
Dilemmas and conflicts associated with teamwork should be discussed openly
by all team members, and a solution that meets the needs of the individuals as
well as the entire team should be established.
Dilemmas in Team work
● Everyone gets X% of their salary as a bonus
● Distribute bonus evenly among team members
● Let team decide how bonus should be distributed
Rewards in Agile Teams
● rewards should encourage teamwork rather than individual
performance
● individual rewards maybe smaller in relation to team rewards.
● handwritten notes like thanking a team member for something special
and specific they did can do wonders for an individual
● Time - a team can be offered an incentive
★ a week off if they meet some delivery milestone.
★ choosing work of their choice in a sprint
Role Maintenance Activities
Activities performed on daily basis to enable entire team understand progress of the project
● Standup meetings
○ Individual performance
○ Expectations from team
● Presentation to customers
○ Present tasks of iteration
○ Individual contribution to task achievement
● Feedback from customers
○ With all team members
○ Personal reflection
Customers and Users
Customers’ Role in Agile
Consulting with customers is at the heart of an Agile enterprise.
Customers Collaboration over contract
Negotiation
● Customer is at the heart of
the agile enterprise
● Agile process supports
customer’s role
● Enhancing Communication
with Customers
● Customer feedback to
increase product quality
Customer
● Customer may be one who pays for the product or has
business interests
● It is based on ongoing communication between the customer
and the team members
● Communication to facilitate
○ the requirements gathering
○ The way testing is performed and
○ Achieving suitability of the developed product
User
● They are the main clients
● HCI - Human Computer Interaction
● User perspective considered from beginning of product
development life cycle
Customer Group
● User Evaluator
● Customer
● Acceptance Tester
Customer Role
The customer is involved in
the development process
continuously
1. Setting Project Release
Schedule
Project Release Planning
● The architects present
their vision about
○ the product architecture
○ the existing architecture
○ anticipated changes.
● Customer describes
○ the project vision
○ the project main
stories
○ the guidelines
according to which
development
priorities will be
set.
Project Release Planning
● Other stakeholders
present their expectations
from the development
process.
● The project manager
presents
○ his or her view of
the development
process
○ the working
environment
○ his/her personal
expectations.
Business Day
● Discuss the development tasks of each iteration
● Takes place between each two consecutive iterations and
releases
● The rest of the iteration days are development days
Business Day
● All project stakeholders are invited to participate
○ Team, customer, managers, external members, users
● Planned to eliminate pressure over weekends
● Business Day Activities
○ presentation of the accomplishments of the ending iteration;
○ measures’ review;
○ customer feedback;
○ Reflective session;
○ planning of the next iteration.
Business Day Activities
○ presentation of the accomplishments of the ending
iteration;
○ measures’ review;
○ customer feedback;
○ Reflective session;
○ planning of the next iteration.
Presentation of the System
● Main features developed as per user stories for the ended iteration is
presented
● User story
○ should be understandable to customers and developers,
○ Is a unit of functionality of the product
○ Is implemented as a tested and integrated code
○ Is small enough such that many stories can be implemented
in an iteration
‘‘The most important stories to do first are the ones that contain the highest
business value.”
Presentation of the system
1. Make sure the system is fully integrated and includes all stories of
the ending iteration and is deployable
2. Ensure Customers and users are aware of all the features of the
system
3. Each team member presents his/her work - to raise accountability
4. Overall understanding of project components and features is
increased
Business Day Activities
○ presentation of the accomplishments of the ending
iteration
○ measures’ review
○ customer feedback
○ Reflective session
○ planning of the next iteration.
Mesures Review
Presentation and analysis of ending iteration metrics
● Present data to the entire team, by facts
● Discuss reason behind the metrics
● Ensure customer is aware of the process and progress
Mesures Review
Presentation and analysis of ending iteration metrics
■ Product metrics (no of written and passed tests)
■ Pulse metrics (continuous integration)
■ Burn-down metrics (measure of achieving
iteration goals)
■ Fault metrics (measure of new and open defects)
Business Day Activities
○ presentation of the accomplishments of the ending
iteration
○ measures’ review
○ customer feedback
○ Reflective session
○ planning of the next iteration.
Customer Feedback
○ a short, informal verbal summary of the iteration given
by the customer
○ Focus on product rather than process
○ Customer’s message to be included in iteration
summary
Business Day Activities
○ presentation of the accomplishments of the ending
iteration
○ measures’ review
○ customer feedback
○ Reflective session
○ planning of the next iteration.
Reflective Session
○ Discuss issues in the development model
○ Kind of timeout session
Business Day Activities
○ presentation of the accomplishments of the ending
iteration
○ measures’ review
○ customer feedback
○ Reflective session
○ planning of the next iteration.
Planning Next Iteration
○ Begins of summary of previous iteration and the
reflective sessions
○ Customers, team members and interested persons can
attend
Planning Next Iteration
1. Customer tells the stories that were prepared in advance
to be developed in the next iteration
2. In addition the following are also added
a. Incomplete stories of previous iteration
b. Refactoring tasks
c. User stories that emerged from Business day
activities
Planning Next Iteration
3. Customer has to prioritize the stories
4. Development time of each of these tasks is estimated by
the developers who take ownership of them
5. The actual planning is set according to the available time
of the team members
6. The development loads are balanced among the
developers.
The User
HCI
➔ interface design and evaluation
➔ the interactions between users and systems
(hardware and/or software)
The User
Usability of a product - the extent to which a product can be
used by specified users to achieve specific goals with
● Effectiveness
● Efficiency
● Satisfaction
Integration of User with development environment
UCD- User Centric Design
● Experience is King
● Focus is on gaining a deep
understanding of who will be using the
product.
● Design techniques that emphasize user
needs during design of user interface
● Design designs can be validated and
tested
Why UCD?
● Design decisions can be validated and tested
● Guesswork is minimised
● Quality of experience vs. No. of features
○ Iphone vs Nokia?
● Create products for competitive market
Agile and UCD
Agile UCD
satisfy the customer through early and
continuous delivery of valuable software
create an experience for end-users
where they can achieve their goals
easily and efficiently
Working software is the primary
measure of progress
The satisfaction of end-user needs (user
goals) balanced with the achievement of
business goals is the primary measure
of success
Deliver working software frequently end-user experience could be poor or
worse
Business Day
Project Planning

More Related Content

Similar to Module 1 - SE.pptx

Agile software development
Agile software development Agile software development
Agile software development saurabh goel
 
Agile Methodologies and Scrum / Lean Development and Agile Methodologies - 2...
Agile Methodologies and Scrum /  Lean Development and Agile Methodologies - 2...Agile Methodologies and Scrum /  Lean Development and Agile Methodologies - 2...
Agile Methodologies and Scrum / Lean Development and Agile Methodologies - 2...Francesco Mapelli
 
Software Development Methodologies
Software Development Methodologies Software Development Methodologies
Software Development Methodologies Frances Coronel
 
The Holistic Programmer
The Holistic ProgrammerThe Holistic Programmer
The Holistic ProgrammerJonas Auken
 
Agile practices for management
Agile practices for managementAgile practices for management
Agile practices for managementIcalia Labs
 
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzLecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzAhmadSajjad34
 
Essence of agile part 1
Essence of agile part 1Essence of agile part 1
Essence of agile part 1Parul Jain
 
Deeply Embedding UX Practices Into Your Organization by Grafting them Into Yo...
Deeply Embedding UX Practices Into Your Organization by Grafting them Into Yo...Deeply Embedding UX Practices Into Your Organization by Grafting them Into Yo...
Deeply Embedding UX Practices Into Your Organization by Grafting them Into Yo...UXPA Boston
 
Introduction to Agile Software Development Process
Introduction to Agile Software Development ProcessIntroduction to Agile Software Development Process
Introduction to Agile Software Development ProcessSoftware Park Thailand
 
Why Agile? Back to Basics.
Why Agile? Back to Basics.Why Agile? Back to Basics.
Why Agile? Back to Basics.Lucas Hendrich
 
Agile Methodologies by TechDesti
Agile Methodologies by TechDestiAgile Methodologies by TechDesti
Agile Methodologies by TechDestiTechDesti
 
Project Requriement Management Vs Agile software development
Project Requriement Management Vs  Agile software developmentProject Requriement Management Vs  Agile software development
Project Requriement Management Vs Agile software developmentbizpresenter
 
Agile project management using scrum
Agile project management using scrumAgile project management using scrum
Agile project management using scrumPrudentialSolutions
 
Extreme Programming 1st.pdf
Extreme Programming 1st.pdfExtreme Programming 1st.pdf
Extreme Programming 1st.pdfBassam Kanber
 

Similar to Module 1 - SE.pptx (20)

Agile software development
Agile software development Agile software development
Agile software development
 
Agile Methodologies and Scrum / Lean Development and Agile Methodologies - 2...
Agile Methodologies and Scrum /  Lean Development and Agile Methodologies - 2...Agile Methodologies and Scrum /  Lean Development and Agile Methodologies - 2...
Agile Methodologies and Scrum / Lean Development and Agile Methodologies - 2...
 
Software Development Methodologies
Software Development Methodologies Software Development Methodologies
Software Development Methodologies
 
Agile
AgileAgile
Agile
 
The Holistic Programmer
The Holistic ProgrammerThe Holistic Programmer
The Holistic Programmer
 
Agile practices for management
Agile practices for managementAgile practices for management
Agile practices for management
 
Agile mODEL
Agile mODELAgile mODEL
Agile mODEL
 
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzLecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
 
Essence of agile part 1
Essence of agile part 1Essence of agile part 1
Essence of agile part 1
 
Deeply Embedding UX Practices Into Your Organization by Grafting them Into Yo...
Deeply Embedding UX Practices Into Your Organization by Grafting them Into Yo...Deeply Embedding UX Practices Into Your Organization by Grafting them Into Yo...
Deeply Embedding UX Practices Into Your Organization by Grafting them Into Yo...
 
Introduction to Agile Software Development Process
Introduction to Agile Software Development ProcessIntroduction to Agile Software Development Process
Introduction to Agile Software Development Process
 
Why Agile? Back to Basics.
Why Agile? Back to Basics.Why Agile? Back to Basics.
Why Agile? Back to Basics.
 
Agile Methodologies by TechDesti
Agile Methodologies by TechDestiAgile Methodologies by TechDesti
Agile Methodologies by TechDesti
 
Project Requriement Management Vs Agile software development
Project Requriement Management Vs  Agile software developmentProject Requriement Management Vs  Agile software development
Project Requriement Management Vs Agile software development
 
Unit 1 spm
Unit 1  spmUnit 1  spm
Unit 1 spm
 
Unit 1 spm
Unit 1  spmUnit 1  spm
Unit 1 spm
 
Agile project management using scrum
Agile project management using scrumAgile project management using scrum
Agile project management using scrum
 
Chapter 2
Chapter 2 Chapter 2
Chapter 2
 
Extreme Programming 1st.pdf
Extreme Programming 1st.pdfExtreme Programming 1st.pdf
Extreme Programming 1st.pdf
 
Introduction to Agile
Introduction to AgileIntroduction to Agile
Introduction to Agile
 

Recently uploaded

Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and usesDevarapalliHaritha
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineeringmalavadedarshan25
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxk795866
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 

Recently uploaded (20)

Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and uses
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineering
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 

Module 1 - SE.pptx

  • 1. Software Engineering Dr. Jayashree Nair Professor & Dean School of IT
  • 2. Syllabus Intended Learning Outcomes [ILOs] reflecting domain specific knowledge, cognitive skills and non-cognitive skills. (At the end of the module, students will be able to …..) Assessment Tools (including Sessionals and Prefinals) Formative / Summative (at least one formative assessment for a module) Module - 01 Overview, Objectives,Three Perspectives on Software Engineering , The Agile Manifesto, Principles of Agile, Application of Agile Software Development Teamwork: Overview, Objectives, A Role Scheme in Agile Teams, Remarks on the Implementation of the Role Scheme, Human Perspective on the Role Scheme, Using the Role Scheme to Scale Agile Projects, Dilemmas in Teamwork, Teamwork in Learning Environments, Teaching and Learning Principles Customers and Users: Overview, Objectives, The Customer, Customer Role, Customer Collaboration, The User, Combining UCD with Agile Development, Customers and Users in Learning Environments, Teaching and Learning Principles, Customer Stories. 1.Describe the Agile manifesto and its principles. * 2.Relate the principles of Agile to the existing SD environment. * 3.Explain the various Agile methods in SD. * 4.List out the objectives of Teamwork. * 5.Explain about refactoring in an Agile environment.* 6.Give the Pros and Cons of Pair Programming technique in Agile methods.* MCQ 1 Sessional Exam Pre Final Exam FA SA SA
  • 3. Syllabus Intended Learning Outcomes [ILOs] reflecting domain specific knowledge, cognitive skills and non-cognitive skills. (At the end of the module, students will be able to …..) Assessment Tools (including Sessionals and Prefinals) Formative / Summative (at least one formative assessment for a module) SOFTWARE DESIGN: • Design Diagrams: Use Case Diagrams - Class Diagrams - Interaction Diagrams - State chart Diagrams - Activity Diagrams • Design Process- Design concepts : Abstraction, Architecture, patterns, Separation of Concerns, Modularity, Information Hiding, Functional Independence, Refinement, Aspects, Refactoring. • Object Oriented Design Concepts, Design Classes- Design Model: Data, Architectural, Interface, Component, Deployment Level Design Elements , • Code review Analysis. 1.Design State chart diagramS 1.Design Use Case Diagrams 1.Design Interaction Diagrams 1.Design Activity Diagrams MCQ 1 Sessional Exam Pre Final Exam FA SA SA
  • 4. Software Engineering Software engineering is the profession that applies scientific knowledge in the construction of software products needed by customers that are: 1) on time 2) on budget 3) with acceptable performance 4) with correct operation
  • 6. Generic Software Process Models •Waterfall –Separate and distinct phases of specification and development Efficiency vs Costs
  • 7. Generic Software Process Models Spiral Model
  • 8. Generic Software Process Models Prototyping Model
  • 9. Software Industry Problems ➔ Coping with change ➔ Software quality Management of software projects Solution ➔ Agile development -- enhances and supports diversity Outcome ➔ Better processes
  • 10. Three perspectives of Software Engineering ❖ The Human perspective ➢ cognitive and social aspects ➢ Refers to learning and interpersonal processes (teammates, customers, management) ❖ The Organizational perspective ➢ managerial and cultural aspects ➢ refers to the workspace and issues that spread beyond the team. ❖ The Technological perspective ➢ practical and technical aspects ➢ refers to how-to and code-related issues. HOT Organizational Perspective Technological Perspective Human Perspective Software Engineering
  • 11.
  • 12.
  • 13. The Agile Manifesto ❖ People - teammates, customers, management ❖ high priority to the people who participate in the development process ❖ decision related to the development process → influence on people who are part of the development environment, their relationships and communication
  • 14. The Agile Manifesto ❖ main target of software projects is to produce quality working software ● Focus is on working s/w or solution ○ Documents only for essential requirement and accessible to all ○ Actual development commences early ○ S/W that business can see and give feedback
  • 15. The Agile Manifesto ● development process is based on an on-going and on a daily basis contract with the customer. ● enables to cope successfully with the frequent changes that characterize software projects. ● Creates agile culture
  • 16. The Agile Manifesto ● establish a development process that copes successfully with changes ○ customers cannot predict a-priori all their requirements; ● Respond to change and refine plan without much implications on cost ● Encourages team to spend more time working than creating project plans
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27. `
  • 28.
  • 29.
  • 30.
  • 31. Application of Agile Manifesto to Agile Projects
  • 32. Agile in Practice ● Whole Teams ● Short Releases ● Time Estimation ● Measures ● Customer Collaboration ● Test Driven Development ● Pair Programming ● Refactoring
  • 33. Whole team Approach ● project team (including all role holders and the customer) communicate in a face-to-face fashion as much as possible. ● development team work in a collaborative workspace ● all team members participate in the actual process planning
  • 34. Short Releases ● Short releases usually of 2-3 months ● short iteration usually of one or two weeks ○ Business Days ■ Previous iteration review ■ Project status review ■ Planning of next iteration ● Customer feedback at the end of each iteration
  • 35. Measures Monitoring process transparent and known to all project stakeholders ● ON-TIME OR SPEED OF DELIVERY ○ burndown and the burnup charts ● PRODUCT QUALITY ○ tracking customer satisfaction, steady revenue growth, and testing success ● PROJECT VISIBILITY ○ Transparency - providing plans ahead of actions available to everyone ● PREDICTABILITY ○ Velocity - how much work has been completed at a sustainable pace
  • 36. Customer Collaboration ● Customer part of process ● Avoids need to speculate on customer requirements ● all team members have access to the customer during the entire process. ● helps the teammates to cope successfully with changes
  • 37. Test Driven Development ● Unit and acceptance tests are integrated with development process ● Encourages developers to build automatic unit and acceptance tests ○ Unit test written prior to coding ○ Functionality added to pass test ○ Helps control development process ● Acceptance tests lead to development of products that meets customer requirements
  • 38. Pair Programming ● Each code developed by 2 teammates ● There is personal responsibility ● HArd to be distracted and leads to focus ● Driver- works with keyboard, thinks at lower level ● Navigator - thinks of development at higher level ● All team members familiar with all aspects of developed software
  • 39. Refactoring ● Improving Design of Existing Code without affecting functionality ● Time is dedicated to improve software readability ● Reduce complexity of code
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.
  • 81.
  • 82.
  • 84. Objectives ● Characteristics of Teams in agile s/w development ● Allocation of roles to team members ● Using benefits of role assignment at individual, team and organization levels ● Dilemmas in teamwork and mechanisms to overcome them ● Mechanism to achieve, empower and maintain agile team spirit ● Basic skills to exploit strength of agile teams
  • 85. Team ● At least 2 members working towards common goal ● Each person is assigned a specific role to perform ● Completion of mission requires some dependency among team members Software Project teams accomplish complex task of software development ● Software development is about a tangible product
  • 86. Role Scheme ● Role Assignment ○ Each team member is assigned a specific role to perform ○ Each team member will have an additional role assigned to them in addition to primary role ● Software development is complex ○ Project management and progress split amongst all team members ○ BEnefits for individual, company and project
  • 91. Role Scheme ● How does role scheme reflect HOT properties of Agile methods ● How is role scheme related to Agile MAnifesto ● What are benefits of role rotation
  • 92. Dilemmas in Team work ● Allocation of incentives, rewards and bonuses ○ Teamwork is a basic working assumption is agile development ○ Team members cooperate, share information and exchange feedback with each other ■ measuring individual performance is usually counter-productive ■ Major reason for conflicts Dilemmas and conflicts associated with teamwork should be discussed openly by all team members, and a solution that meets the needs of the individuals as well as the entire team should be established.
  • 93. Dilemmas in Team work ● Everyone gets X% of their salary as a bonus ● Distribute bonus evenly among team members ● Let team decide how bonus should be distributed
  • 94. Rewards in Agile Teams ● rewards should encourage teamwork rather than individual performance ● individual rewards maybe smaller in relation to team rewards. ● handwritten notes like thanking a team member for something special and specific they did can do wonders for an individual ● Time - a team can be offered an incentive ★ a week off if they meet some delivery milestone. ★ choosing work of their choice in a sprint
  • 95. Role Maintenance Activities Activities performed on daily basis to enable entire team understand progress of the project ● Standup meetings ○ Individual performance ○ Expectations from team ● Presentation to customers ○ Present tasks of iteration ○ Individual contribution to task achievement ● Feedback from customers ○ With all team members ○ Personal reflection
  • 97. Customers’ Role in Agile Consulting with customers is at the heart of an Agile enterprise.
  • 98. Customers Collaboration over contract Negotiation ● Customer is at the heart of the agile enterprise ● Agile process supports customer’s role ● Enhancing Communication with Customers ● Customer feedback to increase product quality
  • 99. Customer ● Customer may be one who pays for the product or has business interests ● It is based on ongoing communication between the customer and the team members ● Communication to facilitate ○ the requirements gathering ○ The way testing is performed and ○ Achieving suitability of the developed product
  • 100. User ● They are the main clients ● HCI - Human Computer Interaction ● User perspective considered from beginning of product development life cycle Customer Group ● User Evaluator ● Customer ● Acceptance Tester
  • 101. Customer Role The customer is involved in the development process continuously 1. Setting Project Release Schedule
  • 102. Project Release Planning ● The architects present their vision about ○ the product architecture ○ the existing architecture ○ anticipated changes. ● Customer describes ○ the project vision ○ the project main stories ○ the guidelines according to which development priorities will be set.
  • 103. Project Release Planning ● Other stakeholders present their expectations from the development process. ● The project manager presents ○ his or her view of the development process ○ the working environment ○ his/her personal expectations.
  • 104. Business Day ● Discuss the development tasks of each iteration ● Takes place between each two consecutive iterations and releases ● The rest of the iteration days are development days
  • 105. Business Day ● All project stakeholders are invited to participate ○ Team, customer, managers, external members, users ● Planned to eliminate pressure over weekends ● Business Day Activities ○ presentation of the accomplishments of the ending iteration; ○ measures’ review; ○ customer feedback; ○ Reflective session; ○ planning of the next iteration.
  • 106. Business Day Activities ○ presentation of the accomplishments of the ending iteration; ○ measures’ review; ○ customer feedback; ○ Reflective session; ○ planning of the next iteration.
  • 107. Presentation of the System ● Main features developed as per user stories for the ended iteration is presented ● User story ○ should be understandable to customers and developers, ○ Is a unit of functionality of the product ○ Is implemented as a tested and integrated code ○ Is small enough such that many stories can be implemented in an iteration ‘‘The most important stories to do first are the ones that contain the highest business value.”
  • 108. Presentation of the system 1. Make sure the system is fully integrated and includes all stories of the ending iteration and is deployable 2. Ensure Customers and users are aware of all the features of the system 3. Each team member presents his/her work - to raise accountability 4. Overall understanding of project components and features is increased
  • 109. Business Day Activities ○ presentation of the accomplishments of the ending iteration ○ measures’ review ○ customer feedback ○ Reflective session ○ planning of the next iteration.
  • 110. Mesures Review Presentation and analysis of ending iteration metrics ● Present data to the entire team, by facts ● Discuss reason behind the metrics ● Ensure customer is aware of the process and progress
  • 111. Mesures Review Presentation and analysis of ending iteration metrics ■ Product metrics (no of written and passed tests) ■ Pulse metrics (continuous integration) ■ Burn-down metrics (measure of achieving iteration goals) ■ Fault metrics (measure of new and open defects)
  • 112. Business Day Activities ○ presentation of the accomplishments of the ending iteration ○ measures’ review ○ customer feedback ○ Reflective session ○ planning of the next iteration.
  • 113. Customer Feedback ○ a short, informal verbal summary of the iteration given by the customer ○ Focus on product rather than process ○ Customer’s message to be included in iteration summary
  • 114. Business Day Activities ○ presentation of the accomplishments of the ending iteration ○ measures’ review ○ customer feedback ○ Reflective session ○ planning of the next iteration.
  • 115. Reflective Session ○ Discuss issues in the development model ○ Kind of timeout session
  • 116. Business Day Activities ○ presentation of the accomplishments of the ending iteration ○ measures’ review ○ customer feedback ○ Reflective session ○ planning of the next iteration.
  • 117. Planning Next Iteration ○ Begins of summary of previous iteration and the reflective sessions ○ Customers, team members and interested persons can attend
  • 118. Planning Next Iteration 1. Customer tells the stories that were prepared in advance to be developed in the next iteration 2. In addition the following are also added a. Incomplete stories of previous iteration b. Refactoring tasks c. User stories that emerged from Business day activities
  • 119. Planning Next Iteration 3. Customer has to prioritize the stories 4. Development time of each of these tasks is estimated by the developers who take ownership of them 5. The actual planning is set according to the available time of the team members 6. The development loads are balanced among the developers.
  • 120. The User HCI ➔ interface design and evaluation ➔ the interactions between users and systems (hardware and/or software)
  • 121. The User Usability of a product - the extent to which a product can be used by specified users to achieve specific goals with ● Effectiveness ● Efficiency ● Satisfaction
  • 122. Integration of User with development environment UCD- User Centric Design ● Experience is King ● Focus is on gaining a deep understanding of who will be using the product. ● Design techniques that emphasize user needs during design of user interface ● Design designs can be validated and tested
  • 123. Why UCD? ● Design decisions can be validated and tested ● Guesswork is minimised ● Quality of experience vs. No. of features ○ Iphone vs Nokia? ● Create products for competitive market
  • 124. Agile and UCD Agile UCD satisfy the customer through early and continuous delivery of valuable software create an experience for end-users where they can achieve their goals easily and efficiently Working software is the primary measure of progress The satisfaction of end-user needs (user goals) balanced with the achievement of business goals is the primary measure of success Deliver working software frequently end-user experience could be poor or worse
  • 125.