SlideShare a Scribd company logo
1 of 19
Software Engineering
UNIT-1
Software and Software
Engineering
NATURE OF SOFTWARE:
 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
• document that describes the operation and use of the programs.
 Characteristics of software
• Software is developed or engineered, it is not manufactured in the classical sense.
• Software does not wear out. However it deteriorates due to change.
• Software is custom built rather than assembling existing components. - Although the
industry is moving towards component based construction, most software continues
to be custom built
Planning
Modelling
THE CHANGING NATURE OF SOFTWARE
Software application domains:
• Seven Broad Categories of software are challenges for software engineers
• System software- System software is a collection of programs
written to service other programs. System software: such as
compilers, editors, file management utilities.
• Application software: stand-alone programs for specific needs.This
software are used to controls business needs. Ex: Transaction processing.
• Artificial intelligence software- Artificial intelligence (AI)software makes
use of nonnumeric algorithms to solve complex problems. Application
within this area include robotics, pattern recognition, game playing.
• Engineering and scientific software-Engineering and scientific software
have been characterized by "number crunching" algorithm.
• Embedded software resides within a product or system. (key pad control
of a microwave oven, digital function of dashboard display in a car)
• Product-line software focus on a limited marketplace to address mass
consumer market. (word processing, graphics, database management)
• WebApps (Web applications) network centric software. As web 2.0
emerges, more sophisticated computing environments is supported
integrated with remote database and business applications.
Unique Nature of WebApps
The following attributes are encountered in the vast majority of WebApps.
• Network intensiveness: A WebApp resides on a network and must serve the needs of a
diverse community of clients. The network may enable worldwide access and
communication (i.e., the Internet) or more limited access and communication (e.g., a
corporate Intranet).
• Concurrency: A large number of users may access the WebApp at one time. In many
cases, the patterns of usage among end users will vary greatly.
• Unpredictable load: The number of users of the WebApp may vary by orders of
magnitude from day to day. One hundred users may show up on Monday; 10,000 may
use the system on Thursday.
• Performance: If a WebApp user must wait too long (for access, for server side
processing, for client-side formatting and display), he or she may decide to go elsewhere
• Immediacy: Although immediacy—the compelling need to get software to market
quickly—is a characteristic of many application domains, WebApps often exhibit a time-
to-market that can be a matter of a few days or weeks.
• Security: Because WebApps are available via network access, it is difficult, if not
impossible, to limit the population of end users who may access the application. In order
to protect sensitive content and provide secure modes of data transmission, strong
security measures must be implemented throughout the infrastructure that supports a
WebApp and within the application itself.
• Availability: Although expectation of 100 percent availability is
unreasonable, users of popular WebApps often demand access on a
24/7/365 basis. Users in Australia or Asia might demand access during
times when traditional domestic software applications in North America
might be taken off-line for maintenance.
• Data driven: The primary function of many WebApps is to use hypermedia
to present text, graphics, audio, and video content to the end user. In
addition, WebApps are commonly used to access information that exists on
databases that are not an integral part of the Web-based environment
(e.g., e-commerce or financial applications).
• Content sensitive: The quality and aesthetic nature of content remains an
important determinant of the quality of a WebApp.
• Continuous evolution: Unlike conventional application software that
evolves over a series of planned, chronologically spaced releases, Web
applications evolve continuously. It is not unusual for some WebApps
(specifically, their content) to be updated on a minute-by-minute schedule
or for content to be independently computed for each request.
• Aesthetics. An undeniable part of the appeal of a WebApp is its look and
feel. When an application has been designed to market or sell products or
ideas, aesthetics may have as much to do with success as technical design.
SOFTWARE ENGINEERING
• [Software engineering is] the establishment and use of sound
engineering principles in order to obtain economically software that
is reliable and works efficiently on real machines.
• Or
• 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.
Softwareengineering - Layeredtechnology
• Software engineering is a fully layered technology.
• To develop a software, we need to go from one layer to
• another.
• All these layers are related to each other and each layer demands the
fulfillment of the previous layer.
The layered technology consists of:
Quality focus
The characteristics of good quality software are:
• Correctness of the functions required to be performed by the software.
• Integrity i.e. providing security so that the unauthorized user cannot
• access information or data.
• Usability i.e. the efforts required to use or operate the software.
Process
• It is the base layer or foundation layer for the software engineering. It covers all
activities, actions and tasks required to be carried out for software development.
Methods
• It provides the technical way to implement the software. It includes collection of
tasks starting from communication, requirement analysis, analysis and design
modelling, program construction, testing and support.
Tools
• The software engineering tool is an automated support for the software
development. The tools are integrated i.e the information created by one tool
can be used by the other tool.
The software process
 A process is a collection of activities, actions, and tasks that are performed when some work product is to
