0% found this document useful (0 votes)
7 views4 pages

2 What Is Software Engineering

This document outlines the fundamental concepts of Software Engineering, including its definition, attributes of good software, and ethical principles for software developers. It distinguishes Software Engineering from Computer Science, emphasizing the practical aspects of software development. The document concludes by highlighting the importance of a standardized process and ethical conduct in the field.

Uploaded by

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

2 What Is Software Engineering

This document outlines the fundamental concepts of Software Engineering, including its definition, attributes of good software, and ethical principles for software developers. It distinguishes Software Engineering from Computer Science, emphasizing the practical aspects of software development. The document concludes by highlighting the importance of a standardized process and ethical conduct in the field.

Uploaded by

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

MODULE 1: SOFTWARE ENGINEERING CONCEPTS

Unit 1: What is Software Engineering


Unit 2: Software Model
Unit 3: Requirement Analysis and Specification

Unit 4: Software Design

UNIT 1: What is Software Engineering


1.0 Introduction
2.0 Intended Learning Outcomes (ILOs)
3.0 Main Contents
3.1 Software Engineering vs Computer Science
3.2 Attributes of good software
3.3 Code of ethics – principles
4.0 Conclusion
5.0 Summary

1.0 INTRODUCTION
Software engineering is the methodical application of scientific and technological knowledge
to the establishment of requirements, functional specifications, design descriptions, program
implementation, and test techniques for the creation of computer programs using solid
engineering principles. Software engineering is essentially a branch of engineering that
addresses every facet of software development.

2.0 INTENDED LEARNING OUTCOMES (ILOS)


Students are expected to know what Software Engineering is, the attributes needed to be a good
Software Developer and the ethics needed in the industry.

3.0 MAIN CONTENTS


3.1 Software Engineering vs Computer Science
Software engineering is the systematic application of scientific and technological knowledge,
through the medium of sound engineering principles for the production of computer programs
Dr. Stephen Akuma Page 5
to the requirements definition, functional specification, design description, program
implementation, and test methods. In essence, Software engineering is an engineering
discipline that is concerned with all aspects of software production. Software engineers should
adopt a systematic and organised approach to their work and use appropriate tools and
techniques depending on the problem to be solved, the development constraints and the
resources available.
Producing software is not quite like building a house:
• More creativity is required
• There is more uncertainty, regarding:
– What the user really wants or needs
– What architecture & technology mix is most appropriate
– Cost & time constraints, team composition, stakeholder input, etc
Reason:
Software is “soft”, and getting it right depends on value judgments, cost trade-offs and all sorts
of human, economic and technology factors, market trends, timing, etc

Software engineering

Dr. Stephen Akuma Page 6


Difference 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 (unlike e.g. physics and electrical engineering).

Computer Science Customer

Theories Computer functions


Problem

Software Engineering

Tools and techniques to


solve problems

3.2 Attributes of good software


The quality of software is reflected in a number of linked attributes that are present in software
products. These characteristics have little to do with what the software accomplishes. They
depict how the program behaves when it is running as well as the organization and structure of

Dr. Stephen Akuma Page 7


the source code and any related documentation. The following qualities are crucial for good
software:
Acceptability - Software needs to be regarded favourably by the users it is intended for. This
calls for it to be comprehensible, practical, and interoperable with the other systems they
employ.
Security and dependability - Software dependability encompasses a number of traits, including
dependability, security, and safety. If a system fails, dependable software shouldn't result in
harm to people or property. Software must be protected against malicious users so that the
system cannot be accessed or damaged.
Efficiency - Software shouldn't waste processor or memory cycles, or other system resources.
Therefore, efficiency involves responsiveness, processing speed, resource use, etc.
Maintainability - Software should be created in a way that allows it to change in response to
customers' shifting needs.
3.3 Code of ethics – principles
a) Public: Software developers must behave in the public interest.
b) Client and Employer: Software engineers must behave in the client's and employer's best
interests while also upholding the public interest.
c) Product: Software developers must make sure that their final products and all relevant
updates adhere to the highest industry standards.
d) Judgment: Software engineers must exercise independent and honest judgment in their
work.
e) Management: Software engineering managers and executives must support and advance an
ethical management philosophy for the creation and upkeep of software.
f) Profession: Software engineers must enhance the standing and reputation of their field in a
way that serves the general good.
g) Coworkers: Software developers must treat their coworkers fairly and encourage them.
h) Self: Software engineers should encourage an ethical approach to the profession's practice
and take part in lifelong learning about it.

4.0 Conclusion
Software engineering offers a standardized process for creating software. Computer programs
and applications are designed and developed by software engineers. Software engineers need
to have professional attributes and a code of ethics to design better software.

5.0 Summary
This unit defines Software Engineering. The attributes and ethics of professional Software
development are also presented.

Dr. Stephen Akuma Page 8

You might also like