SlideShare a Scribd company logo
1 of 41
Computer Science Department
Introduction
Chapter 01
Contents:
Overview
Professional software development
Software engineering
Software engineering diversity
3
Introduction
Overview
Different types of software systems exist:
From simple embedded systems to complex, worldwide information systems
Organizational information system & Controller
Developing an organizational information system is completely different
from developing a controller for a scientific instrument
Graphics-intensive computer game
Neither of these systems has much in common with a graphics-intensive
computer game.
Introduction
Different approaches are required for different types of software
It is pointless to look for universal notations, methods, or techniques for
software engineering
Same software engineering techniques are not required
All of these applications need software engineering; they do not all need
the same software engineering techniques.
Overview (cont.,)
1. Increasing demands
Demands change as new software engineering techniques help us to build
larger, more complex systems
Larger & even more complex systems are required
systems have to have new capabilities that were previously
thought to be impossible
Existing software engineering methods cannot cope
New software engineering techniques have to be developed to meet
new demands
Introduction
There are still many reports of software projects going wrong and ‘software failures’.
many of these so-called software failures
are a consequence of two factors
Software Failures
Two factors:
Overview (cont.,)
2. Low expectations
It is easy to write computer programs without software engineering
Introduction
Not using
software engineering
methods
Software
more expensive
less reliable
without software engineering
It is easy to write
computer programs
Result
Professional software development
Professional software development
Software engineering supports professional software development
If writing a program for yourself
No need program guides
No need program design to document
Etc.
No one else will use it
If writing software for people
Engineers will change it
You have to provide additional information & code
SE techniques supports:
program specification,
design, and evolution
None of which are normally relevant for personal
software development
Software Products
Professional software development
Software engineers are concerned with developing software products
There are two kinds of software products:
Generic products
These are stand-alone systems
Produced by a development organization
Sold on the open market to any customer
Examples
software for PCs, like:
databases,
word processors,
drawing packages, and
project-management tools.
Software Products (cont.,)
Professional software development
Customized (or bespoke) products
Systems that are commissioned by a particular customer
A software contractor develops the software for that customer
Examples
Control systems for electronic devices,
Systems to support a business process,
Air traffic control systems
Software engineering
Software engineering
Software engineering is an engineering discipline that is concerned with
all aspects of software production from the early stages of system
specification through to maintaining the system after it has gone into use.
In this definition, there are two key phrases:
Engineering discipline
Engineers apply theories, methods, and tools where these
are appropriate.
to discover solutions to problems
to discover solutions even when there are no applicable
theories and methods.
Look for solutions within these constraints
Engineers must work to organizational and financial constraints so
they look for solutions within these constraints.
All aspects of software production
It also includes activities, such as:
software project management
development of tools, methods,
theories to support software production.
Software engineering
Software engineering is important for two reasons:
1. Individuals and society rely on advanced software systems
It is required to produce reliable and trustworthy systems
economically and quickly.
2. It is usually cheaper, in the long run, to use software engineering
methods and techniques for software systems rather than just write the
programs as if it was a personal programming project. For most types of
systems, the majority of costs are the costs of changing the software after it
has gone into use.
Software engineering
Software process & Fundamental activities
A software process is a sequence of activities that leads to the
production of a software product
Four fundamental activities that are common to all software processes:
1. Software specification, where customers and engineers define the software
that is to be produced and the constraints on its operation
2. Software development, where the software is designed and programmed
3. Software validation, where the software is checked to ensure that it is what
the customer requires
4. Software evolution, where the software is modified to reflect changing
customer and market requirements
Software engineering
Different types of systems need different development processes
Software engineering
Real-time software has to be completely specified before development
begins for an aircraft
Other side:
In e-commerce systems, the specification and the program are usually
developed together
For example
Software Processes will be described in more detail in Chapter 2
Software engineering is related to both computer science and systems engineering:
Software engineering
SE relation with Computer science:
Computer science is concerned with the theories and methods that
underlie computers and software systems
underlie
be the cause or basis of (something)
software engineering is concerned with the practical problems of
producing software
Other side:
Some knowledge of computer science is essential for software engineers
Computer science theory is often most applicable to small programs
But these cannot always be applied to large, complex problems that
require a software solution
Software engineering
SE relation with System engineering:
System Engineering is concerned with all aspects of the development and
evolution of complex systems
System engineering is concerned with:
 hardware development,
 policy and process
 design and system deployment