be created. An action encompasses a set of tasks that produce a major work .A task focuses on a small, but
well-defined objective that produces a tangible outcome.
 A generic process framework for software engineering encompasses five activities:
Communication:
• Before any technical work can commence, it is critically important to communicate and collaborate with the
customer (and other stakeholders11 The intent is to understand stakeholders’ objectives for the project and
to gather requirements that help define software features and functions.
Planning:
• Any complicated journey can be simplified if a map exists. The map— called a software project plan—
defines the software engineering work by describing the technical tasks to be conducted, the risks that are
likely, the resources that will be required, the work products to be produced, and a work schedule.
Modeling:
• A software engineer creating models to better understand software requirements and the design that will
achieve those requirements.
Construction:
• This activity combines code generation (either manual or automated) and the testing that is required to
uncover errors in the code.
Deployment:
• The software (as a complete entity or as a partially completed increment) is delivered to the customer who
evaluates the delivered product and provides feedback based on the evaluation.
Software engineering process framework activities are complemented by a
number of umbrella activities. Typical umbrella activities include:
• Software project tracking and control—allows the software team to assess
progress against the project plan and take any necessary action to maintain the
schedule.
• Risk management—assesses risks that may affect the outcome of the project or
the quality of the product.
• Software quality assurance—defines and conducts the activities required to
ensure software quality.
• Technical reviews—assesses software engineering work products in an effort to
uncover and remove errors before they are propagated to the next activity.
• Measurement—defines and collects process, project, and product measures that
assist the team in delivering software that meets stakeholders’ needs; can be
used in conjunction with all other framework and umbrella activities.
• Software configuration management—manages the effects of change
throughout the software process.
• Reusability management—defines criteria for work product reuse (including
software components) and establishes mechanisms to achieve reusable
components.
• Work product preparation and production—encompasses the activities required
to create work products such as models, documents, logs, forms, and lists.
Software engineering practice
The Essence of Practice
1. Understand the problem
• communication and analysis
2. Plan a solution
• modelling and software design
3. Carry out the plan
• code generation
4. Examine the result for accuracy
• testing and quality assurance
Software Engineering General Principles
• The First Principle: The Reason It All Exists - A software system exists
for one reason: to provide value to its users. All decisions should be
made with this in mind. Before specifying a system requirement,
before noting a piece of system functionality, before determining the
hardware platforms or development processes, ask yourself questions
such as: “Does this add real value to the system?” If the answer is
“no,” don’t do it. All other principles support this one.
• The Second Principle: KISS (Keep It Simple, Stupid!) - All design
should be as simple as possible, but no simpler. This is not to say that
features, even internal features, should be discarded in the name of
simplicity.
• The Third Principle: Maintain the Vision - A clear vision is essential to
the success of a software Project.
• The Fourth Principle: What You Produce, Others Will Consume –, Always
specify, design, and implement knowing someone else will have to
understand what you are doing. The audience for any product of software
development is potentially large. Specify with an eye to the users.
• The Fifth Principle: Be Open to the Future - A system with a long lifetime
has more value. these systems must be ready to adapt to these and other
changes.
• The Sixth Principle: Plan Ahead for Reuse - Reuse saves time and effort.
The reuse of code and designs has been major benefit of using object-
oriented technologies.
• The Seventh principle: Think! - Placing clear, complete thought before
action almost always produces better results. When you think about
something, you are more likely to do it right. You also gain knowledge
about how to do it right again. If you do think about something and still do
it wrong, it becomes a valuable experience
SOFTWARE MYTHS
• Software myths erroneous beliefs about software and the process
that is used to build it can be traced to the earliest days of
computing.
• Today, most knowledgeable software engineering professionals
recognize myths for what they are misleading attitudes that have
caused serious problems for managers and practitioners alike.
However, old attitudes and habits are difficult to modify, and
remnants of software myths remain.
1)Management myths
2)Customer myths
3)Practitioner myths
Management myths
• Managers with software responsibility, like managers in most
disciplines, are often under pressure to maintain budgets, keep
schedules from slipping, and improve quality.
• Myth: We already have a book that’s full of standards and procedures
for building software. Won’t that provide my people with everything
they need to know?
• Reality: The book of standards may very well exist, but is it used? Are
software practitioners aware of its existence? Does it reflect modern
software engineering practice? Is it complete? Is it adaptable? Is it
streamlined to improve time-to-delivery while still maintaining a
focus on quality? In many cases, the answer to all of these questions
is “no.”
Customer myths.
• A customer who requests computer software may be a person
at the next desk, a technical group down the hall, the
marketing/sales department, or an outside company that has
requested software under contract
•Myth: A general statement of objectives is sufficient to begin
writing programs we can fill in the details later.
• Reality: Although a comprehensive and stable statement of
requirements is not always possible, an ambiguous “statement of
objectives” is a recipe for disaster. Unambiguous requirements
(usually derived iteratively) are developed only through effective
and continuous communication between customer and
developer.
Practitioner’s myths.
• Myths that are still believed by software practitioners have been
fostered by over 50 years of programming culture. During the
early days, programming was viewed as an art form. Old ways
and attitudes die hard.
• Myth: Once we write the program and get it to work, our job is
done.
• Reality: Someone once said that “the sooner you begin ‘writing
code,’ the longer it’ll take you to get done.” Industry data indicate
that between 60 and 80 percent of all effort expended on
software will be expended after it is delivered to the customer for
the first time.

