SlideShare a Scribd company logo
1 of 60
Download to read offline
University of Technology
Computer science Department
Software Engineering
Lecturer : Farah Tawfiq
Class: Second
Branch :Software & Multimedia branchs
1st & 2nd courses 2020-2021
University of Technology
Computer science Department
Software Engineering
Lecturer : Farah Tawfiq
Class: Second
Branch :Software
1st course 2020
First lecture
Why plan a project
• Projects become more unpredictable
• Just work it out invariably encounters something that can not be achieved
later in the project without reworking everything that has already been
done
• Need to determine what the main dependencies
• Need to minimize the disruptive effects of late changes and discoveries
• need to arrange work to reduce risks quickly!
• Need to arrange work to expose assumptions and unknowns early in the
projects.
•
In a perfect world
• -In a perfect world you would know exactly What to do and how long
it would take .
• -Lack of perfect knowledge does not excuse lack of planning
• -Early stage planning is more about avoiding disaster than achieving
success
•
Project planning purpose and Context
Purpose : To determine what work need to be achieved what resources are
needed to achieve it, what constraints and risk threaten achieving it it
Context objective :
• what need to be developed.
- Develop or modify a software system
• Stakeholders objectives
- can affect non-functional requirements
- can affect work to be done
Non- functional requirements (NFRs) in
software engineering
• Define system attributes such as security ,reliability , performance,
maintainability , scalability , and usability . They serve as constraints or
restrictions on the design of the system .
• Example of nonfunctional requirements are :
-performance : for example responsive time , throughput , etc .
-Scalability
-Capacity
-Availability
- Reliability
- Maintainability
- Serviceability
University of Technology
Computer science Department
Software Engineering
Lecturer : Farah Tawfiq
Class: Second
Branch :Software
1st course 2020
Second lecture
Software Project Planning
Definition:
Software planning involves estimating how much time, effort, money,
and resources will be required to build a specific software system. After
the project scope is determined and the problem is decomposed into
smaller problems, software managers use historical project data (as
well as personal experience and intuition) to determine estimates for
each. The final estimates are typically adjusted by taking project
complexity and risk into account. The resulting work product is called a
project management plan
Estimation Reliability Factors
• Project complexity
• Project size
• Degree of structural uncertainty (degree to which requirements have
solidified ‫ترسيخ‬, the ease with which functions can be
compartmentalized ‫مجزاءة‬ , and the hierarchical ‫هرمية‬nature of the
information processed)
• Availability of historical information
Project Planning Objectives
• To provide a framework that enables software manager to make a
reasonable estimate of resources, cost, and schedule.
• Project outcomes should be bounded by 'best case' and 'worst case'
scenarios.
• Estimates should be updated as the project progresses
Software Project Planning
Software Project Planning
University of Technology
Computer science Department
Software Engineering
Lecturer : Farah Tawfiq
Class: Second
Branch :Software
1st course 2020
Third lecture
Software Scope
• Describes the data to be processed and produced, control
parameters, function, performance, constraints, external interfaces,
and reliability.
• Often functions described in the software scope statement are
refined to allow for better estimates of cost and schedule.
Software Scope
-understand the customer needs
- understand the business context
- understand the project boundaries
- understand the customer’s motivation
- understand the likely path for change
Estimation of Resources
1. Human Resources (number of people required and skills needed to
complete the development project)
2. Reusable Software Resources (off-the-shelf components, full-
experience components, partial-experience components, new
components)
3. Development Environment (hardware and software required to be
accessible by software team during the development process)
Software Project Estimation Options
1. Delay estimation until late in the project.
2. Base estimates on similar projects already completed.
3. Use simple decomposition techniques to estimate project cost and
effort.
4. Use empirical models for software cost and effort estimation.
5. Automated tools may assist with project decomposition and
estimation.
Cost Estimation
-Project scope must be explicitly defined
- Task and/or functional decomposition is necessary
-Historical measures (metrics) are very helpful
- At least two different techniques should be used
-Remember that uncertainty is inherent
Methods for cost estimation in software
engineering
Methods for estimation in software engineering include these principles:
- Analysis effort method
- Parametric Estimating(algorithmic methods)
-The Planning Game (from Extreme Programming) .
-ITK method, also known as Method CETIN
- Proxy-based estimating (PROBE) (from the Personal Software Process)
- Program Evaluation and Review Technique (PERT)
- Putnam_model, also known as SLIM
-PRICE Systems Founders of Commercial Parametric models that estimates the scope, cost, effort and schedule for software projects.
- SEER-SEM Parametric Estimation of Effort, Schedule, Cost, Risk. Minimum time and staffing concepts based on Brooks's law
- The Use Case Points method (UCP)
- Weighted Micro Function Points (WMFP)
-Wideband Delphi
University of Technology
Computer science Department
Software Engineering
Lecturer : Farah Tawfiq
Class: Second
Branch :Software& multimedia
1st & 2nd course 2020-2021
Fourth lecture
CoCoMo Model
it comes from Constructive Cost Model ,CoComo is used for calculating :
1- the effort
2- development time
3- Average Staff size
4- productivity
CoCoMo Includes
- Basic Cocomo Model
- Intermediate CoCoMo Model
- Complete /detailed CoCoMo Model
So these 3 different types are included in the CoCoMo Model
CoCoMo Model types
Basic : can be used for small projects and Small team
Intermediate : is used for Intermediate projects
Complete / detailed :is used for large projects
CoCoMo applied on 3 classes of S. w. projects or modes
What are these classes
1-organic mode
2-Semidetached mode
3-embedded mode
Basic, intermediate and detailed can be applied on the above classes
CoCoMo Model types
organic systems features
- project Size = 2 to 50k loc , loc=line of code
- nature of project - Small Size , experience developer
ex/pay roll , inventory project
- innovation - small because it's for small projects
-deadline of projects - not tight
semidetached systems features
- Project size = 50-300k loc
- nature of project - Medium Size Project ,medium size team ex db. System etc.
- innovation - medium
- deadline of project - medium
CoCoMo Model types
Embedded systems features :
- project size - over 300kloc
- Nature of project a large project realtime system ex/ ATMS ,Traffic
control
- innovation - Significant
- deadline of the project - tight (you have to complete the project on
time only)
Basic CoCoMo Model
Basic CoCoMo Model
The formula to calculate the basic Model are
E = ab (kLoc) bb
D=Cb (E)db
E = effort applied
D= Development time
people required = P=E/D
they are constant value ab , bb , Cb, db are coefficients.
Coefficient values
Software
project
ab bb Cb db
Organig 2.4 1.05 2.5 0.38
Semidetached 3.0 1.12 2.5 0.35
embedded 3.6 1.20 2.5 0.32
Example
• example: Suppos that a project was estimated to be 400k Loc,
Calculate the effort and development time for each of the a modes
organic , semidetached and embeded
Solution: The basic Cocomo equation take the form
E = ab (kLoc) bb
D=Cb (E)db
estimated size of the project =400k Loc
Example
organic mode
E=2.4 (400) ^ 1.05 =1295,31
D=2.5 (1295.31.) ^0.38 = 38, 07
Semidetached
E=3.0 (400) ^ 1.12 =2462.79
D=2.5(2462.79)^0.35=38.45
Embedded :
E=3.6(400)^1.20 =4772.81
D=2.5(4772.81)^0.32=38
Intermediate CoCoMo Model
Intermediate CoCoMo Model : It is extension of basic COMO Model It consists of set of 15
additional predictors ( cost drivers) cost drivers adjust nominal cost of project to actual project
environment
15 Cost drivers include
1- Product attributes which requires:
- s.w. reliability )RELY)
- db size (DATA)
- Product complexity (CPLX)
2-Computer attributes
- execution time constraints (TIME)
- main storage constraints (STOR)
- virtual machine volatility (VIRT)
- Computer turn around time (TURN)
Intermediate CoCoMo Model
3-Personal attributes :
- Analyst Capability (ACAP)
- Application Experience (AEXP)
- programming Capability (PCAP).
- virtual machine experience (V Exp)
- programing language experience (LEXP)
4-project attributes
-modern programming practices (MODP)
- use of S.w tools (Tool)
- Require development schedule (SCED)
Intermediate CoCoMo Model
Each Cost driver is rated for the given project Environment in the term
of
l-very low < 1
2- low < 1
3 – High >1
4- very High > 1
5- Extra High >1
Cocomo equation take the form
E = ab (kLoc) bb * EAF
D=Cb (E)db
EAF = effort adjustment factor
• EAF : can be a calculated by multiplying all the values that have been
obtained after categorizing each cost driver Cost driver
Coefficient values
Software project ab bb Cb db
Organig 3.2 1.05 2.5 0.38
Semidetached 3.0 1.12 2.5 0.35
embedded 2.8 1.20 2.5 0.32
• Suoopse that a project was estimated to be 300kloc and EAF=2 or
(very high ) calculate the effort and development time for each of the
three modes organic ,semidetached and embedded
• Sol :
Organic :
E = ab (kLoc) bb * EAF =3.2 (300) ^1.05 * 2 =
D=Cb (E)db = 2.5 (E ) ^ 0.38 =
• Semidetached :
E = ab (kLoc) bb * EAF =3.0 *(300)^1.12 * 2
D=Cb (E)db = 3.0 (E) ^0.35 =
Embedded :
E = ab (kLoc) bb * EAF = 2.8 (300)^1.20 * 2 =
D=Cb (E)db = 2.5 (E) ^0.32 =
University of Technology
Computer science Department
Software Engineering
Lecturer : Farah Tawfiq
Class: Second
Branch :Software
1st course 2020
Fifth lecture
Automated Estimation Tools
Although many automated estimation tools exist, all exhibit the same general characteristics and all
perform the following six generic functions:
1. Sizing of project deliverables. ‫المشروع‬ ‫مخرجات‬ ‫حجم‬The "size" of one or more software work
products is estimated. Work products include the external representation of software (e.g., screen,
reports), the software itself , functionality delivered , descriptive information (e.g. documents).
2. Selecting project activities. The appropriate process framework is selected and the software
engineering task set is specified.
3. Predicting staffing levels. The number of people who will be available to do the work is specified.
Because the relationship between people available and work (predicted effort) is highly nonlinear,
this is an important input.
4. Predicting software effort. Estimation tools use one or more models that relate the size of the
project deliverables to the effort required to produce them.
5. Predicting software cost. Given the results of step 4, costs can be computed by allocating labor
rates to the project activities noted in step 2.
6. Predicting software schedules. When effort, staffing level, and project activities are known, a
draft schedule can be produced by allocating labor across software engineering activities.
Automated Estimation Tools
• When different estimation tools are applied to the same project data,
a relatively large variation in estimated results is encountered. More
important, predicted values sometimes are significantly different than
actual values
Analysis Concepts and Principles
Introduction
After system engineering is completed, software engineers need to
look at the role of software in the proposed system. Software
requirements analysis is necessary to avoid creating software product
that fails to meet the customer's needs. Data, functional, and
behavioral requirements are elicited ‫استنبط‬from the customer and
refined ‫مشتق‬ to create specification ‫مواصفات‬that can be used to design
the system. Software requirements work products must be reviewed
for clarity, completeness, and consistency.
Requirements Analysis (benefits)
• Software engineering task that bridges the gap between system level
requirements engineering and software design.
• Provides software designer with a representation of system
information, function, and behavior that can be translated to data,
architectural, components level design ‫المكونات‬ ‫مستوى‬ ‫تصميم‬.
• Expect to do a little bit of design during analysis and a little bit of
analysis during design.
Software Requirements Analysis steps or
algorithm
• Identify the "customer" and work Together to negotiate "product –level"
• Build an analysis model
-Focus on data
- define function
- represent behavior
• Prototype areas of uncertainty
• Develop a specification that will guide design
• Conduct formal technical reviews.
University of Technology
Computer science Department
Software Engineering
Lecturer : Farah Tawfiq
Class: Second
Branch :Software
1st course 2020
Sixth lecture
software Requirements Analysis Phases
• Problem recognition
• Evaluation and synthesis (focus is on what not how)
• Modeling
• Specification
• Review
software requirements elicitation ‫استنباط‬
• Customer meetings are the most commonly used technique.
• Use context free question to find out customers goal and benefits,
identify stakeholders, gain understanding of problem, determine,
customer reactions to proposed solution, and assess meeting
effectiveness.
• If many users are involved, be certain that a representative cross
section of users is interviewed.
Facilitated action Specification Techniques
(FAST)
• Meeting held at neutral site ‫محايد‬ ‫موقع‬, attended by both software
engineering and customers.
• Rules established for preparation and participation.
• Agenda suggested to cover important points and to allow for
brainstorming.
• Meeting controlled by facilitator (customer, developer, or outsider).
• Definition mechanism (flip charts, stickers, electronic device, etc.) is used.
• Goal is to identify problem, propose elements of solution, negotiate
different approaches, and specify a preliminary set of solution requirements.
Fast Guidelines
• Participants must attend entire meeting
• All participants are equal
• Preparation is as important as meeting
• All pre-meeting documents are to be viewed as " proposed"
• Off-sit ‫خارجي‬ ‫موقع‬meeting location is preferred
• Set an agenda and maintain it
• Don’t get mired ‫تنغمس‬ in technical
Homework
• Q1 /what are the Challenges in eliciting requirements
• Q2 /Why Requirement Elicitation is difficult?
University of Technology
Computer science Department
Software Engineering
Lecturer : Farah Tawfiq
Class: Second
Branch :Software
1st course 2020
Seventh lecture
Quality Function Deployment (QFD)
• is a structured approach to defining customer needs or requirements and translating them into specific plans to produce
products to meet those needs
• Uses customer interviews, observation, surveys, and historical data for requirements gathering.
• Customer voice table(contains summary of requirements) :Voice of the customer (VOC) is a term used in business and
Information Technology to describe the in-depth process of capturing customer's expectations, preferences and aversions
‫نفور‬
• Normal requirements (must be present in product for customer to be satisfied)
• Expected requirement (things like ease of use or reliability of operation, that customer assumes will be present in a
professionally developed product without having to request them explicitly)
• Exciting requirements (features that go beyond the customers expectations and prove to very satisfying when they are
present)
• Function deployment (used during customer meeting to determine the value of each function required for system)
• Information deployment (identifies data objects and events produced and consumed by the system)
• Task deployment(examines the behavior of product within in environment)
• Value analysis (used to determine the relative priority of requirements during function , information, and task deployment)
Quality Function Deployment(what to determine?)
• Function deployment determines the value (as perceived by the
customer )of each function required of the system
• Information deployment identifies data objects and events
• Task deployment examines the behavior of the system
• Value analysis determines the relative priority of requirements
Use - case
• Scenarios that describe how the product will be used in specific
situations.
• Written narratives that describe the role of an actor (user of device)
as interaction with the system occurs.
• Use-cases are designed from the actor's point of view.
• Not all actors can be identify the primary actors before developing
the use cases
Use-cases (what to do ?)
• A collection of scenarios that describe the thread of usage of a system
• Each of an "actor" – a person or device that interacts with the
software in some way
• Each scenario answers the following questions :
- What are the main tasks of functions performed by the actor?
- What system information will the actor acquire, produce or change?
- Will the actor inform the system about environmental changes?
- What information does the actor require of the system?
- Does the actor wish to be informed about unexpected changes?
Case study
Use Case Description
Use case interacts between user and system without specify the user interface. It describe the system for
external user and in a manner that can be understand.
List of use cases are:
• Registration
• Login
• Select Category
• Add to Cart
• List the Items
• Order Item
• Final Price with Quantity
• Authorization
• Security
• Feedback
Case study
Case study
Case study
Case study
Case study 2
• Build a system that allows any one to sell his tool by taking picture to
the tool and describe it using phone based app. The user should have
account to use this system and he could set up the limit of cities that
he want to look for buy tool he will search for any tool he want to buy
and the system will display available tools in his area .
Case study 2:solution
Case study 2 :solution
registration for use case
Use case number 01
Use case name Register
Overview User register new account into the system
Actor(s) User
Pre-condition - System is uploaded to the internet
- App installed on his (user )phone
Scenario flow 1. Open app
2. Click register
3. Enter his name , email ,phone number , and
address
4. Click register
5. Display message “you are registered ”
Alternative flows 5a- display message “ user name or password is
reserved “
Post condition Display login page