System engineers are involved in:
 Specifying the system,
 Defining its overall architecture,
 Integrating the different parts to create
the finished system
Software engineering is related to both computer science and systems engineering:
General issues affecting different types of software:
Software engineering
there are three general issues that affect many different types of software:
Heterogeneity Increasingly
Systems are required to operate even on Distributed systems
Distributed systems exist across networks
includes different types of computer and mobile devices
Software may also have to execute on mobile phones
It is often required to integrate new software with older systems
written in different programming languages
Integrate new software with older systems:
Challenge Here:
 To develop techniques for building dependable software
 This should be flexible enough to cope with this heterogeneity
General issues affecting different types of software: (cont.,)
Software engineering
there are three general issues that affect many different types of software:
Business and social change
Business and society are changing incredibly quickly
New technologies become available
As emerging economies develop
Need to change the existing software
To rapidly develop new software
Security and trust
General issues affecting different types of software: (cont.,)
Software engineering
Software is intertwined with all aspects of our lives,
It is essential that we can trust that software
Make sure that malicious users cannot
Attack our software
Information security is maintained
Software engineering diversity
Software engineering diversity
Perhaps the most significant factor in determining which software engineering
methods and techniques are most important is the type of application that is
being developed.
There are many different types of application including:
Stand-alone applications
Application systems that run on a local computer
Include all necessary functionality
Do not need to be connected to a network
Examples:
office applications on a PC,
CAD programs,
photo manipulation software, etc.
Software engineering diversity
Interactive transaction-based applications
Embedded control systems
Applications are executed on a remote computer
To by accessed by users from their own PCs or terminals
To interact with a remote system to buy goods and services
web applications such as e-commerce applications
cloud-based services, such as mail and photo sharing
Examples
Software control systems
Control and manage hardware devices
Examples:
software in a mobile phone
software in a microwave oven to control the cooking process
Software engineering diversity
Batch processing systems
To process large numbers of individual inputs
Examples
Periodic billing systems
phone billing systems
salary payment systems
Entertainment systems
Systems for modeling and simulation
Software engineering diversity
systems for personal use
to entertain the user
Example:
games of one kind or another.
Developed by scientists and engineers
To model physical processes or situations
Include many, separate, interacting objects
Require high-performance parallel systems for execution.
Data collection systems
Systems of systems
Software engineering diversity
Collect data from their environment using a set of sensors
Send that data to other systems for processing.
To interact with sensors and
It is installed in a hostile environment
systems composed of a number of other software systems
Some of these may be generic software products, such as a
spreadsheet program
software engineering fundamentals that apply to all types
of software system:
software engineering fundamentals
Software engineering diversity
1. Managed and Understood development Process:
To develop using a managed and understood development Process
To plan the development process to develop the software
To have clear ideas of what will be produced and when it will be completed
Different processes are used for different types of software
2. Dependability and performance:
Software should behave as expected
It should be without failures and
It should be available for use when it is required
It should be safe in its operation
It should be secure against external attack
The system should perform efficiently and should not
waste resources
To existing resources as effectively as possible of
you should reuse software, where appropriate, that has already been
developed rather than write new software
3. Understanding and managing
Understanding and managing the software specification and requirements
To know what customers and users expect from the system
To manage expectations of customers/users deliever a useful
system within budget and to schedule
software engineering fundamentals (cont.,)
Software engineering diversity
4. Reuse of existing developed software
Software Engineering
and
The Web
Instead of writing software and deploying it on users’ PCs,
the software is deployed on a web server
This made it much cheaper to change and upgrade the software,
No need to install the software on every PC
It reduces costs, as user interface development is expensive
Many businesses have moved to web-based interaction with
company software systems
Web Application:
Software engineering and the Web
The next stage in the development of web-based systems
Web services are software components that deliver specific functionality
Applications are constructed by integrating these web services,
Web services may be provided by different companies
Web Services:
Software engineering and the Web
Web Services
Of specific kind
companies
Provided by
Database
Client
Programs
using
web services
Software as a Service (SAAS)
Software engineering and the Web
last few years, the notion of ‘software as a service’ has been developed
Software not do run on local computers
It is run on ‘computing clouds’
Computing clouds are accessed over the Internet
If using a web-based mail, you are using a cloud-based
system
A computing cloud is a huge number of linked computer
systems that is shared by many users
Users do not buy software but pay according to how much
the software is being used
Software engineering and the Web
Advent of the web has led to a change in the way that business software is organized
Business applications were mostly monolithic
Single programs running on single computers or computer clusters
Communications were local, within an organization
Software is highly distributed, sometimes across the world
Business applications are not programmed from scratch
It involves extensive reuse of components and programs
Before the web:
Now:
Case studies
To illustrate software engineering concepts,
three different types of systems throughout the book have
been used
Three types of systems used as case studies are:
Software controls a hardware device
It is embedded in that device.
Issues:
Issues in embedded systems typically include:
 Physical size,
 Responsiveness,
 Power management, etc.
