0% found this document useful (0 votes)
25 views27 pages

Slide 1 Intro

Uploaded by

musukutwanick
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views27 pages

Slide 1 Intro

Uploaded by

musukutwanick
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 27

Introduction

ISE 1105
Software Engineering
Fundamentals
What is software?

 Computer programs and associated


documentation.
 Software products may be developed for a
particular customer or may be developed
for a general market

2
General Market Software

 Generic products
 Marketed and sold to any customer who wishes
to buy them.

 Examples – Auto CAD software, Google


Classroom, Microsoft Office.

 The specification of what the software should do


is owned by the software developer.

 Decisions on software change are made by the


developer. 3
Customized ~ Software products

 Customized products
 Commissioned by a specific customer to meet their
own needs.

 Examples – embedded control systems, air traffic


control software, traffic monitoring systems.

 Specification of what the software should do is


owned by the customer.

 The customer makes decisions on software changes


that are required. 4
Software Characteristics:

 Software does not wear out.


 Software is not manufactured
 Reusability of components
 Software is flexible

5
Software Engineering

What is software engineering?


 An engineering discipline that is concerned with all
aspects of software production.
i. The application of a systematic, disciplined,
computable approach for the development,
operation, and maintenance of software.., IEEE
ii. The establishment and use of sound engineering
principles in order to obtain economically
developed software that is reliable and works
efficiently on real machines.., Fritz Bauer
6
iii. A discipline whose aim is the production of
quality software, software that is delivered on
time, within budget, and that satisfies its
requirements.., Stephen Schach

7
What was the Software Crisis?

 In the 1960s, many software projects failed.


 Over budget which led to software which is expensive
to maintain.
 Software not able to satisfy the growing requirements
of the customer.
 Demand for new software increased faster compared
with the ability to generate new software.

8
The Solution

 Solution to the crisis in software was


transforming unorganized coding effort into
a software engineering discipline.
 Use of Software Engineering models helped
companies to streamline operations and
deliver software meeting customer
requirements.

9
Why Software Engineering is Important?

 If the software development process were


based on scientific and engineering
concepts,
it is easier to re-create new software to
scale an existing one.

 As the size of the software becomes large,


software engineering helps you to build
software.

10
Best S/W Engineering techniques & methods?

 Different techniques are appropriate for


different types of system.
 E.g., games should always be developed
using a series of prototypes,
whereas safety critical control systems
require a complete and analysable
specification to be developed.
 You can’t, therefore, say, one method is
better than another.

11
The web & Software Engineering

 Developing highly distributed systems.

 Software reuse—online code repos to


reuse.

 Cloud computing provides computer


services where applications run remotely
on the ‘cloud’. Users do not buy software
but pay according to use.
12
Essential attributes of good software

 Maintainability
 Software should be developed in such a
way that it can evolve to meet the
changing needs of customers.
(modularity)
 This is a critical attribute because
software change is inevitable in a
changing business environment.

13
Acceptability(understandable, usable and compatible )

 Software must be acceptable to the type of


users for which it is designed.

 This means that it must be understandable,


usable and compatible with other systems
that they use.

14
Dependability AKA Reliability
 Software should always have a level of
dependable performance.
 Software should not cause physical or
financial damage in the event of system
failure.

 Security
 Malicious users should not be able to
access or damage the system.
15
 Efficiency
 Should waste system resources, e.g.
memory and processor cycles.
 Efficiency includes responsiveness,
processing time, memory utilisation,
etc.

16
Software Process Activities

Software specification
 Customers and Engineers define the
software that is to be produced and the
constraints on its operation.

Software development
 Software is designed and programmed.

17
Software validation,
 Software is checked to ensure that it is
what the customer requires.

Software evolution
 Software is modified to reflect changing
customer and market requirements.

18
Questions

 Difference between software system and system


software

 Difference between software development and


software engineering

19
Software Engineering Ethics

 S/W Eng.s 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 but involves following
a set of principles that are morally
correct.

20
ACM/IEEE Code of Ethics

 The professional societies in the US have


cooperated to produce a code of ethical
practice.
 Members of these organisations sign up to
the code of practice when they join.
 The Code contains eight Principles
related to the behaviour of and decisions
made by professional software engineers,
including practitioners, educators,
managers, supervisors and policy makers,
as well as trainees and students of the
profession. 21
The 8 Ethical principles

1. PUBLIC
 S/W Engs shall act consistently with the
public interest.

2. CLIENT AND EMPLOYER


 S/W Engs shall act in a manner that is in
the best interests of their client and
employer consistent with the public interest.

22
3. PRODUCT
 S/W Engs shall ensure that their
products and related modifications meet
the highest professional standards
possible.

4. JUDGMENT
 S/W Engs shall maintain integrity and
independence in their professional
judgment.
23
5. MANAGEMENT
 S/W engineering managers and leaders
shall subscribe to and promote an ethical
approach to the management of software
development and maintenance.

6. PROFESSION
 S/W Engs shall advance the integrity and
reputation of the profession consistent with
the public interest.
24
7. COLLEAGUES
 S/W Engs shall be fair to and supportive
of their colleagues.

8. SELF
 S/W Engs shall participate in lifelong
learning regarding the practice of their
profession and shall promote an ethical
approach to the practice of the
profession.
25
Rationale for the code of ethics

Because of their roles in developing software


systems, s/w engs have the ability to;
 do good or cause harm,
 to enable others to do good or cause harm, or
 to influence others to do good or cause harm.

 S/W Engs must commit themselves to making


software engineering a beneficial and respected
profession.

26
qstns

 Software is
(a) Superset of programs
(b) Subset of programs
(c) Set of programs
(d) none of the above

 Which is NOT a software characteristic?


(a) Software does not wear out
(b) Software is flexible
(c) Software is not manufactured
(d) Software is always correct

27

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy