This involves specification of software systems using advanced design languages and formal logics, as well as verifying the correctness of such specifications using formal engineering analysis methods and various mechanical/automated tools
Project management chapter_04 for MSBTEKalyan Ingole
This presentation is about the project management that contains project management spectrum,Risk management,change management,configuration management and clean room strategy
Project management chapter_04 for MSBTEKalyan Ingole
This presentation is about the project management that contains project management spectrum,Risk management,change management,configuration management and clean room strategy
Java programming presentations By Daroko blog
Do not just read java as a programmer, find projects and start making some Money, at DAROKO BLOG,WE Guide you through what you have learned in the classroom to a real business Environment, find java applications to a real business Environment, find also all IT Solutions and How you can apply them, find the best companies where you can get the IT jobs worldwide, Find java contract, Complete and start making some cash, find clients within your Country, refer and get paid when you complete the work.
Not Just a contact, at daroko Blog (www.professionalbloggertricks.com/),you are also being taught how you can apply all IT related field in real world.
Simply Google, Daroko Blog or visit (www.professionalbloggertricks.com/) to Know More about all these service now.
Do not just learn and go, apply them in real world.
Software Process Models, The Linear Sequential Model, The Prototyping Model, The RAD Model, Evolutionary Process Models, Agile Process Model, Component-Based Development, Process, Product and Process.
software engineering , its characteristic ,changing nature of software,evolving nature of software,legacy software,generic view of software,process flow ,umbrella activity,CMMI,PROCESS ASSESSMENT ,team and personal software process
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdffxintegritypublishin
Advancements in technology unveil a myriad of electrical and electronic breakthroughs geared towards efficiently harnessing limited resources to meet human energy demands. The optimization of hybrid solar PV panels and pumped hydro energy supply systems plays a pivotal role in utilizing natural resources effectively. This initiative not only benefits humanity but also fosters environmental sustainability. The study investigated the design optimization of these hybrid systems, focusing on understanding solar radiation patterns, identifying geographical influences on solar radiation, formulating a mathematical model for system optimization, and determining the optimal configuration of PV panels and pumped hydro storage. Through a comparative analysis approach and eight weeks of data collection, the study addressed key research questions related to solar radiation patterns and optimal system design. The findings highlighted regions with heightened solar radiation levels, showcasing substantial potential for power generation and emphasizing the system's efficiency. Optimizing system design significantly boosted power generation, promoted renewable energy utilization, and enhanced energy storage capacity. The study underscored the benefits of optimizing hybrid solar PV panels and pumped hydro energy supply systems for sustainable energy usage. Optimizing the design of solar PV panels and pumped hydro energy supply systems as examined across diverse climatic conditions in a developing country, not only enhances power generation but also improves the integration of renewable energy sources and boosts energy storage capacities, particularly beneficial for less economically prosperous regions. Additionally, the study provides valuable insights for advancing energy research in economically viable areas. Recommendations included conducting site-specific assessments, utilizing advanced modeling tools, implementing regular maintenance protocols, and enhancing communication among system components.
More Related Content
Similar to Chapter 1_Introduction sunorganisedASE_finalised.pptx
Java programming presentations By Daroko blog
Do not just read java as a programmer, find projects and start making some Money, at DAROKO BLOG,WE Guide you through what you have learned in the classroom to a real business Environment, find java applications to a real business Environment, find also all IT Solutions and How you can apply them, find the best companies where you can get the IT jobs worldwide, Find java contract, Complete and start making some cash, find clients within your Country, refer and get paid when you complete the work.
Not Just a contact, at daroko Blog (www.professionalbloggertricks.com/),you are also being taught how you can apply all IT related field in real world.
Simply Google, Daroko Blog or visit (www.professionalbloggertricks.com/) to Know More about all these service now.
Do not just learn and go, apply them in real world.
Software Process Models, The Linear Sequential Model, The Prototyping Model, The RAD Model, Evolutionary Process Models, Agile Process Model, Component-Based Development, Process, Product and Process.
software engineering , its characteristic ,changing nature of software,evolving nature of software,legacy software,generic view of software,process flow ,umbrella activity,CMMI,PROCESS ASSESSMENT ,team and personal software process
Similar to Chapter 1_Introduction sunorganisedASE_finalised.pptx (20)
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdffxintegritypublishin
Advancements in technology unveil a myriad of electrical and electronic breakthroughs geared towards efficiently harnessing limited resources to meet human energy demands. The optimization of hybrid solar PV panels and pumped hydro energy supply systems plays a pivotal role in utilizing natural resources effectively. This initiative not only benefits humanity but also fosters environmental sustainability. The study investigated the design optimization of these hybrid systems, focusing on understanding solar radiation patterns, identifying geographical influences on solar radiation, formulating a mathematical model for system optimization, and determining the optimal configuration of PV panels and pumped hydro storage. Through a comparative analysis approach and eight weeks of data collection, the study addressed key research questions related to solar radiation patterns and optimal system design. The findings highlighted regions with heightened solar radiation levels, showcasing substantial potential for power generation and emphasizing the system's efficiency. Optimizing system design significantly boosted power generation, promoted renewable energy utilization, and enhanced energy storage capacity. The study underscored the benefits of optimizing hybrid solar PV panels and pumped hydro energy supply systems for sustainable energy usage. Optimizing the design of solar PV panels and pumped hydro energy supply systems as examined across diverse climatic conditions in a developing country, not only enhances power generation but also improves the integration of renewable energy sources and boosts energy storage capacities, particularly beneficial for less economically prosperous regions. Additionally, the study provides valuable insights for advancing energy research in economically viable areas. Recommendations included conducting site-specific assessments, utilizing advanced modeling tools, implementing regular maintenance protocols, and enhancing communication among system components.
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxR&R Consult
CFD analysis is incredibly effective at solving mysteries and improving the performance of complex systems!
Here's a great example: At a large natural gas-fired power plant, where they use waste heat to generate steam and energy, they were puzzled that their boiler wasn't producing as much steam as expected.
R&R and Tetra Engineering Group Inc. were asked to solve the issue with reduced steam production.
An inspection had shown that a significant amount of hot flue gas was bypassing the boiler tubes, where the heat was supposed to be transferred.
R&R Consult conducted a CFD analysis, which revealed that 6.3% of the flue gas was bypassing the boiler tubes without transferring heat. The analysis also showed that the flue gas was instead being directed along the sides of the boiler and between the modules that were supposed to capture the heat. This was the cause of the reduced performance.
Based on our results, Tetra Engineering installed covering plates to reduce the bypass flow. This improved the boiler's performance and increased electricity production.
It is always satisfying when we can help solve complex challenges like this. Do your systems also need a check-up or optimization? Give us a call!
Work done in cooperation with James Malloy and David Moelling from Tetra Engineering.
More examples of our work https://www.r-r-consult.dk/en/cases-en/
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Dr.Costas Sachpazis
Terzaghi's soil bearing capacity theory, developed by Karl Terzaghi, is a fundamental principle in geotechnical engineering used to determine the bearing capacity of shallow foundations. This theory provides a method to calculate the ultimate bearing capacity of soil, which is the maximum load per unit area that the soil can support without undergoing shear failure. The Calculation HTML Code included.
TECHNICAL TRAINING MANUAL GENERAL FAMILIARIZATION COURSEDuvanRamosGarzon1
AIRCRAFT GENERAL
The Single Aisle is the most advanced family aircraft in service today, with fly-by-wire flight controls.
The A318, A319, A320 and A321 are twin-engine subsonic medium range aircraft.
The family offers a choice of engines
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdfKamal Acharya
The College Bus Management system is completely developed by Visual Basic .NET Version. The application is connect with most secured database language MS SQL Server. The application is develop by using best combination of front-end and back-end languages. The application is totally design like flat user interface. This flat user interface is more attractive user interface in 2017. The application is gives more important to the system functionality. The application is to manage the student’s details, driver’s details, bus details, bus route details, bus fees details and more. The application has only one unit for admin. The admin can manage the entire application. The admin can login into the application by using username and password of the admin. The application is develop for big and small colleges. It is more user friendly for non-computer person. Even they can easily learn how to manage the application within hours. The application is more secure by the admin. The system will give an effective output for the VB.Net and SQL Server given as input to the system. The compiled java program given as input to the system, after scanning the program will generate different reports. The application generates the report for users. The admin can view and download the report of the data. The application deliver the excel format reports. Because, excel formatted reports is very easy to understand the income and expense of the college bus. This application is mainly develop for windows operating system users. In 2017, 73% of people enterprises are using windows operating system. So the application will easily install for all the windows operating system users. The application-developed size is very low. The application consumes very low space in disk. Therefore, the user can allocate very minimum local disk space for this application.
Democratizing Fuzzing at Scale by Abhishek Aryaabh.arya
Presented at NUS: Fuzzing and Software Security Summer School 2024
This keynote talks about the democratization of fuzzing at scale, highlighting the collaboration between open source communities, academia, and industry to advance the field of fuzzing. It delves into the history of fuzzing, the development of scalable fuzzing platforms, and the empowerment of community-driven research. The talk will further discuss recent advancements leveraging AI/ML and offer insights into the future evolution of the fuzzing landscape.
Saudi Arabia stands as a titan in the global energy landscape, renowned for its abundant oil and gas resources. It's the largest exporter of petroleum and holds some of the world's most significant reserves. Let's delve into the top 10 oil and gas projects shaping Saudi Arabia's energy future in 2024.
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...Amil Baba Dawood bangali
Contact with Dawood Bhai Just call on +92322-6382012 and we'll help you. We'll solve all your problems within 12 to 24 hours and with 101% guarantee and with astrology systematic. If you want to take any personal or professional advice then also you can call us on +92322-6382012 , ONLINE LOVE PROBLEM & Other all types of Daily Life Problem's.Then CALL or WHATSAPP us on +92322-6382012 and Get all these problems solutions here by Amil Baba DAWOOD BANGALI
#vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore#blackmagicformarriage #aamilbaba #kalajadu #kalailam #taweez #wazifaexpert #jadumantar #vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore #blackmagicforlove #blackmagicformarriage #aamilbaba #kalajadu #kalailam #taweez #wazifaexpert #jadumantar #vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore #Amilbabainuk #amilbabainspain #amilbabaindubai #Amilbabainnorway #amilbabainkrachi #amilbabainlahore #amilbabaingujranwalan #amilbabainislamabad
Automobile Management System Project Report.pdfKamal Acharya
The proposed project is developed to manage the automobile in the automobile dealer company. The main module in this project is login, automobile management, customer management, sales, complaints and reports. The first module is the login. The automobile showroom owner should login to the project for usage. The username and password are verified and if it is correct, next form opens. If the username and password are not correct, it shows the error message.
When a customer search for a automobile, if the automobile is available, they will be taken to a page that shows the details of the automobile including automobile name, automobile ID, quantity, price etc. “Automobile Management System” is useful for maintaining automobiles, customers effectively and hence helps for establishing good relation between customer and automobile organization. It contains various customized modules for effectively maintaining automobiles and stock information accurately and safely.
When the automobile is sold to the customer, stock will be reduced automatically. When a new purchase is made, stock will be increased automatically. While selecting automobiles for sale, the proposed software will automatically check for total number of available stock of that particular item, if the total stock of that particular item is less than 5, software will notify the user to purchase the particular item.
Also when the user tries to sale items which are not in stock, the system will prompt the user that the stock is not enough. Customers of this system can search for a automobile; can purchase a automobile easily by selecting fast. On the other hand the stock of automobiles can be maintained perfectly by the automobile shop manager overcoming the drawbacks of existing system.
1. These slides are designed to accompany
Software Engineering: A Practitioner’s
Approach, 7/e (McGraw-Hill 2009). Slides
copyright 2009 by Roger Pressman. 1
Chapter 1
Overview Software Engineering
2. 2
What is Software?
Software is: (1) instructions (computer programs) that when
executed provide desired features, function, and performance; (2)
data structures that enable the programs to adequately
manipulate information and (3) documentation that describes the
operation and use of the programs.
Software is developed or engineered, it is not manufactured in
the classical sense.
Software doesn't "wear out."
Although the industry is moving toward component-based
construction, most software continues to be custom-built.
The IEEE definition:
Software Engineering: (1) The application of a systematic, disciplined,
quantifiable approach to the development, operation, and maintenance of
software; that is, the application of engineering to software. (2) The study of
approaches as in (1).
6. 6
The Essence of Practice
Polya suggests:
1.Understand the problem (communication and
analysis).
2.Plan a solution (modeling and software design).
3.Carry out the plan (code generation).
4.Examine the result for accuracy (testing and quality
assurance).
7. 7
Hooker’s General Principles
1: The Reason It All Exists
2: KISS (Keep It Simple, Stupid!)
3: Maintain the Vision
4: What You Produce, Others Will
Consume
5: Be Open to the Future
6: Plan Ahead for Reuse
7: Think!
8. 8
How It all Starts
• SafeHome:
– Every software project is precipitated by some
business need—
•the need to correct a defect in an existing
application;
•the need to the need to adapt a ‘legacy system’ to a
changing business environment;
•the need to extend the functions and features of an
existing application, or
•the need to create a new product, service, or
system.
9. 9
The Four P’s
• Project Management Concepts
• People — the most important
element of a successful project
• Product — the software to be built
• Process — the set of framework
activities and software engineering
tasks to get the job done
• Project — all work required to make
the product a reality
Project Management Concepts
10. 10
Stakeholders
• Senior managers who define the business issues
that often have significant influence on the project.
• Project (technical) managers who must plan,
motivate, organize, and control the practitioners who
do software work.
• Practitioners who deliver the technical skills that are
necessary to engineer a product or application.
• Customers who specify the requirements for the
software to be engineered and other stakeholders
who have a peripheral interest in the outcome.
• End-users who interact with the software once it is
released for production use.
11. 11
Team Leader
The MOI Model
– Motivation. The ability to encourage (by
“push or pull”) technical people to produce to
their best ability.
– Organization. The ability to mold existing
processes (or invent new ones) that will
enable the initial concept to be translated into
a final product.
– Ideas or innovation. The ability to
encourage people to create and feel creative
even when they must work within bounds
established for a particular software product
or application.
12. 12
Software Teams
The following factors must be considered when
selecting a software project team structure ...
the difficulty of the problem to be solved
the size of the resultant program(s) in lines of code or
function points
the time that the team will stay together (team lifetime)
the degree to which the problem can be modularized
the required quality and reliability of the system to be
built
the rigidity of the delivery date
the degree of sociability (communication) required for
the project
13. 13
• closed paradigm—structures a team along a traditional
hierarchy of authority
• random paradigm—structures a team loosely and depends
on individual initiative of the team members
• open paradigm—attempts to structure a team in a manner
that achieves some of the controls associated with the
closed paradigm but also much of the innovation that
occurs when using the random paradigm
• synchronous paradigm—relies on the natural
compartmentalization of a problem and organizes team
members to work on pieces of the problem with little active
communication among themselves
Organizational Paradigms
suggested by Constantine [Con93]
14. 14
Avoid Team “Toxicity”
• A frenzied work atmosphere in which team members
waste energy and lose focus on the objectives of the work
to be performed.
• High frustration caused by personal, business, or
technological factors that cause friction among team
members.
• “Fragmented or poorly coordinated procedures” or a poorly
defined or improperly chosen process model that becomes
a roadblock to accomplishment.
• Unclear definition of roles resulting in a lack of
accountability and resultant finger-pointing.
• “Continuous and repeated exposure to failure” that leads
to a loss of confidence and a lowering of morale.
15. 15
Agile Teams
• Team members must have trust in one another.
• The distribution of skills must be appropriate to the problem.
• Mavericks may have to be excluded from the team, if team
cohesiveness is to be maintained.
• Team is “self-organizing”
– An adaptive team structure
– Uses elements of Constantine’s random, open, and synchronous
paradigms
– Significant autonomy
16. 16
Problem Decomposition
• Sometimes called partitioning or problem
elaboration
• Once scope is defined …
– It is decomposed into constituent functions
– It is decomposed into user-visible data objects
or
– It is decomposed into a set of problem
classes
• Decomposition process continues until all
functions or problem classes have been
17. 17
The Process
• Once a process framework has been
established
– Consider project characteristics
– Determine the degree of rigor required
– Define a task set for each software
engineering activity
• Task set =
– Software engineering tasks
– Work products
– Quality assurance points
– Milestones
18. 18
The Project
• Projects get into trouble when …
– Software people don’t understand their customer’s
needs.
– The product scope is poorly defined.
– Changes are managed poorly.
– The chosen technology changes.
– Business needs change [or are ill-defined].
– Deadlines are unrealistic.
– Users are resistant.
– Sponsorship is lost [or was never properly obtained].
– The project team lacks people with appropriate skills.
– Managers [and practitioners] avoid best practices and
lessons learned.
19. 19
Common-Sense Approach to Projects
• Common-Sense Approach to Projects
• Start on the right foot. This is accomplished by working hard
(very hard) to understand the problem that is to be solved and
then setting realistic objectives and expectations.
• Maintain momentum. The project manager must provide
incentives to keep turnover of personnel to an absolute
minimum, the team should emphasize quality in every task it
performs, and senior management should do everything
possible to stay out of the team’s way.
• Track progress. For a software project, progress is tracked as
work products (e.g., models, source code, sets of test cases)
are produced and approved (using formal technical reviews) as
part of a quality assurance activity.
• Make smart decisions. In essence, the decisions of the
project manager and the software team should be to “keep it
simple.”
• Conduct a postmortem analysis. Establish a consistent
mechanism for extracting lessons learned for each project.
20. 20
To Get to the Essence of a Project
• Why is the system being developed?
• What will be done?
• When will it be accomplished?
• Who is responsible?
• Where are they organizationally located?
• How will the job be done technically and
managerially?
• How much of each resource (e.g.,
people, software, tools, database) will
be needed?
Barry Boehm [Boe96]
21. 21
Critical Practices
Formal risk management
Empirical cost and schedule estimation
Metrics-based project management
Earned value tracking
Defect tracking against quality targets
People aware project management
22. 22
A Good Manager Measures
process
measurement
What do we
use as a
basis?
• size?
• function?
project metrics
process metrics
product
product metrics
Process and Project Metrics
23. 23
Why Do We Measure?
assess the status of an ongoing
project
• track potential risks
• uncover problem areas before
they go “critical,”
• adjust work flow or tasks,
• evaluate the project team’s
ability to control quality of
software work products.
24. 24
Process Measurement
• We measure the efficacy of a software process
indirectly.
– That is, we derive a set of metrics based on the
outcomes that can be derived from the process.
– Outcomes include
• measures of errors uncovered before release of the
software
• defects delivered to and reported by end-users
• work products delivered (productivity)
• human effort expended
• calendar time expended
• schedule conformance
• other measures.
• We also derive process metrics by measuring the
characteristics of specific software engineering tasks.
25. 25
Process Metrics Guidelines
• Use common sense and organizational sensitivity when interpreting metrics
data.
• Provide regular feedback to the individuals and teams who collect measures
and metrics.
• Don’t use metrics to appraise individuals.
• Work with practitioners and teams to set clear goals and metrics that will be
used to achieve them.
• Never use metrics to threaten individuals or teams.
• Metrics data that indicate a problem area should not be considered
“negative.” These data are merely an indicator for process improvement.
• Don’t obsess on a single metric to the exclusion of other important metrics.
27. 27
Process Metrics
Quality-related
focus on quality of work products and deliverables
Productivity-related
Production of work-products related to effort expended
Statistical SQA data
error categorization & analysis
Defect removal efficiency
propagation of errors from process activity to activity
Reuse data
The number of components produced and their degree
of reusability
28. 28
Project Metrics
used to minimize the development schedule by making the
adjustments necessary to avoid delays and mitigate
potential problems and risks
used to assess product quality on an ongoing basis and,
when necessary, modify the technical approach to improve
quality.
every project should measure:
inputs—measures of the resources (e.g., people, tools)
required to do the work.
outputs—measures of the deliverables or work products
created during the software engineering process.
results—measures that indicate the effectiveness of the
deliverables.
29. 29
Typical Project Metrics
• Effort/time per software engineering
task
• Errors uncovered per review hour
• Scheduled vs. actual milestone
dates
• Changes (number) and their
characteristics
• Distribution of effort on software
engineering tasks
30. 30
Software Project Planning
The overall goal of project planning is to
establish a pragmatic strategy for controlling,
tracking, and monitoring a complex technical
project.
Why?
So the end result gets done on time, with quality!
Estimation for Software Projects
32. 32
Project Planning Task Set-II
• Estimate cost and effort
– Decompose the problem
– Develop two or more estimates using size, function
points, process tasks or use-cases
– Reconcile the estimates
• Develop a project schedule
• Establish a meaningful task set
• Define a task network
• Use scheduling tools to develop a timeline chart
• Define schedule tracking mechanisms
33. 33
Estimation
• Estimation of resources, cost, and
schedule for a software engineering effort
requires
– experience
– access to good historical information (metrics)
– the courage to commit to quantitative
predictions when qualitative information is all
that exists
• Estimation carries inherent risk and this
risk leads to uncertainty
37. 37
Conventional Methods: LOC/FP Approach
• Compute LOC/FP using estimates
of information domain values
• Use historical data to build
estimates for the project
38. 38
Example: LOC Approach
Average productivity for systems of this type = 620 LOC/pm.
Burdened labor rate =$8000 per month, the cost per line of
code is approximately $13.
Based on the LOC estimate and the historical productivity
data, the total estimated project cost is $431,000 and the
estimated effort is 54 person-months.
39. 39
Example: FP Approach
The estimated number of FP is derived:
FPestimated = count-total * [0.65 + 0.01 * S (Fi)]
FPestimated = 375
organizational average productivity = 6.5 FP/pm.
burdened labor rate = $8000 per month, approximately $1230/FP.
Based on the FP estimate and the historical productivity data, total estimated
project cost is $461,000 and estimated effort is 58 person-months.
40. 40
Empirical Estimation Models
General form:
effort = tuning coefficient * size
exponent
usually derived
as person-months
of effort required
either a constant or
a number derived based
on complexity of project
usually LOC but
may also be
function point
empirically
derived
41. 41
COCOMO-II
• COCOMO II is actually a hierarchy of estimation
models that address the following areas:
• Application composition model. Used during the early stages
of software engineering, when prototyping of user interfaces,
consideration of software and system interaction,
assessment of performance, and evaluation of technology
maturity are paramount.
• Early design stage model. Used once requirements have
been stabilized and basic software architecture has been
established.
• Post-architecture-stage model. Used during the construction
of the software.
42. 42
What is Risk?
• Risks are potential problems that may affect
successful completion of a software project.
• Risks involve uncertainty and potential losses.
• Risk analysis and management are intended to
help a software team understand and manage
uncertainty during the development process.
43.
44. 44
Risk Strategies
Reactive strategies
– very common, also known as fire fighting
– project team sets resources aside to deal with
problems
– team does nothing until a risk becomes a problem
• Proactive strategies
– risk management begins long before
technical work starts, risks are identified
and prioritized by importance
– team builds a plan to avoid risks if they can or to
minimize risks if they turn into problems
45. 45
Software Risks - 1
Project risks
– threaten the project plan
• Technical risks
– threaten product quality and the timeliness of the schedule
• Business risks
– threaten the viability of the software to be built (market risks, strategic
risks, management risks, budget risks)
46. 46
Software Risks - 2
• Known risks
– predictable from careful evaluation of current
project plan and those extrapolated from past
project experience
• Unknown risks
– some problems will simply occur without
warning
47. 47
Risk Analysis
• Risk identification
• Risk projection
– impact of risks/likelihood of risk actually
happening
• Risk assessment
– what will change if risk becomes problem
• Risk management
48. 48
Risk Identification
• Product-specific risks
– the project plan and software statement of scope are
examined to identify any special characteristics of the
product that may threaten the project plan
• Generic risks
– are potential threats to every software product
• product size
• customer characteristics
• development environment
• technology to be built
49. 49
Risk Projection
• The risk drivers affecting each risk
component are
– classified according to their impact category
– potential consequences of each undetected
software fault or unachieved project outcome
are described
51. 51
Risk Estimation
1. Establish a scale indicating perceived
likelihood of risk occurring
2. Determine consequences.
3. Estimate impact of consequences on
project (for each risk).
4. Note overall accuracy of risk projection
(to avoid misunderstandings).
52. 52
Risk Table Construction - 1
• List all risks in the first column of the table
• Classify each risk and enter the category label in
column two
• Determine a probability for each risk and enter it
into column three
• Enter the severity of each risk (negligible,
marginal, critical, catastrophic) in column four.
53. 53
Risks Category Probability Impact RMMM
Estimated size of project in LOC or FP PS 80% 2 **
Lack of needed specialization increases
defects and reworks
ST 50% 2 **
Unfamiliar areas of the product take more
time than expected to design and implement
DE 50% 2 **
Does the environment make use of a
database
DE 35% 3
Components developed separately cannot
be integrated easily, requiring redesign
DE 25% 3
Development of the wrong software
functions requires redesign and
implementation
DE 25% 3
Development of extra software functions that
are not needed
DE 20% 3
Strict requirements for compatibility with
existing system require more testing, design,
and implementation than expected
DE 20% 3
Operation in unfamiliar software environment
causes unforeseen problems
EV 25% 4
Team members do not work well together ST 20% 4
Key personnel are available only part-time ST 20% 4
54. 54
Risk Table Construction - 2
• Sort the table by probability and impact value
• Determine the criteria for deciding where the
sorted table will be divided into the first priority
concerns and the second priority concerns
• First priority concerns must be managed (a fifth
column can be added to contain a pointer into
the RMMM document)
56. 56
Risk Refinement
• Process of restating the risks as a set of
more detailed risks that will be easier to
mitigate, monitor, and manage.
• CTC (condition-transition-consequence)
format may be a good representation for
the detailed risks (e.g. given that
<condition> then there is a concern that
(possibly) <consequence>).
57. 57
RMMM - 1
• Risk mitigation
– proactive planning for risk avoidance
• Risk monitoring
– assessing whether predicted risks occur or not
– ensuring risk aversion steps are being properly
applied
– collect information for future risk analysis
– determining which risks caused which problems
58. 58
RMMM - 2
• Risk Management
– contingency planning
– actions to be taken in the event that mitigation
steps have failed and the risk has become a
live problem
59. 59
Risk Mitigation Example
Risk: loss of key team members
• Determine causes of job turnover.
• Eliminate causes before project starts.
• After project starts, assume turnover is
going to occur and work to ensure
continuity.
• Make sure teams are organized and
distribute information widely.
• Define documentation standards and be
sure documents are produced in a
60. 60
Risk Information Sheets
• Alternative to RMMM plan in which each risk
is documented individually.
• Often risk information sheets (RIS) are
maintained using a database system.
• RIS components
– risk id, date, probability, impact, description
– refinement, mitigation/monitoring
– management/contingency/trigger
– status
– originator, assigned staff member
61. 61
Why Are Projects Late?
• an unrealistic deadline established by someone outside the
software development group
• changing customer requirements that are not reflected in
schedule changes;
• an honest underestimate of the amount of effort and/or the
number of resources that will be required to do the job;
• predictable and/or unpredictable risks that were not considered
when the project commenced;
• technical difficulties that could not have been foreseen in
advance;
• human difficulties that could not have been foreseen in advance;
• miscommunication among project staff that results in delays;
• a failure by project management to recognize that the project is
falling behind schedule and a lack of action to correct the
problem
Project Scheduling
62. 62
Scheduling Principles
• compartmentalization—define distinct tasks
• interdependency—indicate task
interrelationship
• effort validation—be sure resources are
available
• defined responsibilities—people must be
assigned
• defined outcomes—each task must have an
output
• defined milestones—review for quality
63. 63
Defining Task Sets
• determine type of project
• assess the degree of rigor
required
• identify adaptation criteria
• select appropriate software
engineering tasks
64. 64
Task Set Refinement
1.1 Concept scoping determines the overall scope of the
project.
Task definition: Task 1.1 Concept Scoping
1.1.1 Identify need, benefits and potential customers;
1.1.2 Define desired output/control and input events that drive the application;
Begin Task 1.1.2
1.1.2.1 FTR: Review written description of need
FTR indicates that a formal technical review (Chapter 26) is to be conducted.
1.1.2.2 Derive a list of customer visible outputs/inputs
1.1.2.3 FTR: Review outputs/inputs with customer and revise as required;
endtask Task 1.1.2
1.1.3 Define the functionality/behavior for each major function;
Begin Task 1.1.3
1.1.3.1 FTR: Review output and input data objects derived in task 1.1.2;
1.1.3.2 Derive a model of functions/behaviors;
1.1.3.3 FTR: Review functions/behaviors with customer and revise as required;
endtask Task 1.1.3
1.1.4 Isolate those elements of the technology to be implemented in software;
1.1.5 Research availability of existing software;
1.1.6 Define technical feasibility;
1.1.7 Make quick estimate of size;
1.1.8 Create a Scope Definition;
endTask definition: Task 1.1
is refined to
67. 67
Schedule Tracking
– Schedule Tracking
– conduct periodic project status meetings in which each
team member reports progress and problems.
– evaluate the results of all reviews conducted throughout
the software engineering process.
– determine whether formal project milestones (the
diamonds shown in Figure 27.3) have been accomplished
by the scheduled date.
– compare actual start-date to planned start-date for each
project task listed in the resource table (Figure 27.4).
– meet informally with practitioners to obtain their subjective
assessment of progress to date and problems on the
horizon.
– use earned value analysis to assess progress
quantitatively.
68. 68
Earned Value Analysis (EVA)
• Earned value
– is a measure of progress
– enables us to assess the “percent of
completeness” of a project using quantitative
analysis rather than rely on a gut feeling
– “provides accurate and reliable readings of
performance from as early as 15 percent into
the project.” [Fle98]
69. 69
Computing Earned Value-I
• The budgeted cost of work scheduled (BCWS) is determined for
each work task represented in the schedule.
– BCWSi is the effort planned for work task i.
– To determine progress at a given point along the project schedule, the
value of BCWS is the sum of the BCWSi values for all work tasks that
should have been completed by that point in time on the project
schedule.
• The BCWS values for all work tasks are summed to derive the
budget at completion, BAC. Hence,
BAC = ∑ (BCWSk) for all tasks k
70. 70
Computing Earned Value-II
• Next, the value for budgeted cost of work performed (BCWP)
is computed.
– The value for BCWP is the sum of the BCWS values for all
work tasks that have actually been completed by a point in time
on the project schedule.
• “the distinction between the BCWS and the BCWP is that
the former represents the budget of the activities that were
planned to be completed and the latter represents the
budget of the activities that actually were completed.” [Wil99]
• Given values for BCWS, BAC, and BCWP, important
progress indicators can be computed:
• Schedule performance index, SPI = BCWP/BCWS
• Schedule variance, SV = BCWP – BCWS
• SPI is an indication of the efficiency with which the project is
utilizing scheduled resources.
71. 71
Computing Earned Value-III
• Percent scheduled work completion = BCWS/BAC
– provides an indication of the percentage of work that should have been
completed by time t.
• Percent complete = BCWP/BAC
– provides a quantitative indication of the percent of completeness of the project at
a given point in time, t.
• Actual cost of work performed, ACWP, is the sum of the effort actually
expended on work tasks that have been completed by a point in time on the
project schedule. It is then possible to compute
• Cost performance index, CPI = BCWP/ACWP
• Cost variance, CV = BCWP – ACWP
72. AssignmentSubmit
handwritten answers in a folder
with in 7 days from today
• 1. Provide at least five examples of how the law of unintended
consequences applies to computer software.
• 2. Provide detailed examples (both positive and negative) that
indicate the impact of software on our society.
• 3. Many modern applications change frequently—before they are
presented to the end user and then after the first version has been
put into use. Suggest a few ways to build software to stop
deterioration due to change.
• 4. Consider the seven software categories presented. Do you think
that the same approach to software engineering can be applied for
each? Explain your answer
• 5.Software Estimation Tools, Techniques & Benchmarks ...Also take
a example of COI Administration - Software developemnt task and
make an estimate of TIME,COST,EFFORT,PEOPLE,MANHOURS-
for it using one of the ACEIT
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009
by Roger Pressman. 72