Software Engineering is the set of processes and tools to develop software. Software Engineering is the combination of all the tools, techniques, and processes that used in software production. Therefore Software Engineering encompasses all those things that are used in software production like :
Programming Language
Programming Language Design
Software Design Techniques
Tools
Testing
Maintenance
Development etc.
These days object-oriented programming is widely being used. If programming languages will not support object-orientation then it will be very difficult to implement object-oriented design using object-oriented principles. All these efforts made the basis of software engineering.
Software development process models
Rapid Application Development (RAD) Model
Evolutionary Process Models
Spiral Model
THE FORMAL METHODS MODEL
Specialized Process Models
The Concurrent Development Model
Following presentation answers:
- Why do we need evolution?
- What happens if we do not evolve the software?
- What are the types of software evolution?
- What are Lehman's laws
- What are the strategies for evolution?
Software Engineering is the set of processes and tools to develop software. Software Engineering is the combination of all the tools, techniques, and processes that used in software production. Therefore Software Engineering encompasses all those things that are used in software production like :
Programming Language
Programming Language Design
Software Design Techniques
Tools
Testing
Maintenance
Development etc.
These days object-oriented programming is widely being used. If programming languages will not support object-orientation then it will be very difficult to implement object-oriented design using object-oriented principles. All these efforts made the basis of software engineering.
Software development process models
Rapid Application Development (RAD) Model
Evolutionary Process Models
Spiral Model
THE FORMAL METHODS MODEL
Specialized Process Models
The Concurrent Development Model
Following presentation answers:
- Why do we need evolution?
- What happens if we do not evolve the software?
- What are the types of software evolution?
- What are Lehman's laws
- What are the strategies for evolution?
Software engineering a practitioners approach 8th edition pressman solutions ...Drusilla918
Full clear download( no error formatting) at: https://goo.gl/XmRyGP
software engineering a practitioner's approach 8th edition pdf free download
software engineering a practitioner's approach 8th edition ppt
software engineering a practitioner's approach 6th edition pdf
software engineering pressman 9th edition pdf
software engineering a practitioner's approach 9th edition
software engineering a practitioner's approach 9th edition pdf
software engineering a practitioner's approach 7th edition solution manual pdf
roger s. pressman
This lecture provide a review of requirement engineering process. The slides have been prepared after reading Ian Summerville and Roger Pressman work. This lecture is helpful to understand user, and user requirements.
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
Software engineering a practitioners approach 8th edition pressman solutions ...Drusilla918
Full clear download( no error formatting) at: https://goo.gl/XmRyGP
software engineering a practitioner's approach 8th edition pdf free download
software engineering a practitioner's approach 8th edition ppt
software engineering a practitioner's approach 6th edition pdf
software engineering pressman 9th edition pdf
software engineering a practitioner's approach 9th edition
software engineering a practitioner's approach 9th edition pdf
software engineering a practitioner's approach 7th edition solution manual pdf
roger s. pressman
This lecture provide a review of requirement engineering process. The slides have been prepared after reading Ian Summerville and Roger Pressman work. This lecture is helpful to understand user, and user requirements.
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
Program versus Software, Software Characteristics, S/W Failure rate, Evolution Pattern, Types of Software, Stakeholders in Software Engineering, Software Quality, Software Crisis, Software Engineering: A Layered Technology, Evolution of Design Techniques, Exploratory style of S/W Development
Introduction to software engineering
Software products
Why Software is Important?
Software costs
Features of Software?
Software Applications
Software—New Categories
Software Engineering
Importance of Software Engineering
Essential attributes / Characteristics of good software
Software Components
Software Process
Five Activities of a Generic Process framework
Relative Costs of Fixing Software Faults
Software Qualities
Software crisis
Software Development Stages/SDLC
What is Software Verification
Advantages of Software Verification
Advantages of Validation
Kelis King offer involve conducting system testing to ensure correct operation, and integration testing to ensure the system integrates correctly with other required systems, such as databases.
Model Attribute Check Company Auto PropertyCeline George
In Odoo, the multi-company feature allows you to manage multiple companies within a single Odoo database instance. Each company can have its own configurations while still sharing common resources such as products, customers, and suppliers.
How to Split Bills in the Odoo 17 POS ModuleCeline George
Bills have a main role in point of sale procedure. It will help to track sales, handling payments and giving receipts to customers. Bill splitting also has an important role in POS. For example, If some friends come together for dinner and if they want to divide the bill then it is possible by POS bill splitting. This slide will show how to split bills in odoo 17 POS.
Palestine last event orientationfvgnh .pptxRaedMohamed3
An EFL lesson about the current events in Palestine. It is intended to be for intermediate students who wish to increase their listening skills through a short lesson in power point.
The Roman Empire A Historical Colossus.pdfkaushalkr1407
The Roman Empire, a vast and enduring power, stands as one of history's most remarkable civilizations, leaving an indelible imprint on the world. It emerged from the Roman Republic, transitioning into an imperial powerhouse under the leadership of Augustus Caesar in 27 BCE. This transformation marked the beginning of an era defined by unprecedented territorial expansion, architectural marvels, and profound cultural influence.
The empire's roots lie in the city of Rome, founded, according to legend, by Romulus in 753 BCE. Over centuries, Rome evolved from a small settlement to a formidable republic, characterized by a complex political system with elected officials and checks on power. However, internal strife, class conflicts, and military ambitions paved the way for the end of the Republic. Julius Caesar’s dictatorship and subsequent assassination in 44 BCE created a power vacuum, leading to a civil war. Octavian, later Augustus, emerged victorious, heralding the Roman Empire’s birth.
Under Augustus, the empire experienced the Pax Romana, a 200-year period of relative peace and stability. Augustus reformed the military, established efficient administrative systems, and initiated grand construction projects. The empire's borders expanded, encompassing territories from Britain to Egypt and from Spain to the Euphrates. Roman legions, renowned for their discipline and engineering prowess, secured and maintained these vast territories, building roads, fortifications, and cities that facilitated control and integration.
The Roman Empire’s society was hierarchical, with a rigid class system. At the top were the patricians, wealthy elites who held significant political power. Below them were the plebeians, free citizens with limited political influence, and the vast numbers of slaves who formed the backbone of the economy. The family unit was central, governed by the paterfamilias, the male head who held absolute authority.
Culturally, the Romans were eclectic, absorbing and adapting elements from the civilizations they encountered, particularly the Greeks. Roman art, literature, and philosophy reflected this synthesis, creating a rich cultural tapestry. Latin, the Roman language, became the lingua franca of the Western world, influencing numerous modern languages.
Roman architecture and engineering achievements were monumental. They perfected the arch, vault, and dome, constructing enduring structures like the Colosseum, Pantheon, and aqueducts. These engineering marvels not only showcased Roman ingenuity but also served practical purposes, from public entertainment to water supply.
Operation “Blue Star” is the only event in the history of Independent India where the state went into war with its own people. Even after about 40 years it is not clear if it was culmination of states anger over people of the region, a political game of power or start of dictatorial chapter in the democratic setup.
The people of Punjab felt alienated from main stream due to denial of their just demands during a long democratic struggle since independence. As it happen all over the word, it led to militant struggle with great loss of lives of military, police and civilian personnel. Killing of Indira Gandhi and massacre of innocent Sikhs in Delhi and other India cities was also associated with this movement.
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxEduSkills OECD
Andreas Schleicher presents at the OECD webinar ‘Digital devices in schools: detrimental distraction or secret to success?’ on 27 May 2024. The presentation was based on findings from PISA 2022 results and the webinar helped launch the PISA in Focus ‘Managing screen time: How to protect and equip students against distraction’ https://www.oecd-ilibrary.org/education/managing-screen-time_7c225af4-en and the OECD Education Policy Perspective ‘Students, digital devices and success’ can be found here - https://oe.cd/il/5yV
This is a presentation by Dada Robert in a Your Skill Boost masterclass organised by the Excellence Foundation for South Sudan (EFSS) on Saturday, the 25th and Sunday, the 26th of May 2024.
He discussed the concept of quality improvement, emphasizing its applicability to various aspects of life, including personal, project, and program improvements. He defined quality as doing the right thing at the right time in the right way to achieve the best possible results and discussed the concept of the "gap" between what we know and what we do, and how this gap represents the areas we need to improve. He explained the scientific approach to quality improvement, which involves systematic performance analysis, testing and learning, and implementing change ideas. He also highlighted the importance of client focus and a team approach to quality improvement.
Instructions for Submissions thorugh G- Classroom.pptxJheel Barad
This presentation provides a briefing on how to upload submissions and documents in Google Classroom. It was prepared as part of an orientation for new Sainik School in-service teacher trainees. As a training officer, my goal is to ensure that you are comfortable and proficient with this essential tool for managing assignments and fostering student engagement.
2. What is software?
Computer programs and associated documentation such as
requirements, design models and user manuals.
Software is
– instructions (computer programs) that when executed
provide desired features, function, and performance,
– data structures that enable the programs to adequately
manipulate information, and
– documents that describe the operation and use of the
programs
2
3. Software Types
• Software products may be developed for a particular
customer or may be developed for a general market.
Two fundamental types of software products –
1) Generic: developed to be sold to a range of different
customers who is able to buy ( e.g. Software for PCs such as
databases, word processors, drawings and project
management tools).
2) Bespoke (custom): developed for a particular customer
according to their specifications( e.g. Control system for
electronic devices, air traffic control system)
• New software can be created by developing new programs,
configuring generic software systems or reusing existing
software.
3
4. Software’s Dual Role
• Software is a product
– Transforms information - produces, manages, acquires,
modifies, displays, or transmits information
– Delivers computing potential of hardware and networks
• Software is a vehicle for delivering a product : Acts as
the basis for :
– Control of computer(operating system)
– Communication of information (networking software)
– Helps build and control other programs (software tools &
environments)
4
5. What is software engineering?
• Software engineering is an engineering discipline that is
concerned with all aspects of software production.
• Software engineering is the application of systematic,
disciplined, quantifiable approach to software development,
operation and maintenance.
• Designing, building and maintaining large software systems in
a cost-effective way.
5
6. Why is software engineering important?
• To develop methods for developing s/w that can scale up and be
used to consistently develop high-quality s/w at low cost.
• To avoid costly errors caused by software.
• Examples:
– Lost Voyager Spacecraft (one bad line of code caused failure)
– Commercial aircraft accidentally shot down during Gulf War
(poor user interface)
• The earlier you detect errors, the lower the money you have to
spend ( i.e. save money a lot )
• Software engineers should adopt a systematic and organized
approach to their work and use appropriate tools and
techniques depending on the problem to be solved, the
development constraints and the resources available.
6
8. Hardware vs. Software
Hardware Software
Manufactured
Wears out
Built using components
Relatively simple
Developed/engineered
Deteriorates
Custom built
Complex
8
9. Manufacturing vs. Development
• Once a hardware product has been manufactured, it
is difficult or impossible to modify. In contrast,
software products are routinely modified and
upgraded.
• In hardware, hiring more people allows you to
accomplish more work, but the same does not
necessarily hold true in software engineering.
• Unlike hardware, software costs are concentrated in
design rather than production.
9
10. Software Characteristics
• Software is both a product and a vehicle for
developing a product.
• Software is developed/engineered, not
manufactured.
• Software does not wear out, but it does deteriorate.
• Most software is still custom-built.
10
11. Failure curves for Hardware
11
Hardware wears out over time
Figure 1 : Hardware Failure curve(the Bathtub curve)
12. Failure curves for Hardware
Hardware Failure(the Bathtub curve):
• Initially high
– Design/Manufacturing defects
• Then failure rate drops
– Defects corrected
• Again increases
– Dust, vibration, abuse, high temperatures &
Environmental maladies
12
13. Failure curves for Software
13
Software deteriorates over time
Figure 2 : Software Failure curve
14. Failure curves for Software
Software Failures:
• High failure rates early in life
– Due to undiscovered defects
• Then failure rates drops & flattens ( ideal curve )
– Defects are corrected ( without introduction of
new bugs)
• Again failure rate increases ( actual curve )
– Due to CHANGE ( most software will eventually
undergo change)
14
15. Failure curves for Software
• How to reduce software deterioration?
– Do better software design
– Software Engineering methods strive to reduce
the magnitude of the spikes & slope of the actual
curve ( Figure 2 )
15
16. Legacy Software: Why must it change?
– It must be fixed to eliminate errors.
– It must be enhanced to implement new functional and
non-functional requirements
– Software must be adapted to meet the needs of new
computing environments or technology.
– Software must be enhanced to implement new business
requirements.
– Software must be extended to make it interoperable with
other more modern systems or databases.
– Software must be re-architected to make it viable within a
network environment.
16
17. Software Myths
– Affect managers, customers (and other non-technical
stakeholders) and practitioners
– Are believable because they often have elements of truth,
but …
– Invariably lead to bad decisions,
therefore …
– Insist on reality as you navigate your way through
software engineering
17
18. Management Myths
• “We already have a book of standards and procedures for
building software. It does provide my people with everything
they need to know …”
• “If my project is behind the schedule, I always can add more
programmers to it and catch up …”
(a.k.a. “The Mongolian Horde concept”)
• “If I decide to outsource the software project to a third party,
I can just relax: Let them build it, and I will just pocket my
profits …”
18
19. Customer Myths
• “A general statement of objectives is sufficient to
begin writing programs - we can fill in the details
later …”
• “Project requirements continually change but this
change can easily be accommodated because
software is flexible …”
19
20. Practitioner’s Myths vs. Reality
• “Let’s start coding ASAP, because once we write the
program and get it to work, our job is done …”
– It is only the beginning
• “Until I get the program running, I have no way of
assessing its quality …”
– Practice formal technical review
• Project requirements change continually and change
is easy to accommodate in the software design.
– Understand the requirements first , then write
codes. It costs more to change later.
20
21. Practitioner’s Myths vs. Reality
• “The only deliverable work product for a successful
project is the working program …”
– Working program is only one part of a software
configuration that includes many elements
• “Software engineering is baloney. It makes us create
tons of paperwork, only to slow us down …”
– Software engineering in not about creating documents, it
is about creating quality. Better quality leads to reduced
rework and reduced rework results in faster delivery times
21
22. What are the costs of software engineering?
• Roughly 60% of costs are development costs, 40%
are testing costs. For custom software, evolution
costs often exceed development costs.
• Costs vary depending on the type of system being
developed and the requirements of system
attributes such as performance and system
reliability.
• Distribution of costs depends on the development
model that is used.
22
23. What is CASE?
Computer-Aided Software Engineering
• Software systems that are intended to provide automated support for
software process activities.
• Covers a wide range of different types of programs that are used to
support software process activities such as requirements analysis, system
modelling, debugging and testing.
• CASE systems are often used for method support.
• Upper-CASE
– Tools to support the early process activities of requirements and
design
• Lower-CASE
– Tools to support later activities such as programming, debugging and
testing
23
24. What are the attributes of good software?
• The software should deliver the required functionality and
performance to the user and should be maintainable,
dependable and acceptable.
• Maintainability-Changing needs of customer
• Dependability-Safety, Security, Reliability
• Efficiency-Responsiveness, Processing time
• Usability- User friendly, adequate documentation
• Acceptability –Software must accepted by the users for
which it was designed. This means it must be
understandable, usable and compatible with other
systems.
24
25. What are the key challenges in software development?
• High cost
• Difficult to deliver on time
• Low quality
25