WHAT IS SOFTWARE ENGINEERING?
 Software Engineering (SE) is a profession dedicated to
designing, implementing, and modifying software, so that
it is of higher quality, more affordable, maintainable, and
faster to build.
OR
 Software engineering is the application of a systematic,
disciplined, quantifiable approach to the development,
operation, and maintenance of software; that is the application
of engineering to software.
Software Product
What is it?
Computer software is the product that software engineers
design and build. It encompasses programs that execute within
a computer of any size and architecture, documents that
encompass hard-copy and virtual forms, and data that combine
numbers and text but also includes representations of pictorial,
video, and audio information.
Who does it? – Software engineers.
Why is it important? – Coz it becomes a routine activity.
What are the steps?
You build computer software, by applying a process that leads
to a high-quality result that meets the needs of the people who
will use the product. You apply a software engineering
approach.
What is the work product?
The work product is the programs, documents, and data that are
computer software.
How do I ensure that I’ve done it right?
Check whether your implementation does the work which it has
to do.
What is a software process?
Software process is a framework of tasks that are required to
build high-quality software. A software process defines the
approach that is taken as software is engineered.
Software engineering is performed by creative, Knowledgeable
people who should work within a defined and mature software
process that is appropriate for the products they build and the
demands of their marketplace.
A Process Framework?
It is a foundation for a complete software process by identifying
a small number of framework activities that are applicable to all
software projects, regardless of their size or complexity.
Generic process framework:
1. Communication: It provides heavy communication and
collaboration with the customers.
2. Planning: The technical tasks which have to undertaken, the
risks that are likely to arise, the resources that are required.
3. Modeling: Creation of models happen here, so that both
developer and customer understand software requirements.
4. Construction: Here codes are generated and the testing is
undergone to remove the bugs.
5. Deployment: The product is delivered to the customer and the
feedback is acquired.
Software Attributes:
Maintainability, dependability, performance and usability.
Other attributes that may be significant could be reusability (can
it be reused in other applications), distributed (can it be
distributed over a network of processors), portability (can it
operate on multiple platforms) and inter-operability (can it
work with a wide range of other software systems).
Decompositions of the 4 key attributes e.g. dependability
decomposes to security, safety, availability, etc.
Software Engineering challenges:
1. Heterogeneity challenge: Software products always have varied
requirements such as distributed systems across networks that
include different types of computer.
New software systems sometimes becomes necessary to combine
with older systems written in different languages.
2. Delivery challenge: Software delivery time should be reduced
without compromising the quality of software.
3. Trust challenge: Many times software is accessed through web or
web service interface. The developer must develop the software such
that they trust the product.
Different Kinds of Software:
1. System Software: System software is a collection of
programs written to service other programs. Some system
software (e.g., compilers, editors, and file management utilities)
2. Real-time software. Software that monitors/analyzes/controls
real-world events as they occur is called real time.
3. Business software: Business information processing is the
largest single software application area. Discrete "systems" (e.g.,
payroll, accounts receivable/payable, inventory).
4. Engineering and scientific software: Computer-aided design,
system simulation, and other interactive applications have begun to
take on real-time and even system software characteristics.
e.g., volcanic eruptions, aerospace functioning,
5. Embedded software: Intelligent products have become
commonplace in nearly every consumer and industrial market.
Embedded software resides in read-only memory and is used to
control products and systems for the consumer and industrial markets.
e.g., microwave oven, fuel control, braking systems in vehicles.
6. Personal computer software: The personal computer software
market has burgeoned over the past two decades.
Word processing, spreadsheets, computer graphics, multimedia.
7. Web-based software: The Web pages retrieved by a browser
are software that incorporates executable instructions (e.g., CGI,
HTML, Perl, or Java), and data (e.g., hypertext and a variety of
visual and audio formats).
8. Artificial intelligence software: Artificial intelligence (AI)
software makes use of non numerical algorithms to solve
complex problems that are not amenable to computation or
straight forward analysis.
SOFTWARE ENGINEERING CHARACTERISTICS
1. Software engineering is engineering is engineered, not manufactured software
engineering i a logical, than a physical element.
2. High quality software engineering development can be achieved by good design.
Software engineering is not subject to manufacturing problems.
3. Software engineering does not wear out. There are no spare parts of software
which can be plug into, when software fails. A software engineering must be
reengineered to remove software engineering failures. All software failures are
caused by design faults.
4. Although software components are coming into use, as for software engineering
development, we have subroutine libraries –implement well define algorithms.
5. Software engineering does not degrade as time goes on. Software engineering
failures is often by design and implementation error – time and not by using it over
time. s