More Related Content

Similar to 3wis_2.pdf

Putnam Resource allocation model.ppt
Putnam Resource allocation model.pptPutnam Resource allocation model.ppt
Putnam Resource allocation model.pptAnupamaSharma80
 
project planning-estimation
project planning-estimationproject planning-estimation
project planning-estimationReetesh Gupta
 
Spm project planning
Spm project planning Spm project planning
Spm project planning Kanchana Devi
 
Software estimation
Software estimationSoftware estimation
Software estimationMd Shakir
 
Lecture5
Lecture5Lecture5
Lecture5soloeng
 
Software Engineering (Project Planning & Estimation)
Software Engineering (Project Planning &  Estimation)Software Engineering (Project Planning &  Estimation)
Software Engineering (Project Planning & Estimation)ShudipPal
 
Software_effort_estimation for Software engineering.pdf
Software_effort_estimation for Software engineering.pdfSoftware_effort_estimation for Software engineering.pdf
Software_effort_estimation for Software engineering.pdfsnehan789
 
Cocomo ( cot constrictive model) and capability maturity model
Cocomo ( cot constrictive model) and capability maturity modelCocomo ( cot constrictive model) and capability maturity model
Cocomo ( cot constrictive model) and capability maturity modelPrakash Poudel
 
Effort estimation( software Engineering)
Effort estimation( software Engineering)Effort estimation( software Engineering)
Effort estimation( software Engineering)kiran Patel
 
