Software Engineering Introduction
-
Upload
rahul-hada -
Category
Engineering
-
view
167 -
download
0
Transcript of Software Engineering Introduction
Alliance University, [email protected] 2
Software ?
● Countries depends on softwares.● Today we are moving foward towards pervasive
computing.● Idea <--> Software● Software contributed in space programs● Sofware delivers the most important product of
our time-”information”.
Alliance University, [email protected] 3
Pervasive Computing
Alliance University, [email protected] 4
Social Web of Things
Alliance University, [email protected] 5
Ideas
Alliance University, [email protected] 6
Define
● “Software is :– (i) instructions that when executed provide desired
features , function , and performance; – (ii) data structure that enable the program to
adequately manipulate information, and – (iii) description information in both hard copy and
vitual form that describes the operation and use of the programs”
Alliance University, [email protected] 7
Characteristics of Software
● Differences from hardware
– s/w is developed or engineered, it is not manufactured in the classical sense.
– s/w doesn't “wear out.”
– Re-usability.
“Software is logical rather than a physical system element.”
Alliance University, [email protected] 8
Fundamental Types
● Fundamental types of software :-– Generic Products
● Stand-alone systems that are produced s/w organization.● Sold on the open market to any customer.
– Customised Products● For particular customer.● Especially developed as per the customer requirement.
● Generic s/w control the s/w specifications.● Organization (buyer) control the s/w specifications
Alliance University, [email protected] 9
Further Categories● System software
– Used to service other programs/
● Application software– Solve specific business needs.
● Engineering/Scientific software● Embedded software
– Resides within a product
● Product-line software– Specific capability for use by different customers
● Web application– Network centric softwares
● Artifical intelligence software– It includes intelligence ex, robotics , expert systems etc.
Alliance University, [email protected] 10
Good Software Attributes
● Maintainability– It can evolve to meet the change.
● Dependability and security– It includes reliability , security and safety
● Efficiency– Should not waste system resources (memory and
processor cycles)
● Acceptability– It must be understandable , usable and compatible
Alliance University, [email protected] 11
Process
Alliance University, [email protected] 12
Software Process
● Software Process – “It is the set of activities and associated results that
produce a software products”– A framework for the tasks that are required to build
high-quality software.
Alliance University, [email protected] 13
Software Process
● Software Specification– In this customer and engineers define the software to be
produced and the constraints on its operation.
● Software Development– The software is designed and programmed
● Software Validation– The system is checked to ensure that it is what the customer
requires.
● Software Evolution– The software is modified to adapt it to changing customer and
market requirement.
Alliance University, [email protected] 14
Alliance University, [email protected] 15
Alliance University, [email protected] 16
Issues:Software
● Issues that affect many different types of software:-– Heterogeneity
● Systems are distributed systems which includes different types of computer and mobile devices.
– Business and social change● Change is rapid now a days.● Many traditional software engineering techniques are time
consuming.
– Security and trust● Software is intertwined with all aspects of our lives.
Alliance University, [email protected] 17
Software Engineering
● What is Software Engineering ?– It is an engineering discipline that is concerned
with all aspects of software production from the early stages of system specifications to maintaining the system after it has gone into use.
Alliance University, [email protected] 18
Friedrich Bauer (10 June 1924 – 26 March 2015)● He was a german computer scientist and professor● He was first to propose the widely used stack methods
of expression evalution.● In 1968 , he coined the term “Software Engineering”
Alliance University, [email protected] 19
Software Process
Alliance University, [email protected] 20
Software Process● A common process framework
is established
● Define small number of framework activities
● A number of task sets – (SE tasks , milestones , work products , SQA points)
● Umberalla Activities
– Software Quality Assurance
– Software Configuration Management (tracking and controlling changes)
Alliance University, [email protected] 21
Software Process Activities
● Software Specification– In this customer and engineers define the software to be
produced and the constraints on its operation.
● Software Development– The software is designed and programmed
● Software Validation– The system is checked to ensure that it is what the customer
requires.
● Software Evolution– The software is modified to adapt it to changing customer and
market requirement.
Alliance University, [email protected] 22
Software Process Model
● It is a simplified description of a software process that presents one view of the process.
● It includes activities , software products and the roles of people
Alliance University, [email protected] 23
Ex:Workflow Model
● Sequence of activities in the process along with their inputs , outputs and dependencies.
● The activities in this model resent human actions.
Alliance University, [email protected] 24
Alliance University, [email protected] 25
Ex:Dataflow/Activity Model
● Represents the process as a set of activities , each of which carries out some data transformation.
● It shows how the input to the process , such as specification , is transformed to an output , such as a design.
● Can be carried by people or by computers.
Alliance University, [email protected] 26
Alliance University, [email protected] 27
Ex:Role/Action Model
● This represents the roles of the people involved in the software process and the activities for which they are responsible
Alliance University, [email protected] 28
Alliance University, [email protected] 29
Software Life Cycle
● Classic Life Cycle– Analysis --> Design --> Coding --> Testing & Support
Alliance University, [email protected] 30
Software Process Model:Approach
● Waterfall approach– Takes activities and represents them as separate
process phases (as analysis , designing , development , testing etc.)
– After each stage is defined it is “signed-off”
● Iterative development● Component-based software engineering (CBSE)
Alliance University, [email protected] 31
Waterfall
● Waterfall approach– Takes activities and represents them as separate process
phases (as analysis , designing , development , testing etc.)
– After each stage is defined it is “signed-off”
Alliance University, [email protected] 32
Iterative Approach
● Iterative Approach
– An initial system is rapidly developed from very abstract specifications
– Then refine with customer input
Alliance University, [email protected] 33
CBSE Approach● CBSE Approach
– It assumes that parts of the system already exist
– Focus on integrating these parts rather developing from scratch
Alliance University, [email protected] 34
Activity Cost
Alliance University, [email protected] 35
Alliance University, [email protected] 36
Software Engineering Ethics
● Confidentiality– Employers or clients
● Competence– No misrepresent your level of competence
● Intellectual property rights– Take case of patents and copyright.
● Computer misuse– No misuse other people’s computer.
Alliance University, [email protected] 37
ACM/IEEE-CS Joint Task Force on Software Engineering Ethics
● Eight Principles– PUBLIC
● Act in public interest
– CLIENT and EMPLOYER– PRODUCT
● Highest professional standards
– JUDGMENT● Maintain integrity and independence in their professional judgment
– MANAGEMENT● Maintain ethical approach of management
– PROFESSION● Advance the integrity and reputation of the profession consistent
– COLLEAGUES● Fair and supportive of their colleagues
– SELF● Maintain lifelong learning