Software engineering is the application of engineering principles to software development. It includes systematic processes for developing, operating, and maintaining software. The document discusses the definition of software engineering, why it is important given historical issues with software projects, the software development life cycle including requirements, design, coding, testing, and maintenance phases, and core roles in software engineering projects.
Social development club is a leading course content provider of India with a key focus on skilling courseware development. We deliver complete package required to deliver the Skill development program effectively. We develop NCVT and SSC aligned courses of all the domains and for all the schemes.
Contact: sdccourses@gmail.com, http://www.socialdevelopment.club
Objectives:
1. To understand the different processes in the realm of ‘Requirements Engineering’.
2. To see the challenges in requirements development and the importance of getting requirements right in an IT project.
3. To understand the different techniques used in different phases and processes of requirements development and management.
Social development club is a leading course content provider of India with a key focus on skilling courseware development. We deliver complete package required to deliver the Skill development program effectively. We develop NCVT and SSC aligned courses of all the domains and for all the schemes.
Contact: sdccourses@gmail.com, http://www.socialdevelopment.club
Objectives:
1. To understand the different processes in the realm of ‘Requirements Engineering’.
2. To see the challenges in requirements development and the importance of getting requirements right in an IT project.
3. To understand the different techniques used in different phases and processes of requirements development and management.
Understanding change impact across the electronics software, hardware, and fi...Ad Ghauri
Business Challenges
- Software development is often isolated from other development groups
- Source code management is usually performed in isolated SCM applications
- Software components are not managed within the product configuration
- Software build workflow processes are inconsistent with product development
- Software features are not traceable to product requirements
Software maintenance and configuration management, software engineeringRupesh Vaishnav
Types of Software Maintenance, Re-Engineering, Reverse Engineering, Forward Engineering, The SCM Process, Identification of Objects in the Software Configuration, Version
Control and Change Control
[2015/2016] Software systems engineering PRINCIPLESIvano Malavolta
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
SharePoint for Pharma - Computer System Life Cycle ManagementMontrium
SharePoint for Pharma - Computer System Life Cycle Management
Presented by Michael Zwetkow, VP Operations, Montrium Inc.
For more information on Montrium please visit:
- www.montrium.com
- www.twitter.com/Montrium
- www.youtube.com/Montrium
- gplus.to/Montrium
or email info@montrium.com
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
Understanding change impact across the electronics software, hardware, and fi...Ad Ghauri
Business Challenges
- Software development is often isolated from other development groups
- Source code management is usually performed in isolated SCM applications
- Software components are not managed within the product configuration
- Software build workflow processes are inconsistent with product development
- Software features are not traceable to product requirements
Software maintenance and configuration management, software engineeringRupesh Vaishnav
Types of Software Maintenance, Re-Engineering, Reverse Engineering, Forward Engineering, The SCM Process, Identification of Objects in the Software Configuration, Version
Control and Change Control
[2015/2016] Software systems engineering PRINCIPLESIvano Malavolta
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
SharePoint for Pharma - Computer System Life Cycle ManagementMontrium
SharePoint for Pharma - Computer System Life Cycle Management
Presented by Michael Zwetkow, VP Operations, Montrium Inc.
For more information on Montrium please visit:
- www.montrium.com
- www.twitter.com/Montrium
- www.youtube.com/Montrium
- gplus.to/Montrium
or email info@montrium.com
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
https://www.learntek.org/blog/sdlc-phases/
https://www.learntek.org/
Learntek is global online training provider on Big Data Analytics, Hadoop, Machine Learning, Deep Learning, IOT, AI, Cloud Technology, DEVOPS, Digital Marketing and other IT and Management courses.
https://www.learntek.org/blog/sdlc-phases/
https://www.learntek.org/
Learntek is global online training provider on Big Data Analytics, Hadoop, Machine Learning, Deep Learning, IOT, AI, Cloud Technology, DEVOPS, Digital Marketing and other IT and Management courses.
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.
fter Completing this chapter you should be able to:
understand what software engineering is and why it is important;
understand the concepts of software processes and software process models;
Compare and contrast a variety of models
understand some ethical and professional issues that are important for software engineers;
CMMI High Maturity Best Practices HMBP 2010: CMMI® FOR SERVICES: INSIGHTS AND...QAI
CMMI® FOR SERVICES: INSIGHTS AND BEYOND
-Rajesh Naik
QAI.
presented at 1st International Collquium on CMMI High Maturity Best Practices 2010 held on May 21,2010 organized by QAI
CMMI High Maturity Best Practices HMBP 2010: Deploying High Maturity Practice...QAI
Deploying High Maturity Practices Globally by Kaliappan M(Head Quality, HP) presented at 1st International Colloquium on CMMI High Maturity Best Practices (HMBP 2010) held on May 21,2010 organized by QAI
CMMI High Maturity Best Practices HMBP 2010: CMMI® FOR SERVICES: INSIGHTS AND...QAI
CMMI® FOR SERVICES: INSIGHTS AND BEYOND
-Rajesh Naik
QAI.
presented at 1st International Collquium on CMMI High Maturity Best Practices 2010 held on May 21,2010 organized by QAI
CMMI High Maturity Best Practices HMBP 2010: Demystifying High Maturity Imple...QAI
Demystifying High Maturity Implementation Using Statistical Tools & Techniques
-Sreenivasa M. Gangadhara
Ajay Simha
Archana V. Kumar
(Honewell Technology Solutions Lab)
.
presented at
1st International Colloquium on CMMI High Maturity Best Practices held on May 21, 2010, organized by QAI
CMMI High Maturity Best Practices HMBP 2010: Process Performance Models:Not N...QAI
Process Performance Models:Not Necessarily Complex -Himanshu Pandey and Nishu Lohia(Aricent Technologies) presented at
1st International Colloquium on CMMI High Maturity Best Practices held on May 21, 2010, organized by QAI
4. Types of Software
• Application software - Application software is used to provide
services to customers and run businesses more efficiently.
Examples: accounting system, a management information
system (MIS), and an enterprise resource planning (ERP)
system.
• System software - System software is used to operate and
maintain a computer system. It enables customers to use the
computer resources directly and through other software.
Examples: operating systems, compilers, and system utilities.
What is embedded software?
4
5. Engineering Principles
• Fundamental engineering principles:
– Understanding the problem
– Communicating with the customer
– Defined methods for designing
– Best practices for implementing the solution
– Good strategy and tactics for testing
5
6. Engineering and Software Engineering
• Engineering is the systematic application of scientific
knowledge in creating and building cost-effective solutions to
practical problems in the service of mankind.
• Software engineering is that form of engineering that applies
the principles of computer science and mathematics to
achieving cost-effective solutions to software problems.
1990 SEI Report on Undergraduate Software Engineering Education
( CMU/SEI-90-TR-003 )
6
7. What is Software Engineering
• The term “software engineering” was first coined at
the 1968 NATO conference where Mr. Bauer was a
principle organizer
• The term “Software Engineering” has been around
for 34 years!
7
8. Why Software Engineering?
• A 1994 study by the Standash Group of 8,380
projects in the government and private sectors in
the U.S. showed that:
- 31% of software projects are cancelled before they are
completed.
- 53% of those are completed cost an average of 189% of their
original estimates.
- of those 53%, only 42% have their original set of proposed
features and functions.
- only 9% of the projects were completed on time and within
budget.
8
9. Software Engineering Layers
• Process: A framework that helps the project manager control
project management and engineering activities
• Methods: The technical activities required for the creation of
work products
• Tools: The automated assistance for processes and methods
9
10. Software Engineering
• Objectives - to ensure that
– software delivers functionality, features
– project is completed on time
– project is completed within budget
– software is manageable
– software is changeable and long living
– system is maintainable by a developer who is not part of the original
design team
The application of a systematic, disciplined, quantifiable
approach to the development, operation, and maintenance of
software :
The application of engineering to software
14
12. Software Life Cycle
• The period of time that begins when a software
product is conceived and ends when the software is
no longer available for use
– phases overlap, are performed iteratively, etc.
– different approaches possible
– another common term - SDLC
• Software life cycle models are also called software
engineering paradigms
16
13. Sample Software Life Cycle
Concept Exploration
Requirements Analysis
Design
Coding
Test
Installation
Operation/ Maintenance
Retirement
17
15. Software Requirements
• A consolidated set of requirements explaining the
business needs of the customer
• Translation of the customer requirements to the
requirements of the software to be built
• Important concepts
– Technical requirements
– Non technical requirements
– Functional requirements
– Non Functional requirements
– Scope of Work as an input
– Acceptance criteria
19
17. Software Design
• A representation of software created to facilitate analysis,
planning, implementation and decision making
• The software design description is used as a medium for
communicating software design information, and may be
thought of as a blueprint of the system
• Often described as :
– high level (system design, global design, interfaces)
– low level (program / component level)
• Format, contents depend on type of application, objective
and audience
21
18. Coding
• Expressing a design (implementing a design) in a programming
language based on program specifications
• The main visible work
• Also called programming or construction or development phase
22
19. Testing
• Checking whether the software product meets
requirements
• The purpose of testing is to uncover as many
problems as possible
• If coder and tester are same, testing may be biased
23
20. User Acceptance
• Acceptance criteria forms the basis of acceptance of
the product / deliverable
– Criteria to be frozen early
– to be agreed between the supplier and customer
– E.g.,
• No defects in core functionalities
• Performance criteria within a tolerance of + and – 2 %
• No interoperability issues
• The user may do an acceptance testing before
accepting the system
24
21. Installation and Change over
• Moving the system to the customer site
• User training
• Parallel run
• Installation manual / instructions
• Environment set up
25
22. Operations and Maintenance
• The “real purpose” of the system
• The largest phase
• Changes required to systems for various reasons -
problems to be fixed, new requirements, changes in
policies, statutory laws, etc.
• Often treated as a separate project
26
23. Software Engineering SDLC
• Software Development Life Cycles
– Classic life cycle
• a sequential paradigm
– Prototyping
• a modeling paradigm
– Evolutionary models like
• Incremental
• Spiral, etc.
27
24. Core Activities & Role
Core Activities Role
Business Requirement Business Analyst
Software Requirement System Analyst
Design Tech Lead/Architect
Coding Developer
Testing Testing Engineer
Deployment Developers
28
25. Supporting Activities and role
Supporting Activities Role
Project Management Project Manager
Project Leader
Senior Management
Software Configuration Configuration Controller
Management Software Configuration Control
Board
Quality Assurance SQA Analyst
Auditor
29