More Related Content

Similar to Unit_1(Software and Software Engineering).pptx

Unit 1 importance ofsoftengg_b.tech iii year
Unit 1  importance ofsoftengg_b.tech iii yearUnit 1  importance ofsoftengg_b.tech iii year
Unit 1 importance ofsoftengg_b.tech iii yearPreeti Mishra
 
Unit 1 introduction tosoftengg_mba tech ii year
Unit 1  introduction tosoftengg_mba tech ii yearUnit 1  introduction tosoftengg_mba tech ii year
Unit 1 introduction tosoftengg_mba tech ii yearPreeti Mishra
 
unit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshunit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshsagarjsicg
 
Software engineering
Software engineeringSoftware engineering
Software engineeringnimmik4u
 
BSC Software & Software engineering-UNIT-IV
BSC Software & Software engineering-UNIT-IVBSC Software & Software engineering-UNIT-IV
BSC Software & Software engineering-UNIT-IVYamunaP6
 
Software Engineering pdf
Software Engineering pdfSoftware Engineering pdf
Software Engineering pdfKieveBarreto1
 
Introduction to Software engineering ch03
Introduction to Software engineering ch03Introduction to Software engineering ch03
Introduction to Software engineering ch03YousefYassin5
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringSanthia RK
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGPreeti Mishra
 
SWE-610-Lec-1-Software-Intro duction(1).pptx
SWE-610-Lec-1-Software-Intro duction(1).pptxSWE-610-Lec-1-Software-Intro duction(1).pptx
SWE-610-Lec-1-Software-Intro duction(1).pptxnohaaalrajhi
 
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)ShudipPal
 