Exp 02-COCOMO (1).pptx
Exp 02-COCOMO (1).pptxExp 02-COCOMO (1).pptx
Exp 02-COCOMO (1).pptxYagnaGummadi
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notesSiva Ayyakutti
 
Software Estimation Techniques
Software Estimation TechniquesSoftware Estimation Techniques
Software Estimation Techniqueskamal
 
Software project estimation
Software project estimationSoftware project estimation
Software project estimationinayat khan
 
Unit 2 final
Unit 2 finalUnit 2 final
Unit 2 finalsietkcse
 
Introduction of software engineering
Introduction of software engineeringIntroduction of software engineering
Introduction of software engineeringBhagyashriMore10
 
Lecture6
Lecture6Lecture6
Lecture6soloeng
 

Similar to 3wis_2.pdf (20)

Putnam Resource allocation model.ppt
Putnam Resource allocation model.pptPutnam Resource allocation model.ppt
Putnam Resource allocation model.ppt
 
project planning-estimation
project planning-estimationproject planning-estimation
project planning-estimation
 
Spm project planning
Spm project planning Spm project planning
Spm project planning
 
Cocomo
CocomoCocomo
Cocomo
 
Software estimation
Software estimationSoftware estimation
Software estimation
 
Lecture5
Lecture5Lecture5
Lecture5
 