The example of the embedded system:
‘A medical device’
1. An embedded system:
Case studies
Overview:
Case studies
This is a system an information system
primary purpose is to manage and provide access to a database of
information.
Issues:
Issues in information systems
include:
Security, Usability,
Privacy,
Maintaining data integrity
2. An information system
‘A medical records system’
Case studies
A system whose primary purpose
is:
to collect data from a set of sensors
process that data in some way
The key requirements
 Reliability, even in hostile environmental conditions, and
 Maintainability
The example of a data collection system that has been used is a wilderness
weather station.
3. A sensor-based data collection system
‘ wilderness weather station’
Software engineering ethics
As a software engineer, your job involves wider responsibilities
Software engineering ethics
You must behave in an ethical and morally responsible way, if you
are to be respected as a professional engineer
1. Confidentiality
Respect the confidentiality of your employers or clients irrespective
of whether or not a formal confidentiality agreement has been signed.
2. Competence
Do not accept work that is outside your competence
Do not misrepresent your level of competence
Ethics in Software engineering
Software engineering ethics
3. Intellectual property rights
Be careful to ensure intellectual property of employers and client is protected
Be aware of local laws governing the use of intellectual property
such as:
Patents and Copyright
4. Computer misuse
Do not use your technical skills to misuse other people’s computers
Computer misuse ranges from relatively trivial to extremely serious
Like:
game playing on an employer’s machine
dissemination of viruses or other malware

More Related Content

Similar to CS Dept Software Types

SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SESE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SEAbhishekTripathi709328
 
Software Engineering notes by K. Adisesha.pdf
Software Engineering notes by K. Adisesha.pdfSoftware Engineering notes by K. Adisesha.pdf
Software Engineering notes by K. Adisesha.pdfProf. Dr. K. Adisesha
 
software engineering
software engineeringsoftware engineering
software engineeringsubhakirthi
 
Software engineering lecture notes
Software engineering   lecture notesSoftware engineering   lecture notes
Software engineering lecture notesGarima Singh
 
Software Process and Requirement
Software Process and RequirementSoftware Process and Requirement
Software Process and Requirementcricket2ime
 
Software engineering lecture notes
Software engineering   lecture notesSoftware engineering   lecture notes
Software engineering lecture notesAmmar Shafiq
 
六合彩|香港六合彩
六合彩|香港六合彩六合彩|香港六合彩
六合彩|香港六合彩ohtpwshx
 
香港六合彩
香港六合彩香港六合彩
香港六合彩pchgmf
 
香港六合彩 » SlideShare
香港六合彩 » SlideShare香港六合彩 » SlideShare
香港六合彩 » SlideSharehcslenk
 
六合彩|香港六合彩
六合彩|香港六合彩六合彩|香港六合彩
六合彩|香港六合彩tnxaht
 
香港六合彩-六合彩
香港六合彩-六合彩香港六合彩-六合彩
香港六合彩-六合彩eqhnwl
 

Similar to CS Dept Software Types (20)

ch1_introduction (1).ppt
ch1_introduction (1).pptch1_introduction (1).ppt
ch1_introduction (1).ppt
 
ch1_introduction (2).ppt
ch1_introduction (2).pptch1_introduction (2).ppt
ch1_introduction (2).ppt
 