Similar to Unit_1(Software and Software Engineering).pptx (20)

Unit 1 importance ofsoftengg_b.tech iii year
Unit 1  importance ofsoftengg_b.tech iii yearUnit 1  importance ofsoftengg_b.tech iii year
Unit 1 importance ofsoftengg_b.tech iii year
 
Unit 1 introduction tosoftengg_mba tech ii year
Unit 1  introduction tosoftengg_mba tech ii yearUnit 1  introduction tosoftengg_mba tech ii year
Unit 1 introduction tosoftengg_mba tech ii year
 
SE Lecture 1.ppt
SE Lecture 1.pptSE Lecture 1.ppt
SE Lecture 1.ppt
 
SE Lecture 1.ppt
SE Lecture 1.pptSE Lecture 1.ppt
SE Lecture 1.ppt
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
unit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshunit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbsh
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
UNIT-I.pptx
UNIT-I.pptxUNIT-I.pptx
UNIT-I.pptx
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
BSC Software & Software engineering-UNIT-IV
BSC Software & Software engineering-UNIT-IVBSC Software & Software engineering-UNIT-IV
BSC Software & Software engineering-UNIT-IV
 
SE Unit-1.pptx
SE Unit-1.pptxSE Unit-1.pptx
SE Unit-1.pptx
 
Software Engineering pdf
Software Engineering pdfSoftware Engineering pdf
Software Engineering pdf
 
SE UNIT-1.pptx
SE UNIT-1.pptxSE UNIT-1.pptx
SE UNIT-1.pptx
 
Introduction to Software engineering ch03
Introduction to Software engineering ch03Introduction to Software engineering ch03
Introduction to Software engineering ch03
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERING
 
SWE-610-Lec-1-Software-Intro duction(1).pptx
SWE-610-Lec-1-Software-Intro duction(1).pptxSWE-610-Lec-1-Software-Intro duction(1).pptx
SWE-610-Lec-1-Software-Intro duction(1).pptx
 
software engineering
software engineeringsoftware engineering
software engineering
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)
 

Recently uploaded

Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 

Recently uploaded (20)

Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 