SE 1 Software Engineering.pptx

  • 1.
    WHAT IS SOFTWAREENGINEERING?  Software Engineering (SE) is a profession dedicated to designing, implementing, and modifying software, so that it is of higher quality, more affordable, maintainable, and faster to build. OR  Software engineering is 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.
    Software Product What isit? Computer software is the product that software engineers design and build. It encompasses programs that execute within a computer of any size and architecture, documents that encompass hard-copy and virtual forms, and data that combine numbers and text but also includes representations of pictorial, video, and audio information. Who does it? – Software engineers. Why is it important? – Coz it becomes a routine activity.
  • 3.
    What are thesteps? You build computer software, by applying a process that leads to a high-quality result that meets the needs of the people who will use the product. You apply a software engineering approach. What is the work product? The work product is the programs, documents, and data that are computer software. How do I ensure that I’ve done it right? Check whether your implementation does the work which it has to do.
  • 4.
    What is asoftware process? Software process is a framework of tasks that are required to build high-quality software. A software process defines the approach that is taken as software is engineered. Software engineering is performed by creative, Knowledgeable people who should work within a defined and mature software process that is appropriate for the products they build and the demands of their marketplace.
  • 5.
    A Process Framework? Itis a foundation for a complete software process by identifying a small number of framework activities that are applicable to all software projects, regardless of their size or complexity. Generic process framework: 1. Communication: It provides heavy communication and collaboration with the customers. 2. Planning: The technical tasks which have to undertaken, the risks that are likely to arise, the resources that are required.
  • 6.
    3. Modeling: Creationof models happen here, so that both developer and customer understand software requirements. 4. Construction: Here codes are generated and the testing is undergone to remove the bugs. 5. Deployment: The product is delivered to the customer and the feedback is acquired.
  • 7.
    Software Attributes: Maintainability, dependability,performance and usability. Other attributes that may be significant could be reusability (can it be reused in other applications), distributed (can it be distributed over a network of processors), portability (can it operate on multiple platforms) and inter-operability (can it work with a wide range of other software systems). Decompositions of the 4 key attributes e.g. dependability decomposes to security, safety, availability, etc.
  • 8.
    Software Engineering challenges: 1.Heterogeneity challenge: Software products always have varied requirements such as distributed systems across networks that include different types of computer. New software systems sometimes becomes necessary to combine with older systems written in different languages. 2. Delivery challenge: Software delivery time should be reduced without compromising the quality of software. 3. Trust challenge: Many times software is accessed through web or web service interface. The developer must develop the software such that they trust the product.
  • 9.
    Different Kinds ofSoftware: 1. System Software: System software is a collection of programs written to service other programs. Some system software (e.g., compilers, editors, and file management utilities) 2. Real-time software. Software that monitors/analyzes/controls real-world events as they occur is called real time. 3. Business software: Business information processing is the largest single software application area. Discrete "systems" (e.g., payroll, accounts receivable/payable, inventory).
  • 10.
    4. Engineering andscientific software: Computer-aided design, system simulation, and other interactive applications have begun to take on real-time and even system software characteristics. e.g., volcanic eruptions, aerospace functioning, 5. Embedded software: Intelligent products have become commonplace in nearly every consumer and industrial market. Embedded software resides in read-only memory and is used to control products and systems for the consumer and industrial markets. e.g., microwave oven, fuel control, braking systems in vehicles. 6. Personal computer software: The personal computer software market has burgeoned over the past two decades. Word processing, spreadsheets, computer graphics, multimedia.
  • 11.
    7. Web-based software:The Web pages retrieved by a browser are software that incorporates executable instructions (e.g., CGI, HTML, Perl, or Java), and data (e.g., hypertext and a variety of visual and audio formats). 8. Artificial intelligence software: Artificial intelligence (AI) software makes use of non numerical algorithms to solve complex problems that are not amenable to computation or straight forward analysis.
  • 12.
    SOFTWARE ENGINEERING CHARACTERISTICS 1.Software engineering is engineering is engineered, not manufactured software engineering i a logical, than a physical element. 2. High quality software engineering development can be achieved by good design. Software engineering is not subject to manufacturing problems. 3. Software engineering does not wear out. There are no spare parts of software which can be plug into, when software fails. A software engineering must be reengineered to remove software engineering failures. All software failures are caused by design faults. 4. Although software components are coming into use, as for software engineering development, we have subroutine libraries –implement well define algorithms. 5. Software engineering does not degrade as time goes on. Software engineering failures is often by design and implementation error – time and not by using it over time. s