ch1_introduction.ppt
ch1_introduction.pptch1_introduction.ppt
ch1_introduction.ppt
 
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SESE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
SE-Lecture1.ppt
SE-Lecture1.pptSE-Lecture1.ppt
SE-Lecture1.ppt
 
Software Engineering notes by K. Adisesha.pdf
Software Engineering notes by K. Adisesha.pdfSoftware Engineering notes by K. Adisesha.pdf
Software Engineering notes by K. Adisesha.pdf
 
Intro
IntroIntro
Intro
 
lecture 1.pdf
lecture 1.pdflecture 1.pdf
lecture 1.pdf
 
software engineering
software engineeringsoftware engineering
software engineering
 
Software engineering lecture notes
Software engineering   lecture notesSoftware engineering   lecture notes
Software engineering lecture notes
 
Ch1
Ch1Ch1
Ch1
 
Software Process and Requirement
Software Process and RequirementSoftware Process and Requirement
Software Process and Requirement
 
Ch1 introduction
Ch1 introductionCh1 introduction
Ch1 introduction
 
Software engineering lecture notes
Software engineering   lecture notesSoftware engineering   lecture notes
Software engineering lecture notes
 
六合彩|香港六合彩
六合彩|香港六合彩六合彩|香港六合彩
六合彩|香港六合彩
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
 
香港六合彩 » SlideShare
香港六合彩 » SlideShare香港六合彩 » SlideShare
香港六合彩 » SlideShare
 
六合彩|香港六合彩
六合彩|香港六合彩六合彩|香港六合彩
六合彩|香港六合彩
 
香港六合彩-六合彩
香港六合彩-六合彩香港六合彩-六合彩
香港六合彩-六合彩
 

Recently uploaded

Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionfulawalesam
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfLars Albertsson
 
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxolyaivanovalion
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxolyaivanovalion
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxolyaivanovalion
 
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改atducpo
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysismanisha194592
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxolyaivanovalion
 
Ukraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICSUkraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICSAishani27
 
Carero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxCarero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxolyaivanovalion
 
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...Suhani Kapoor
 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz1
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusTimothy Spann
 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% SecurePooja Nehwal
 
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Delhi Call girls
 
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service BhilaiLow Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service BhilaiSuhani Kapoor
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFxolyaivanovalion
 

Recently uploaded (20)

Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interaction
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdf
 
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
 
Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptx
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptx
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFx
 
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysis
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptx
 
Ukraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICSUkraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICS
 
Carero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxCarero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptx
 
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signals
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and Milvus
 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
 
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
 
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service BhilaiLow Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFx
 