Unit_1(Software and Software Engineering).pptx

  • 2. NATURE OF SOFTWARE:  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 • document that describes the operation and use of the programs.  Characteristics of software • Software is developed or engineered, it is not manufactured in the classical sense. • Software does not wear out. However it deteriorates due to change. • Software is custom built rather than assembling existing components. - Although the industry is moving towards component based construction, most software continues to be custom built Planning Modelling
  • 3.
  • 4. THE CHANGING NATURE OF SOFTWARE Software application domains: • Seven Broad Categories of software are challenges for software engineers • System software- System software is a collection of programs written to service other programs. System software: such as compilers, editors, file management utilities. • Application software: stand-alone programs for specific needs.This software are used to controls business needs. Ex: Transaction processing. • Artificial intelligence software- Artificial intelligence (AI)software makes use of nonnumeric algorithms to solve complex problems. Application within this area include robotics, pattern recognition, game playing.
  • 5. • Engineering and scientific software-Engineering and scientific software have been characterized by "number crunching" algorithm. • Embedded software resides within a product or system. (key pad control of a microwave oven, digital function of dashboard display in a car) • Product-line software focus on a limited marketplace to address mass consumer market. (word processing, graphics, database management) • WebApps (Web applications) network centric software. As web 2.0 emerges, more sophisticated computing environments is supported integrated with remote database and business applications.
  • 6. Unique Nature of WebApps The following attributes are encountered in the vast majority of WebApps. • Network intensiveness: A WebApp resides on a network and must serve the needs of a diverse community of clients. The network may enable worldwide access and communication (i.e., the Internet) or more limited access and communication (e.g., a corporate Intranet). • Concurrency: A large number of users may access the WebApp at one time. In many cases, the patterns of usage among end users will vary greatly. • Unpredictable load: The number of users of the WebApp may vary by orders of magnitude from day to day. One hundred users may show up on Monday; 10,000 may use the system on Thursday. • Performance: If a WebApp user must wait too long (for access, for server side processing, for client-side formatting and display), he or she may decide to go elsewhere • Immediacy: Although immediacy—the compelling need to get software to market quickly—is a characteristic of many application domains, WebApps often exhibit a time- to-market that can be a matter of a few days or weeks. • Security: Because WebApps are available via network access, it is difficult, if not impossible, to limit the population of end users who may access the application. In order to protect sensitive content and provide secure modes of data transmission, strong security measures must be implemented throughout the infrastructure that supports a WebApp and within the application itself.
  • 7. • Availability: Although expectation of 100 percent availability is unreasonable, users of popular WebApps often demand access on a 24/7/365 basis. Users in Australia or Asia might demand access during times when traditional domestic software applications in North America might be taken off-line for maintenance. • Data driven: The primary function of many WebApps is to use hypermedia to present text, graphics, audio, and video content to the end user. In addition, WebApps are commonly used to access information that exists on databases that are not an integral part of the Web-based environment (e.g., e-commerce or financial applications). • Content sensitive: The quality and aesthetic nature of content remains an important determinant of the quality of a WebApp. • Continuous evolution: Unlike conventional application software that evolves over a series of planned, chronologically spaced releases, Web applications evolve continuously. It is not unusual for some WebApps (specifically, their content) to be updated on a minute-by-minute schedule or for content to be independently computed for each request. • Aesthetics. An undeniable part of the appeal of a WebApp is its look and feel. When an application has been designed to market or sell products or ideas, aesthetics may have as much to do with success as technical design.
  • 8. SOFTWARE ENGINEERING • [Software engineering is] the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines. • Or • 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.
  • 9. Softwareengineering - Layeredtechnology • Software engineering is a fully layered technology. • To develop a software, we need to go from one layer to • another. • All these layers are related to each other and each layer demands the fulfillment of the previous layer.
  • 10. The layered technology consists of: Quality focus The characteristics of good quality software are: • Correctness of the functions required to be performed by the software. • Integrity i.e. providing security so that the unauthorized user cannot • access information or data. • Usability i.e. the efforts required to use or operate the software. Process • It is the base layer or foundation layer for the software engineering. It covers all activities, actions and tasks required to be carried out for software development. Methods • It provides the technical way to implement the software. It includes collection of tasks starting from communication, requirement analysis, analysis and design modelling, program construction, testing and support. Tools • The software engineering tool is an automated support for the software development. The tools are integrated i.e the information created by one tool can be used by the other tool.
  • 11. The software process  A process is a collection of activities, actions, and tasks that are performed when some work product is to be created. An action encompasses a set of tasks that produce a major work .A task focuses on a small, but well-defined objective that produces a tangible outcome.  A generic process framework for software engineering encompasses five activities: Communication: • Before any technical work can commence, it is critically important to communicate and collaborate with the customer (and other stakeholders11 The intent is to understand stakeholders’ objectives for the project and to gather requirements that help define software features and functions. Planning: • Any complicated journey can be simplified if a map exists. The map— called a software project plan— defines the software engineering work by describing the technical tasks to be conducted, the risks that are likely, the resources that will be required, the work products to be produced, and a work schedule. Modeling: • A software engineer creating models to better understand software requirements and the design that will achieve those requirements. Construction: • This activity combines code generation (either manual or automated) and the testing that is required to uncover errors in the code. Deployment: • The software (as a complete entity or as a partially completed increment) is delivered to the customer who evaluates the delivered product and provides feedback based on the evaluation.
  • 12. Software engineering process framework activities are complemented by a number of umbrella activities. Typical umbrella activities include: • Software project tracking and control—allows the software team to assess progress against the project plan and take any necessary action to maintain the schedule. • Risk management—assesses risks that may affect the outcome of the project or the quality of the product. • Software quality assurance—defines and conducts the activities required to ensure software quality. • Technical reviews—assesses software engineering work products in an effort to uncover and remove errors before they are propagated to the next activity. • Measurement—defines and collects process, project, and product measures that assist the team in delivering software that meets stakeholders’ needs; can be used in conjunction with all other framework and umbrella activities. • Software configuration management—manages the effects of change throughout the software process. • Reusability management—defines criteria for work product reuse (including software components) and establishes mechanisms to achieve reusable components. • Work product preparation and production—encompasses the activities required to create work products such as models, documents, logs, forms, and lists.
  • 13. Software engineering practice The Essence of Practice 1. Understand the problem • communication and analysis 2. Plan a solution • modelling and software design 3. Carry out the plan • code generation 4. Examine the result for accuracy • testing and quality assurance
  • 14. Software Engineering General Principles • The First Principle: The Reason It All Exists - A software system exists for one reason: to provide value to its users. All decisions should be made with this in mind. Before specifying a system requirement, before noting a piece of system functionality, before determining the hardware platforms or development processes, ask yourself questions such as: “Does this add real value to the system?” If the answer is “no,” don’t do it. All other principles support this one. • The Second Principle: KISS (Keep It Simple, Stupid!) - All design should be as simple as possible, but no simpler. This is not to say that features, even internal features, should be discarded in the name of simplicity. • The Third Principle: Maintain the Vision - A clear vision is essential to the success of a software Project.
  • 15. • The Fourth Principle: What You Produce, Others Will Consume –, Always specify, design, and implement knowing someone else will have to understand what you are doing. The audience for any product of software development is potentially large. Specify with an eye to the users. • The Fifth Principle: Be Open to the Future - A system with a long lifetime has more value. these systems must be ready to adapt to these and other changes. • The Sixth Principle: Plan Ahead for Reuse - Reuse saves time and effort. The reuse of code and designs has been major benefit of using object- oriented technologies. • The Seventh principle: Think! - Placing clear, complete thought before action almost always produces better results. When you think about something, you are more likely to do it right. You also gain knowledge about how to do it right again. If you do think about something and still do it wrong, it becomes a valuable experience
  • 16. SOFTWARE MYTHS • Software myths erroneous beliefs about software and the process that is used to build it can be traced to the earliest days of computing. • Today, most knowledgeable software engineering professionals recognize myths for what they are misleading attitudes that have caused serious problems for managers and practitioners alike. However, old attitudes and habits are difficult to modify, and remnants of software myths remain. 1)Management myths 2)Customer myths 3)Practitioner myths
  • 17. Management myths • Managers with software responsibility, like managers in most disciplines, are often under pressure to maintain budgets, keep schedules from slipping, and improve quality. • Myth: We already have a book that’s full of standards and procedures for building software. Won’t that provide my people with everything they need to know? • Reality: The book of standards may very well exist, but is it used? Are software practitioners aware of its existence? Does it reflect modern software engineering practice? Is it complete? Is it adaptable? Is it streamlined to improve time-to-delivery while still maintaining a focus on quality? In many cases, the answer to all of these questions is “no.”
  • 18. Customer myths. • A customer who requests computer software may be a person at the next desk, a technical group down the hall, the marketing/sales department, or an outside company that has requested software under contract •Myth: A general statement of objectives is sufficient to begin writing programs we can fill in the details later. • Reality: Although a comprehensive and stable statement of requirements is not always possible, an ambiguous “statement of objectives” is a recipe for disaster. Unambiguous requirements (usually derived iteratively) are developed only through effective and continuous communication between customer and developer.
  • 19. Practitioner’s myths. • Myths that are still believed by software practitioners have been fostered by over 50 years of programming culture. During the early days, programming was viewed as an art form. Old ways and attitudes die hard. • Myth: Once we write the program and get it to work, our job is done. • Reality: Someone once said that “the sooner you begin ‘writing code,’ the longer it’ll take you to get done.” Industry data indicate that between 60 and 80 percent of all effort expended on software will be expended after it is delivered to the customer for the first time.