INTRODUCTION TO SOFTWARE ENGINEERING - csactor

Breaking

csactor

computer science , software engineering ,information system and information technology lesson series like data structure and algorithm , computer networking , programming , database , web development , operating system , information system , digital marketing and business study.

Friday, August 17, 2018

INTRODUCTION TO SOFTWARE ENGINEERING


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.


What is Software Engineering




-An engineering discipline that is concerned with all aspects of software production.

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...








No comments:

Post a Comment