cocomo.pptx
cocomo.pptxcocomo.pptx
cocomo.pptx
 
Software Engineering (Project Planning & Estimation)
Software Engineering (Project Planning &  Estimation)Software Engineering (Project Planning &  Estimation)
Software Engineering (Project Planning & Estimation)
 
Metrics
MetricsMetrics
Metrics
 
Software_effort_estimation for Software engineering.pdf
Software_effort_estimation for Software engineering.pdfSoftware_effort_estimation for Software engineering.pdf
Software_effort_estimation for Software engineering.pdf
 
Cocomo ( cot constrictive model) and capability maturity model
Cocomo ( cot constrictive model) and capability maturity modelCocomo ( cot constrictive model) and capability maturity model
Cocomo ( cot constrictive model) and capability maturity model
 
Effort estimation( software Engineering)
Effort estimation( software Engineering)Effort estimation( software Engineering)
Effort estimation( software Engineering)
 
Exp 02-COCOMO (1).pptx
Exp 02-COCOMO (1).pptxExp 02-COCOMO (1).pptx
Exp 02-COCOMO (1).pptx
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
 
Software Estimation Techniques
Software Estimation TechniquesSoftware Estimation Techniques
Software Estimation Techniques
 
Software project estimation
Software project estimationSoftware project estimation
Software project estimation
 
