Introduction to Software Engineering: Concepts, Principles, and Ethics, Slides of Information and Computer Technology

slide 1 - slide 1

Typology: Slides

2014/2015

Uploaded on 09/19/2015

eric_twum
eric_twum 🇬🇧

2 documents

1 / 16

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Software
Engineering
INTRODUCTION
By: Eric Okyere Twum
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Partial preview of the text

Download Introduction to Software Engineering: Concepts, Principles, and Ethics and more Slides Information and Computer Technology in PDF only on Docsity!

Software

Engineering

INTRODUCTION

Basic Knowledge

Software Systems

Software Development Process

Computer Fundamentals

Programming Fundamentals

Definitions

  • (^) Engineering on the other hand, is all about developing

products by using well-defined, scientific principles and

methods.

  • (^) Engineering also refers to the application of science,

mathematics and technology to find the best possible

solution for a realistic everyday problem.

Definitions

  • (^) Software Engineering is a branch in computer science,
which uses well-defined engineering concepts required to
produce efficient, durable, scalable, in-budget, and on-time
software products.
  • (^) IEEE defines software engineering as:
    • (^) The application of a systematic, disciplined, quantifiable & measurable approach to the development, operation, and maintenance of software; that is, the application of engineering to software.
    • (^) The study of approaches as in the above statement.
  • (^) The expected outcome of software engineering is an efficient
and reliable software product.

Transitional

This aspect is important when the software is moved

from one platform to another:

  • (^) Portability
  • (^) Interoperability
  • (^) Reusability
  • (^) Adaptability

Maintenance

This aspect briefs about how the software has the

capabilities to maintain itself in the ever-changing

environment:

  • (^) Modularity
  • (^) Maintainability
  • (^) Flexibility
  • (^) Scalability

Why Software Engineering?

  • (^) Provide an understandable process for system development.
  • (^) Develop systems and software that are maintainable and

easily adopt.

  • (^) Develop robust software and system that can stand the test

of time.

  • (^) For engineers to appreciate software development

processes.

Need for Software Engineering

  • (^) Huge software applications  (^) As the size of a software becomes large, engineering has to step to give it a scientific process in order to help manage the application It is easier to build a wall than a house or building
  • (^) Scalability If the software process were not based on scientific and engineering concepts , it becomes easier to re-create new software than to scale an existing one.
  • (^) Cost cost of the software remains high if proper process are not adapted.
  • (^) Dynamic Nature of software If the nature of software is always changing, new enhancements need to be done to the existing application. This is where the software engineering plays a good role.
  • (^) Quality Management software development provides better and quality software product

Software Engineering Ethics

  • (^) Software engineering has evolved over the past several

years from an activity of computer engineering to a

discipline in its own right.

  • (^) Professional societies and institutions have an important

role to play in setting ethical standards, Organizations

such as:

• ACM
• IEEE
  • (^) British Computer Society

General SWE Ethical Standards:

Like other engineering disciplines, software engineering

is now carried out within a social and legal framework

known as Code of

Ethics and Professional Practice. Some of these are:-

  • (^) Confidentiality
  • (^) Competence
  • (^) Intellectual property rights
  • (^) Computer misuse

THANK YOU