Introduction To Software Engineering
Introduction To Software Engineering
Introduction To Software Engineering
Introduction to Computer-based
System Engineering
Software engineering
The economies of ALL developed nations are
dependent on software.
More and more systems are software controlled
Software engineering is concerned with theories,
methods and tools for professional software
development.
Expenditure on software represents a
significant fraction of GNP in all developed countries.
Software costs
Software costs often dominate computer system costs.
Engineering)
What are the attributes of good software?
What are the key challenges facing software
engineering?
What is software?
Computer programs and associated documentation such as
evolution of software.
Generic activities in all software processes are:
Specification - what the system should do and its
development constraints
Development - production of the software system
Validation - checking that the software is what the
customer wants
Evolution - changing the software in response to
changing demands.
Iterative development;
Component-based software engineering.
25
Sp ecificatio n
50
Design
100
75
Develo pment
25
Sp ecificatio n
50
System testin g
50
ems
200
1 00
75
Develo pment
1 00
ineerin g
25
Sp ecificatio n
75
400
30
25
50
75
Develo pmen t
System testin g
100
Rules
Constraints applied to system models;
Recommendations
Advice on good design practice;
Process guidance
What activities to follow.
design;
Lower-CASE
Tools to support later activities such as programming, debugging
and testing.
Dependability
Software must be trustworthy;
Efficiency
Software should not make wasteful use of system resources;
Acceptability
Software must accepted by the users for which it was designed. This
Delivery
Developing techniques that lead to faster delivery of software;
Trust
Developing techniques that demonstrate that software can be
Issues of professional
responsibility
Confidentiality
Engineers should normally respect the confidentiality of
their employers or clients irrespective of whether or not
a formal confidentiality agreement has been signed.
Competence
Engineers should not misrepresent their level of
competence. They should not knowingly accept work
which is outwith their competence.
Issues of professional
responsibility
Intellectual property rights
Engineers should be aware of local laws governing the use of
Computer misuse
Software engineers should not use their technical skills to misuse
of the abstraction; the clauses that are included in the full version
give examples and details of how these aspirations change the way
we act as software engineering professionals. Without the
aspirations, the details can become legalistic and tedious; without
the details, the aspirations can become high sounding but empty;
together, the aspirations and the details form a cohesive code.
Software engineers shall commit themselves to making the analysis,
specification, design, development, testing and maintenance of
software a beneficial and respected profession. In accordance with
their commitment to the health, safety and welfare of the public,
software engineers shall adhere to the following Eight Principles:
PRODUCT
Software engineers shall ensure that their products and related
MANAGEMENT
Software engineering managers and leaders shall subscribe to and
PROFESSION
Software engineers shall advance the integrity and reputation of the
Ethical dilemmas
Disagreement in principle with the policies of senior
management.
Your employer acts in an unethical way and releases a
safety-critical system without finishing the testing of
the system.
Participation in the development of military weapons
systems or nuclear systems.