Unit 2 final
Unit 2 finalUnit 2 final
Unit 2 final
 
Introduction of software engineering
Introduction of software engineeringIntroduction of software engineering
Introduction of software engineering
 
Cost estamition
Cost estamitionCost estamition
Cost estamition
 
Lecture6
Lecture6Lecture6
Lecture6
 

Recently uploaded

Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin ClassesCeline George
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.pptRamjanShidvankar
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxVishalSingh1417
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docxPoojaSen20
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...KokoStevan
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Shubhangi Sonawane
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 

Recently uploaded (20)

Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 

3wis_2.pdf

  • 1. University of Technology Computer science Department Software Engineering Lecturer : Farah Tawfiq Class: Second Branch :Software & Multimedia branchs 1st & 2nd courses 2020-2021
  • 2. University of Technology Computer science Department Software Engineering Lecturer : Farah Tawfiq Class: Second Branch :Software 1st course 2020 First lecture
  • 3. Why plan a project • Projects become more unpredictable • Just work it out invariably encounters something that can not be achieved later in the project without reworking everything that has already been done • Need to determine what the main dependencies • Need to minimize the disruptive effects of late changes and discoveries • need to arrange work to reduce risks quickly! • Need to arrange work to expose assumptions and unknowns early in the projects. •
  • 4. In a perfect world • -In a perfect world you would know exactly What to do and how long it would take . • -Lack of perfect knowledge does not excuse lack of planning • -Early stage planning is more about avoiding disaster than achieving success •
  • 5. Project planning purpose and Context Purpose : To determine what work need to be achieved what resources are needed to achieve it, what constraints and risk threaten achieving it it Context objective : • what need to be developed. - Develop or modify a software system • Stakeholders objectives - can affect non-functional requirements - can affect work to be done
  • 6. Non- functional requirements (NFRs) in software engineering • Define system attributes such as security ,reliability , performance, maintainability , scalability , and usability . They serve as constraints or restrictions on the design of the system . • Example of nonfunctional requirements are : -performance : for example responsive time , throughput , etc . -Scalability -Capacity -Availability - Reliability - Maintainability - Serviceability
  • 7. University of Technology Computer science Department Software Engineering Lecturer : Farah Tawfiq Class: Second Branch :Software 1st course 2020 Second lecture
  • 8. Software Project Planning Definition: Software planning involves estimating how much time, effort, money, and resources will be required to build a specific software system. After the project scope is determined and the problem is decomposed into smaller problems, software managers use historical project data (as well as personal experience and intuition) to determine estimates for each. The final estimates are typically adjusted by taking project complexity and risk into account. The resulting work product is called a project management plan
  • 9. Estimation Reliability Factors • Project complexity • Project size • Degree of structural uncertainty (degree to which requirements have solidified ‫ترسيخ‬, the ease with which functions can be compartmentalized ‫مجزاءة‬ , and the hierarchical ‫هرمية‬nature of the information processed) • Availability of historical information
  • 10. Project Planning Objectives • To provide a framework that enables software manager to make a reasonable estimate of resources, cost, and schedule. • Project outcomes should be bounded by 'best case' and 'worst case' scenarios. • Estimates should be updated as the project progresses
  • 13. University of Technology Computer science Department Software Engineering Lecturer : Farah Tawfiq Class: Second Branch :Software 1st course 2020 Third lecture
  • 14. Software Scope • Describes the data to be processed and produced, control parameters, function, performance, constraints, external interfaces, and reliability. • Often functions described in the software scope statement are refined to allow for better estimates of cost and schedule.
  • 15. Software Scope -understand the customer needs - understand the business context - understand the project boundaries - understand the customer’s motivation - understand the likely path for change
  • 16. Estimation of Resources 1. Human Resources (number of people required and skills needed to complete the development project) 2. Reusable Software Resources (off-the-shelf components, full- experience components, partial-experience components, new components) 3. Development Environment (hardware and software required to be accessible by software team during the development process)
  • 17. Software Project Estimation Options 1. Delay estimation until late in the project. 2. Base estimates on similar projects already completed. 3. Use simple decomposition techniques to estimate project cost and effort. 4. Use empirical models for software cost and effort estimation. 5. Automated tools may assist with project decomposition and estimation.
  • 18. Cost Estimation -Project scope must be explicitly defined - Task and/or functional decomposition is necessary -Historical measures (metrics) are very helpful - At least two different techniques should be used -Remember that uncertainty is inherent
  • 19. Methods for cost estimation in software engineering Methods for estimation in software engineering include these principles: - Analysis effort method - Parametric Estimating(algorithmic methods) -The Planning Game (from Extreme Programming) . -ITK method, also known as Method CETIN - Proxy-based estimating (PROBE) (from the Personal Software Process) - Program Evaluation and Review Technique (PERT) - Putnam_model, also known as SLIM -PRICE Systems Founders of Commercial Parametric models that estimates the scope, cost, effort and schedule for software projects. - SEER-SEM Parametric Estimation of Effort, Schedule, Cost, Risk. Minimum time and staffing concepts based on Brooks's law - The Use Case Points method (UCP) - Weighted Micro Function Points (WMFP) -Wideband Delphi
  • 20. University of Technology Computer science Department Software Engineering Lecturer : Farah Tawfiq Class: Second Branch :Software& multimedia 1st & 2nd course 2020-2021 Fourth lecture
  • 21. CoCoMo Model it comes from Constructive Cost Model ,CoComo is used for calculating : 1- the effort 2- development time 3- Average Staff size 4- productivity CoCoMo Includes - Basic Cocomo Model - Intermediate CoCoMo Model - Complete /detailed CoCoMo Model So these 3 different types are included in the CoCoMo Model
  • 22. CoCoMo Model types Basic : can be used for small projects and Small team Intermediate : is used for Intermediate projects Complete / detailed :is used for large projects CoCoMo applied on 3 classes of S. w. projects or modes What are these classes 1-organic mode 2-Semidetached mode 3-embedded mode Basic, intermediate and detailed can be applied on the above classes
  • 23. CoCoMo Model types organic systems features - project Size = 2 to 50k loc , loc=line of code - nature of project - Small Size , experience developer ex/pay roll , inventory project - innovation - small because it's for small projects -deadline of projects - not tight semidetached systems features - Project size = 50-300k loc - nature of project - Medium Size Project ,medium size team ex db. System etc. - innovation - medium - deadline of project - medium
  • 24. CoCoMo Model types Embedded systems features : - project size - over 300kloc - Nature of project a large project realtime system ex/ ATMS ,Traffic control - innovation - Significant - deadline of the project - tight (you have to complete the project on time only)
  • 25. Basic CoCoMo Model Basic CoCoMo Model The formula to calculate the basic Model are E = ab (kLoc) bb D=Cb (E)db E = effort applied D= Development time people required = P=E/D they are constant value ab , bb , Cb, db are coefficients.
  • 26. Coefficient values Software project ab bb Cb db Organig 2.4 1.05 2.5 0.38 Semidetached 3.0 1.12 2.5 0.35 embedded 3.6 1.20 2.5 0.32
  • 27. Example • example: Suppos that a project was estimated to be 400k Loc, Calculate the effort and development time for each of the a modes organic , semidetached and embeded Solution: The basic Cocomo equation take the form E = ab (kLoc) bb D=Cb (E)db estimated size of the project =400k Loc
  • 28. Example organic mode E=2.4 (400) ^ 1.05 =1295,31 D=2.5 (1295.31.) ^0.38 = 38, 07 Semidetached E=3.0 (400) ^ 1.12 =2462.79 D=2.5(2462.79)^0.35=38.45 Embedded : E=3.6(400)^1.20 =4772.81 D=2.5(4772.81)^0.32=38
  • 29. Intermediate CoCoMo Model Intermediate CoCoMo Model : It is extension of basic COMO Model It consists of set of 15 additional predictors ( cost drivers) cost drivers adjust nominal cost of project to actual project environment 15 Cost drivers include 1- Product attributes which requires: - s.w. reliability )RELY) - db size (DATA) - Product complexity (CPLX) 2-Computer attributes - execution time constraints (TIME) - main storage constraints (STOR) - virtual machine volatility (VIRT) - Computer turn around time (TURN)
  • 30. Intermediate CoCoMo Model 3-Personal attributes : - Analyst Capability (ACAP) - Application Experience (AEXP) - programming Capability (PCAP). - virtual machine experience (V Exp) - programing language experience (LEXP) 4-project attributes -modern programming practices (MODP) - use of S.w tools (Tool) - Require development schedule (SCED)
  • 31. Intermediate CoCoMo Model Each Cost driver is rated for the given project Environment in the term of l-very low < 1 2- low < 1 3 – High >1 4- very High > 1 5- Extra High >1
  • 32. Cocomo equation take the form E = ab (kLoc) bb * EAF D=Cb (E)db EAF = effort adjustment factor • EAF : can be a calculated by multiplying all the values that have been obtained after categorizing each cost driver Cost driver
  • 33. Coefficient values Software project ab bb Cb db Organig 3.2 1.05 2.5 0.38 Semidetached 3.0 1.12 2.5 0.35 embedded 2.8 1.20 2.5 0.32
  • 34. • Suoopse that a project was estimated to be 300kloc and EAF=2 or (very high ) calculate the effort and development time for each of the three modes organic ,semidetached and embedded • Sol : Organic : E = ab (kLoc) bb * EAF =3.2 (300) ^1.05 * 2 = D=Cb (E)db = 2.5 (E ) ^ 0.38 =
  • 35. • Semidetached : E = ab (kLoc) bb * EAF =3.0 *(300)^1.12 * 2 D=Cb (E)db = 3.0 (E) ^0.35 = Embedded : E = ab (kLoc) bb * EAF = 2.8 (300)^1.20 * 2 = D=Cb (E)db = 2.5 (E) ^0.32 =
  • 36. University of Technology Computer science Department Software Engineering Lecturer : Farah Tawfiq Class: Second Branch :Software 1st course 2020 Fifth lecture
  • 37. Automated Estimation Tools Although many automated estimation tools exist, all exhibit the same general characteristics and all perform the following six generic functions: 1. Sizing of project deliverables. ‫المشروع‬ ‫مخرجات‬ ‫حجم‬The "size" of one or more software work products is estimated. Work products include the external representation of software (e.g., screen, reports), the software itself , functionality delivered , descriptive information (e.g. documents). 2. Selecting project activities. The appropriate process framework is selected and the software engineering task set is specified. 3. Predicting staffing levels. The number of people who will be available to do the work is specified. Because the relationship between people available and work (predicted effort) is highly nonlinear, this is an important input. 4. Predicting software effort. Estimation tools use one or more models that relate the size of the project deliverables to the effort required to produce them. 5. Predicting software cost. Given the results of step 4, costs can be computed by allocating labor rates to the project activities noted in step 2. 6. Predicting software schedules. When effort, staffing level, and project activities are known, a draft schedule can be produced by allocating labor across software engineering activities.
  • 38. Automated Estimation Tools • When different estimation tools are applied to the same project data, a relatively large variation in estimated results is encountered. More important, predicted values sometimes are significantly different than actual values
  • 39. Analysis Concepts and Principles Introduction After system engineering is completed, software engineers need to look at the role of software in the proposed system. Software requirements analysis is necessary to avoid creating software product that fails to meet the customer's needs. Data, functional, and behavioral requirements are elicited ‫استنبط‬from the customer and refined ‫مشتق‬ to create specification ‫مواصفات‬that can be used to design the system. Software requirements work products must be reviewed for clarity, completeness, and consistency.
  • 40. Requirements Analysis (benefits) • Software engineering task that bridges the gap between system level requirements engineering and software design. • Provides software designer with a representation of system information, function, and behavior that can be translated to data, architectural, components level design ‫المكونات‬ ‫مستوى‬ ‫تصميم‬. • Expect to do a little bit of design during analysis and a little bit of analysis during design.
  • 41. Software Requirements Analysis steps or algorithm • Identify the "customer" and work Together to negotiate "product –level" • Build an analysis model -Focus on data - define function - represent behavior • Prototype areas of uncertainty • Develop a specification that will guide design • Conduct formal technical reviews.
  • 42. University of Technology Computer science Department Software Engineering Lecturer : Farah Tawfiq Class: Second Branch :Software 1st course 2020 Sixth lecture
  • 43. software Requirements Analysis Phases • Problem recognition • Evaluation and synthesis (focus is on what not how) • Modeling • Specification • Review
  • 44. software requirements elicitation ‫استنباط‬ • Customer meetings are the most commonly used technique. • Use context free question to find out customers goal and benefits, identify stakeholders, gain understanding of problem, determine, customer reactions to proposed solution, and assess meeting effectiveness. • If many users are involved, be certain that a representative cross section of users is interviewed.
  • 45. Facilitated action Specification Techniques (FAST) • Meeting held at neutral site ‫محايد‬ ‫موقع‬, attended by both software engineering and customers. • Rules established for preparation and participation. • Agenda suggested to cover important points and to allow for brainstorming. • Meeting controlled by facilitator (customer, developer, or outsider). • Definition mechanism (flip charts, stickers, electronic device, etc.) is used. • Goal is to identify problem, propose elements of solution, negotiate different approaches, and specify a preliminary set of solution requirements.
  • 46. Fast Guidelines • Participants must attend entire meeting • All participants are equal • Preparation is as important as meeting • All pre-meeting documents are to be viewed as " proposed" • Off-sit ‫خارجي‬ ‫موقع‬meeting location is preferred • Set an agenda and maintain it • Don’t get mired ‫تنغمس‬ in technical
  • 47. Homework • Q1 /what are the Challenges in eliciting requirements • Q2 /Why Requirement Elicitation is difficult?
  • 48. University of Technology Computer science Department Software Engineering Lecturer : Farah Tawfiq Class: Second Branch :Software 1st course 2020 Seventh lecture
  • 49. Quality Function Deployment (QFD) • is a structured approach to defining customer needs or requirements and translating them into specific plans to produce products to meet those needs • Uses customer interviews, observation, surveys, and historical data for requirements gathering. • Customer voice table(contains summary of requirements) :Voice of the customer (VOC) is a term used in business and Information Technology to describe the in-depth process of capturing customer's expectations, preferences and aversions ‫نفور‬ • Normal requirements (must be present in product for customer to be satisfied) • Expected requirement (things like ease of use or reliability of operation, that customer assumes will be present in a professionally developed product without having to request them explicitly) • Exciting requirements (features that go beyond the customers expectations and prove to very satisfying when they are present) • Function deployment (used during customer meeting to determine the value of each function required for system) • Information deployment (identifies data objects and events produced and consumed by the system) • Task deployment(examines the behavior of product within in environment) • Value analysis (used to determine the relative priority of requirements during function , information, and task deployment)
  • 50. Quality Function Deployment(what to determine?) • Function deployment determines the value (as perceived by the customer )of each function required of the system • Information deployment identifies data objects and events • Task deployment examines the behavior of the system • Value analysis determines the relative priority of requirements
  • 51. Use - case • Scenarios that describe how the product will be used in specific situations. • Written narratives that describe the role of an actor (user of device) as interaction with the system occurs. • Use-cases are designed from the actor's point of view. • Not all actors can be identify the primary actors before developing the use cases
  • 52. Use-cases (what to do ?) • A collection of scenarios that describe the thread of usage of a system • Each of an "actor" – a person or device that interacts with the software in some way • Each scenario answers the following questions : - What are the main tasks of functions performed by the actor? - What system information will the actor acquire, produce or change? - Will the actor inform the system about environmental changes? - What information does the actor require of the system? - Does the actor wish to be informed about unexpected changes?
  • 53. Case study Use Case Description Use case interacts between user and system without specify the user interface. It describe the system for external user and in a manner that can be understand. List of use cases are: • Registration • Login • Select Category • Add to Cart • List the Items • Order Item • Final Price with Quantity • Authorization • Security • Feedback
  • 58. Case study 2 • Build a system that allows any one to sell his tool by taking picture to the tool and describe it using phone based app. The user should have account to use this system and he could set up the limit of cities that he want to look for buy tool he will search for any tool he want to buy and the system will display available tools in his area .
  • 60. Case study 2 :solution registration for use case Use case number 01 Use case name Register Overview User register new account into the system Actor(s) User Pre-condition - System is uploaded to the internet - App installed on his (user )phone Scenario flow 1. Open app 2. Click register 3. Enter his name , email ,phone number , and address 4. Click register 5. Display message “you are registered ” Alternative flows 5a- display message “ user name or password is reserved “ Post condition Display login page