1/89
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
|---|
No study sessions yet.
What happens when size and complexity of software projects increase?
Failed Projects Increase
What is “Engineering” software”?
Put some discipline into “programming”
Do more than just coding/programming
‘Study’ (mode/measure), ‘Understand’ (analyze) and ‘Improve’ (Change) this field
What year was The CHAOS report published?
1995
Who published The CHAOS report?
The Standish Group
How many software projects were sampled in The CHAOS report?
365
What percentage of projects are “completed”, “on-time”, and “within-budget” according to The CHAOS report (1995)?
16%
What percentage of projects are “completed”, “on-time”, and “within-budget” according to The CHAOS report (2009)?
32%
What percentage of projects are “completed”, “on-time”, and “within-budget” according to The CHAOS report (2014)?
39%
What percentage of projects are “Late”, “over-budget”, and “less-functionality” according to The CHAOS report (2014)?
43%
What are the most important reasons for project success?
User involvement
Executive management support
Clear requirement statements
Proper planning
What are the reasons of failure for challenged projects?
Lack of user input
Incomplete requirements and specifications
Changing Requirements and specifications
sadw
What are the reasons cited for failure of the projects that are impaired and cancelled?
Incomplete requirements
Incomplete requirements and specifications
Changing requirements and specifications
Percentage of Requirement errors
12.50%
Percentage of Design Errors?
24.17%
Percentage of Code Errors?
38.33%
Percentage of Documentation Errors?
13.33%
Percentage of Bad-Fix Errors?
11.67%
Fixing a requirements error is usually-
More expensive
Why is a requirement error more expensive?
They may turn into several design and coding problems
(per A.P.) As systems grow more complicated failures-
have far less technical explanations (bad management, communications, or training)
Large endeavors involve what complex factors?
Executive commitments and leadership
Thorough planning of both business and technical processes
Skilled and experienced consultants
relentless management focus and monitoring of the project
willingness to change and make adjustments when required
What strategies were cited as key to ensuring the delivery of high-quality software on time and within budget?
Focused attention on the software development environment(s)
Disciplined development processes
methodical usage of metrics to gauge cost, schedule, and performance targets
What did need for more “discipline” lead to?
Software Engineering
When was the term Software Engineering introduced?
1968 (NATO conference)
Software Engineering Definition (David Parnas)
a multiperson construction of multiversion software
Software Engineering Definition (Ian Sommerville)
an engineering discipline whose focus is the cost-effective development of high-quality software systems
Software Engineering Definition (Shari Pfleeger)
the application of computing tools to solving problems
Software Engineering Definition (F.L. Bauer)
The establishment and use of sound engineering principles (methods) in order to obtain economically software that is reliable and works on real machines
Software Engineering Definition (CMU/SEI-90- TR-003)
form of engineering that applies the principles of computer science and mathematics to achieving cost-effective solutions to software problems.
Software Engineering Definition (IEEE std 610-1990)
The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software.
Software Engineering is a broad field that touches upon ___ and ___ a software system.
developing
supporting
What does Software engineering span?
Techini8cal and business processes
specific methodologies and techniques
product characterization and metrics for measurements
people skills and team work
project coordination and management
How much money did software make in 2000
$180 billion
Why is software a serious business
It is ubiquitous across multiple industries
Software is a commodity of ___ “value”
increasing
Software has graduated from a “garage” operation to an-
“enterprise” profession
We need to treat software engineering as an-
engineering profession
How many universities received accreditation from accreditation board of engineering and technology (2009)
15
No equivalent “professional engineer” designation for-
Software engineers (expect texas)
How much money did software make in 2013 (Gartner report)
$407 Billion
How many universities received accreditation from accreditation board of engineering and technology (2014)
22
How many principles are in in Ethics and professional practices in software engineering (via The IEEE-CS/ACM Version 5.2)
8
(The IEEE-CS/ACM Version 5.2) Principle 1
Software engineers shall act consistently with the public interest
(The IEEE-CS/ACM Version 5.2) Principle 2
Software engineers shall act in a manner that is in the best interests of their client and employer, consistent with the public interest
(The IEEE-CS/ACM Version 5.2) Principle 3
Software engineers shall ensure that their products and related modifications meet the highest professional standards possible
(The IEEE-CS/ACM Version 5.2) Principle 4
Software engineers shall maintain integrity and independence in their professional judgment
(The IEEE-CS/ACM Version 5.2) Principle 5
Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance
(The IEEE-CS/ACM Version 5.2) Principle 6
Software engineers shall advance the integrity and reputation of the profession consistent with the public interest
(The IEEE-CS/ACM Version 5.2) Principle 7
Software engineers shall be fair to and supportive of their colleagues
(The IEEE-CS/ACM Version 5.2) Principle 8
Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession
What are the set of Behavioral rules?
Respect others
strive for fairness
perform to one’s best capability
Follow the law
What makes software engineering different from other disciplines?
There is no one set of universal principles that is agreed to by everyone.
What are the well-received/respected principles?
Davis’s Principles
Royce’s principles
Wasserman’s Concepts
How many principles are in Davis’s?
15
(Davis’s Principles) Principle 1
Make quality number 1
(Davis’s Principles) Principle 2
High-quality software is possible
(Davis’s Principles) Principle 3
Give products to customers early
(Davis’s Principles) Principle 4
Determine the problem before writing the requirements
(Davis’s Principles) Principle 5
Evaluate design alternatives
(Davis’s Principles) Principle 6
Use an appropriate process model
(Davis’s Principles) Principle 7
Use different languages for different phases
(Davis’s Principles) Principle 8
Minimize intellectual distances
(Davis’s Principles) Principle 9
Put techniques before tools
(Davis’s Principles) Principle 10
Get it right before you make it faster
(Davis’s Principles) Principle 11
Inspect code
(Davis’s Principles) Principle 12
Good management is more important than good technology
(Davis’s Principles) Principle 13
People are the key to success
(Davis’s Principles) Principle 14
Follow with care
(Davis’s Principles) Principle 15
Take responsibility
How many principles are stated in Royce’s More Modern Principles?
10
(Royce’s More Modern Principles) Principle 1
Base the process on an architecture first approach
(Royce’s More Modern Principles) Principle 2
Establish iterative process—address risk early
(Royce’s More Modern Principles) Principle 3
Emphasize component-based development to reduce effort
(Royce’s More Modern Principles) Principle 4
Establish change management
(Royce’s More Modern Principles) Principle 5
Use round-trip engineering—a form of iterative process
(Royce’s More Modern Principles) Principle 6
Use model-based and machine processable notations for design
(Royce’s More Modern Principles) Principle 7
Establish process for quality control and project assessment
(Royce’s More Modern Principles) Principle 8
Use approach that allows artifacts to be demonstrated early
(Royce’s More Modern Principles) Principle 9
Plan to have incremental releases
(Royce’s More Modern Principles) Principle 10
Establish a configurable process to suit the needs
How many concepts are in Wasserman’s Fundamentals?
8
(Wasserman’s Fundamentals Concepts) Concept 1
Abstraction (a form of simplification)
(Wasserman’s Fundamentals Concepts) Concept 2
Analysis and design methods and notation
(Wasserman’s Fundamentals Concepts) Concept 3
User interface prototyping
(Wasserman’s Fundamentals Concepts) Concept 4
Modularity and architecture
(Wasserman’s Fundamentals Concepts) Concept 5
Reuse
(Wasserman’s Fundamentals Concepts) Concept 6
Life cycle and process
(Wasserman’s Fundamentals Concepts) Concept 7
Metrics
(Wasserman’s Fundamentals Concepts) Concept 8
Tools and integrated environment
What are the key strategies to ensuring delivery of high-quality software, on time, and within budget
Focused attention on software development environment(people/tools/management/etc.)
“Disciplined” Development processes
Methodical use of metrics to gauge cost, schedule, and functional performance targets