CS Dept Software Types

  • 2. Contents: Overview Professional software development Software engineering Software engineering diversity
  • 4. Overview Different types of software systems exist: From simple embedded systems to complex, worldwide information systems Organizational information system & Controller Developing an organizational information system is completely different from developing a controller for a scientific instrument Graphics-intensive computer game Neither of these systems has much in common with a graphics-intensive computer game. Introduction Different approaches are required for different types of software It is pointless to look for universal notations, methods, or techniques for software engineering Same software engineering techniques are not required All of these applications need software engineering; they do not all need the same software engineering techniques.
  • 5. Overview (cont.,) 1. Increasing demands Demands change as new software engineering techniques help us to build larger, more complex systems Larger & even more complex systems are required systems have to have new capabilities that were previously thought to be impossible Existing software engineering methods cannot cope New software engineering techniques have to be developed to meet new demands Introduction There are still many reports of software projects going wrong and ‘software failures’. many of these so-called software failures are a consequence of two factors Software Failures Two factors:
  • 6. Overview (cont.,) 2. Low expectations It is easy to write computer programs without software engineering Introduction Not using software engineering methods Software more expensive less reliable without software engineering It is easy to write computer programs Result
  • 8. Professional software development Software engineering supports professional software development If writing a program for yourself No need program guides No need program design to document Etc. No one else will use it If writing software for people Engineers will change it You have to provide additional information & code SE techniques supports: program specification, design, and evolution None of which are normally relevant for personal software development
  • 9. Software Products Professional software development Software engineers are concerned with developing software products There are two kinds of software products: Generic products These are stand-alone systems Produced by a development organization Sold on the open market to any customer Examples software for PCs, like: databases, word processors, drawing packages, and project-management tools.
  • 10. Software Products (cont.,) Professional software development Customized (or bespoke) products Systems that are commissioned by a particular customer A software contractor develops the software for that customer Examples Control systems for electronic devices, Systems to support a business process, Air traffic control systems
  • 12. Software engineering Software engineering is an engineering discipline that is concerned with all aspects of software production from the early stages of system specification through to maintaining the system after it has gone into use. In this definition, there are two key phrases: Engineering discipline Engineers apply theories, methods, and tools where these are appropriate. to discover solutions to problems to discover solutions even when there are no applicable theories and methods. Look for solutions within these constraints Engineers must work to organizational and financial constraints so they look for solutions within these constraints.
  • 13. All aspects of software production It also includes activities, such as: software project management development of tools, methods, theories to support software production. Software engineering
  • 14. Software engineering is important for two reasons: 1. Individuals and society rely on advanced software systems It is required to produce reliable and trustworthy systems economically and quickly. 2. It is usually cheaper, in the long run, to use software engineering methods and techniques for software systems rather than just write the programs as if it was a personal programming project. For most types of systems, the majority of costs are the costs of changing the software after it has gone into use. Software engineering
  • 15. Software process & Fundamental activities A software process is a sequence of activities that leads to the production of a software product Four fundamental activities that are common to all software processes: 1. Software specification, where customers and engineers define the software that is to be produced and the constraints on its operation 2. Software development, where the software is designed and programmed 3. Software validation, where the software is checked to ensure that it is what the customer requires 4. Software evolution, where the software is modified to reflect changing customer and market requirements Software engineering
  • 16. Different types of systems need different development processes Software engineering Real-time software has to be completely specified before development begins for an aircraft Other side: In e-commerce systems, the specification and the program are usually developed together For example Software Processes will be described in more detail in Chapter 2
  • 17. Software engineering is related to both computer science and systems engineering: Software engineering SE relation with Computer science: Computer science is concerned with the theories and methods that underlie computers and software systems underlie be the cause or basis of (something) software engineering is concerned with the practical problems of producing software Other side: Some knowledge of computer science is essential for software engineers Computer science theory is often most applicable to small programs But these cannot always be applied to large, complex problems that require a software solution
  • 18. Software engineering SE relation with System engineering: System Engineering is concerned with all aspects of the development and evolution of complex systems System engineering is concerned with:  hardware development,  policy and process  design and system deployment System engineers are involved in:  Specifying the system,  Defining its overall architecture,  Integrating the different parts to create the finished system Software engineering is related to both computer science and systems engineering:
  • 19. General issues affecting different types of software: Software engineering there are three general issues that affect many different types of software: Heterogeneity Increasingly Systems are required to operate even on Distributed systems Distributed systems exist across networks includes different types of computer and mobile devices Software may also have to execute on mobile phones It is often required to integrate new software with older systems written in different programming languages Integrate new software with older systems: Challenge Here:  To develop techniques for building dependable software  This should be flexible enough to cope with this heterogeneity
  • 20. General issues affecting different types of software: (cont.,) Software engineering there are three general issues that affect many different types of software: Business and social change Business and society are changing incredibly quickly New technologies become available As emerging economies develop Need to change the existing software To rapidly develop new software
  • 21. Security and trust General issues affecting different types of software: (cont.,) Software engineering Software is intertwined with all aspects of our lives, It is essential that we can trust that software Make sure that malicious users cannot Attack our software Information security is maintained
  • 23. Software engineering diversity Perhaps the most significant factor in determining which software engineering methods and techniques are most important is the type of application that is being developed. There are many different types of application including: Stand-alone applications Application systems that run on a local computer Include all necessary functionality Do not need to be connected to a network Examples: office applications on a PC, CAD programs, photo manipulation software, etc.
  • 24. Software engineering diversity Interactive transaction-based applications Embedded control systems Applications are executed on a remote computer To by accessed by users from their own PCs or terminals To interact with a remote system to buy goods and services web applications such as e-commerce applications cloud-based services, such as mail and photo sharing Examples Software control systems Control and manage hardware devices Examples: software in a mobile phone software in a microwave oven to control the cooking process
  • 25. Software engineering diversity Batch processing systems To process large numbers of individual inputs Examples Periodic billing systems phone billing systems salary payment systems
  • 26. Entertainment systems Systems for modeling and simulation Software engineering diversity systems for personal use to entertain the user Example: games of one kind or another. Developed by scientists and engineers To model physical processes or situations Include many, separate, interacting objects Require high-performance parallel systems for execution.
  • 27. Data collection systems Systems of systems Software engineering diversity Collect data from their environment using a set of sensors Send that data to other systems for processing. To interact with sensors and It is installed in a hostile environment systems composed of a number of other software systems Some of these may be generic software products, such as a spreadsheet program
  • 28. software engineering fundamentals that apply to all types of software system: software engineering fundamentals Software engineering diversity 1. Managed and Understood development Process: To develop using a managed and understood development Process To plan the development process to develop the software To have clear ideas of what will be produced and when it will be completed Different processes are used for different types of software 2. Dependability and performance: Software should behave as expected It should be without failures and It should be available for use when it is required It should be safe in its operation It should be secure against external attack The system should perform efficiently and should not waste resources
  • 29. To existing resources as effectively as possible of you should reuse software, where appropriate, that has already been developed rather than write new software 3. Understanding and managing Understanding and managing the software specification and requirements To know what customers and users expect from the system To manage expectations of customers/users deliever a useful system within budget and to schedule software engineering fundamentals (cont.,) Software engineering diversity 4. Reuse of existing developed software
  • 31. Instead of writing software and deploying it on users’ PCs, the software is deployed on a web server This made it much cheaper to change and upgrade the software, No need to install the software on every PC It reduces costs, as user interface development is expensive Many businesses have moved to web-based interaction with company software systems Web Application: Software engineering and the Web
  • 32. The next stage in the development of web-based systems Web services are software components that deliver specific functionality Applications are constructed by integrating these web services, Web services may be provided by different companies Web Services: Software engineering and the Web Web Services Of specific kind companies Provided by Database Client Programs using web services
  • 33. Software as a Service (SAAS) Software engineering and the Web last few years, the notion of ‘software as a service’ has been developed Software not do run on local computers It is run on ‘computing clouds’ Computing clouds are accessed over the Internet If using a web-based mail, you are using a cloud-based system A computing cloud is a huge number of linked computer systems that is shared by many users Users do not buy software but pay according to how much the software is being used
  • 34. Software engineering and the Web Advent of the web has led to a change in the way that business software is organized Business applications were mostly monolithic Single programs running on single computers or computer clusters Communications were local, within an organization Software is highly distributed, sometimes across the world Business applications are not programmed from scratch It involves extensive reuse of components and programs Before the web: Now:
  • 36. To illustrate software engineering concepts, three different types of systems throughout the book have been used Three types of systems used as case studies are: Software controls a hardware device It is embedded in that device. Issues: Issues in embedded systems typically include:  Physical size,  Responsiveness,  Power management, etc. The example of the embedded system: ‘A medical device’ 1. An embedded system: Case studies Overview:
  • 37. Case studies This is a system an information system primary purpose is to manage and provide access to a database of information. Issues: Issues in information systems include: Security, Usability, Privacy, Maintaining data integrity 2. An information system ‘A medical records system’
  • 38. Case studies A system whose primary purpose is: to collect data from a set of sensors process that data in some way The key requirements  Reliability, even in hostile environmental conditions, and  Maintainability The example of a data collection system that has been used is a wilderness weather station. 3. A sensor-based data collection system ‘ wilderness weather station’
  • 40. As a software engineer, your job involves wider responsibilities Software engineering ethics You must behave in an ethical and morally responsible way, if you are to be respected as a professional engineer 1. Confidentiality Respect the confidentiality of your employers or clients irrespective of whether or not a formal confidentiality agreement has been signed. 2. Competence Do not accept work that is outside your competence Do not misrepresent your level of competence Ethics in Software engineering
  • 41. Software engineering ethics 3. Intellectual property rights Be careful to ensure intellectual property of employers and client is protected Be aware of local laws governing the use of intellectual property such as: Patents and Copyright 4. Computer misuse Do not use your technical skills to misuse other people’s computers Computer misuse ranges from relatively trivial to extremely serious Like: game playing on an employer’s machine dissemination of viruses or other malware