INTRODUCTION TO SOFTWARE ENGINEERING
Software Engineering - Definition
• Designing, building and maintaining large software systems.
‘Software engineering is concerned with the theories, methods and tools for developing, managing and evolving software products’
(- I Sommerville)
‘ The establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines’
(- F.L. Bauer)
Software Engineering Evalution
1. Software development began as a single person activity in 1940s and 1950s.
2. Software engineering was considered a new scientific discipline in 1960s and 1970s.
3. In 1980s and 1990s engineering ideas dominated software development.
Software Engineering Evalution
1. Software development began as a single person activity in 1940s and 1950s.
2. Software engineering was considered a new scientific discipline in 1960s and 1970s.
3. In 1980s and 1990s engineering ideas dominated software development.
What is Software Engineering
Need For Software Engineering
The economies of ALL developed nations are dependent on software.
More and more systems are software controlled.
Software is found in products and situations where very high reliability is expected
E.g. Monitoring and controlling Nuclear power plants
Contain millions of lines of code Comparably more complex.
Software engineering is concerned with theories, methods and tools for professional software development.
Concerned with the
Conception
Development
Verification
Deals with
Identifying
Defining
Realizing
Verifying
What Is The Different Between Software Engineering And Computer Science
Computer science is concerned with theory and fundamentals.
Software engineering is concerned with the practicalities of developing and delivering useful software.
Computer science theories are still insufficient to act as a complete underpinning for software engineering.
Software Quality Attributes
Maintainability
The ease with which changes can be made to satisfy new Requirements or to correct deficiencies.
Correctness
The degree with which software adheres to its specified Requirement.
Reusability
The ease with which software can be reused in developing other software.
Portability
The ease with which software can be used on computer configurations other than its current one.
Efficiency
The degree with which software fulfills its purpose without waste of resources.
Key Challenges Facing Software Engineering
Heterogeneity
Developing techniques for building software that can cope with heterogeneous platforms and execution environments
Delivery
Developing techniques that lead to faster delivery of software
Trust
Developing techniques that demonstrate that software can be trusted by its users.
PROFESSIONAL AND ETHICAL RESPONSIBILITY
Software engineering involves wider responsibilities than simply the application of technical skills.
Software engineers must behave in an honest and ethically responsible way if they are to be respected as professionals.
Ethical behaviour is more than simply upholding the law.
Issues Of Professional Responsibility
Computer misuse
Software engineers should not use their technical skills to misuse other people’s computers.
Competence
Engineers should not misrepresent their level of competence.
Confidentiality
Engineers should normally respect the confidentiality of their employers or clients irrespective of whether or not a formal confidentiality agreement has been signed.
Intellectual property rights
Engineers should be aware of local laws governing the use of intellectual property such as patents, copyright...
Software engineers must behave in an honest and ethically responsible way if they are to be respected as professionals.
Ethical behaviour is more than simply upholding the law.
Issues Of Professional Responsibility
Computer misuse
Software engineers should not use their technical skills to misuse other people’s computers.
Competence
Engineers should not misrepresent their level of competence.
Confidentiality
Engineers should normally respect the confidentiality of their employers or clients irrespective of whether or not a formal confidentiality agreement has been signed.
Intellectual property rights
Engineers should be aware of local laws governing the use of intellectual property such as patents, copyright...
No comments:
Post a Comment