You are on page 1of 28

SI201415

SOFTWARE ENGINEERING
4 Credits
Week 1
Introduction to Software Engineering

M. Gilvy Langgawan Putra, S.Kom.,M.MT - Software


Engineering
Outline
• Course Planning
• History Software Engineering
• Definition of Software Engineering
• The Software Process
• Software Engineering Ethics

M. Gilvy Langgawan Putra, S.Kom.,M.MT - Software


Engineering
Course Planing
• 16 Weeks Theory
• 16 Weeks Practice

1. Praktikum (Proyek RPL) : 20% - (30% SKPL, 40% DPPL, 20% DUPL, 10% Kehadiran)
2. Perkuliahan : 80% ▪ Kuis – 20%
▪ Tugas – 10%
▪ UTS – 20%
▪ UAS (Presentasi Tugas AKhir) – 50%

M. Gilvy Langgawan Putra, S.Kom.,M.MT - Software


Engineering
History Software Engineering
• The notion of software engineering was first proposed in 1968 at a
conference held to discuss what was then called the software crisis
(Naur and Randell 1969). It became clear that individual approaches to
program development did not scale up to large and complex software
systems. These were unreliable, cost more than expected, and were
delivered late.
• Throughout the 1970s and 1980s, a variety of new software
engineering techniques and methods were developed, such as
structured programming, information hiding, and object-oriented
development. Tools andstandard notations were developed which are
the basis of today’s software engineering.
M. Gilvy Langgawan Putra, S.Kom.,M.MT - Software
Engineering
Definition of Software Engineering
• Software ..?
• Computer programs and associated documentation. Software
products may be developed for a particular customer or may be
developed for a general market.
• What are the attributes of good software?
• Good software should deliver the required functionality and
performance to the user and should be maintainable, dependable and
usable.

M. Gilvy Langgawan Putra, S.Kom.,M.MT - Software


Engineering
Definition of Software Engineering cont.
• What is software engineering?
• Software engineering is an engineering discipline that is concerned
with all aspects of software production from initial conception to
operation and maintenance.
• What are the fundamental software engineering activities?
• Software specification, software development, software validation
and software evolution.

M. Gilvy Langgawan Putra, S.Kom.,M.MT - Software


Engineering
Definition of Software Engineering cont.
• What is the difference between software engineering and computer
science?
• Computer science focuses on theory and fundamentals; software
engineering is concerned with the practicalities of developing and
delivering useful software.
• What is the difference between software engineering and system
engineering?
• System engineering is concerned with all aspects of computer based
systems development including hardware, software and process
engineering. Software engineering is part of this more general process.
M. Gilvy Langgawan Putra, S.Kom.,M.MT - Software
Engineering
Definition of Software Engineering cont.
Software engineers are concerned with developing software products,
that is, software that can be sold to a customer. There are two kinds of
software product:
• Generic products These are stand-alone systems that are produced by
a development organization and sold on the open market to any
customer who is able to buy them.
• Customized (or bespoke) software These are systems that are
commissioned by and developed for a particular customer. A software
contractor designs and implements the software especially for that
customer
M. Gilvy Langgawan Putra, S.Kom.,M.MT - Software
Engineering
Definition of Software Engineering cont.

M. Gilvy Langgawan Putra, S.Kom.,M.MT - Software


Engineering
The Software Process
• A process is a collection of activities, actions, and tasks that are
performed when some work product is to be created.
• In the context of software engineering, a process is not a rigid
prescription for how to build computer software. Rather, it is an
adaptable approach that enables the people doing the work (the
software team) to pick and choose the appropriate set of work
actions and tasks. The intent is always to deliver software in a timely
manner and with sufficient quality to satisfy those who have
sponsored its creation and those who will use it.

M. Gilvy Langgawan Putra, S.Kom.,M.MT - Software


Engineering
The Software Process cont.
• A process framework establishes the foundation for a complete
software engineering process by identifying a small number of
framework activities that are applicable to all software projects,
regardless of their size or complexity.
• In addition, the process framework encompasses a set of umbrella
activities that are applicable across the entire software process.

M. Gilvy Langgawan Putra, S.Kom.,M.MT - Software


Engineering
The Software Process cont.
Communication
•A generic
process
framework for
software Deployment Planning

engineering
encompasses
five activities:

Construction Modeling

M. Gilvy Langgawan Putra, S.Kom.,M.MT - Software


Engineering
The Software Process cont.
Before any technical work can
commence, it is critically important to
Communication
communicate and collaborate with the
customer (and other stakeholders11 The
intent is to understand stakeholders’
objectives for the project and to gather
Deployment Planning
requirements that help define software
features and functions.

Construction Modeling

M. Gilvy Langgawan Putra, S.Kom.,M.MT - Software


Engineering
The Software Process cont.
Communication

Any complicated journey can be


simplified if a map exists. A software
Deployment Planning
project is a complicated journey, and the
planning activity creates a “map” that
helps guide the team as it makes the
journey. The map—called a software
project plan—defines the software
engineering work by describing the
technical tasks to be conducted, the risks
that are likely, the resources that will be
Construction Modeling required, the work products to be
produced, and a work schedule.

M. Gilvy Langgawan Putra, S.Kom.,M.MT - Software


Engineering
The Software Process cont.
Whether you’re a landscaper, a bridge
Communication builder, an aeronautical
engineer, a carpenter, or an architect,
you work with models every day. You
create a “sketch” of the thing so that
you’ll understand the big picture—what
Deployment Planning it will look like architecturally, how the
constituent parts fit together, and
many other characteristics. If required,
you refine the sketch into greater and
greater detail in an effort to better
understand the problem and how you’re
going to solve it. A software engineer
does the same thing by creating models
Construction Modeling to better understand software
requirements and the design that will
achieve those requirements.
M. Gilvy Langgawan Putra, S.Kom.,M.MT - Software
Engineering
The Software Process cont.
Communication

Deployment Planning

This activity combines code generation


(either manual or automated) and the
Construction testing that is required to uncover errors
in the code.
Modeling

M. Gilvy Langgawan Putra, S.Kom.,M.MT - Software


Engineering
The Software Process cont.
Communication

The software (as a complete entity or as


a partially completed increment) is
Deployment delivered to the customer who evaluates
the delivered product and provides
Planning feedback based on the evaluation.

Construction

Modeling

M. Gilvy Langgawan Putra, S.Kom.,M.MT - Software


Engineering
The Software Process cont.
• These five generic framework activities can be used during the
development of small, simple programs, the creation of large Web
applications, and for the engineering of large, complex computer-
based systems. The details of the software process will be quite
different in each case, but the framework activities remain the same.
• Software engineering process framework activities are complemented
by a number of umbrella activities. In general, umbrella activities are
applied throughout a software project and help a software team
manage and control progress, quality, change, and risk.

M. Gilvy Langgawan Putra, S.Kom.,M.MT - Software


Engineering
The Software Software

Process cont. Work product


project
tracking and
control

preparation Risk

• Typical umbrella and


production—
management

activities include:

Software
Reusability
quality
management
assurance

Software
configuration Technical
management reviews

Measurement

M. Gilvy Langgawan Putra, S.Kom.,M.MT - Software


Engineering
allows the software team to assess progress against the project
Software plan and take any necessary action to maintain the schedule.
project
tracking and
control
Work product
preparation
and
Risk
management
assesses risks that may affect the outcome of the
production— project or the quality of the product.

Reusability
Software defines and conducts the activities required
quality
management
assurance to ensure software quality.

assesses software engineering work products


Software
configuration Technical
reviews
in an effort to uncover and remove errors
management
before they are propagated to the next activity.
Measurement

defines and collects process, project, and product measures


that assist the team in delivering software that meets
stakeholders’ needs; can be used in conjunction with all
other framework and umbrella activities.
M. Gilvy Langgawan Putra, S.Kom.,M.MT - Software
Engineering
Software
project
tracking and
control
encompasses the activities required to Work product
create work products such as models, preparation
and
Risk
management
documents, logs, forms, and lists. production—

defines criteria for work Reusability


Software
product reuse (including management
quality
assurance
software components) and
establishes mechanisms to
achieve reusable components.

Software
Technical
manages the effects of change configuration
management reviews

throughout the software process.


Measurement

M. Gilvy Langgawan Putra, S.Kom.,M.MT - Software


Engineering
Software Engineering Ethics
• Like other engineering disciplines, software engineering is carried out
within a social and legal framework that limits the freedom of people
working in that area. As a software engineer, you must accept that
your job involves wider responsibilities than simply the application of
technical skills. You must also behave in an ethical and morally
responsible way if you are to be respected as a professional engineer.

M. Gilvy Langgawan Putra, S.Kom.,M.MT - Software


Engineering
Software Engineering Ethics
• There are areas where standards of
acceptable behavior are not bound by Confidentiality
laws but by the more tenuous notion of
professional responsibility. Some of
these are: Computer
Competence
misuse

Intellectual
property rights

M. Gilvy Langgawan Putra, S.Kom.,M.MT - Software


Engineering
Software Engineering Ethics
You should normally respect the confidentiality
of your employers or clients regardless of
Confidentiality whether or not a formal confidentiality agreement
has been signed.

You should not misrepresent your level


Computer of competence. You should not
Competence knowingly accept work that is outside
misuse your competence.

Intellectual You should be aware of local laws governing


the use of intellectual property such as
property rights patents and copyright. You should be careful
to ensure that the intellectual property of
employers and clients is protected.
M. Gilvy Langgawan Putra, S.Kom.,M.MT - Software
Engineering
Software Engineering Ethics

Confidentiality
You should not use your technical skills
to misuse other people’s computers.
Computer misuse ranges from relatively Computer
trivial (game playing on an employer’s Competence
machine) to extremely serious
misuse
(dissemination of viruses or other
malware).
Intellectual
property rights

M. Gilvy Langgawan Putra, S.Kom.,M.MT - Software


Engineering
Discussion
• Case Study
• There are 4 cases study.
• Make a 4 groups, and group 1 will discuss in book chapter 1 2016
Software Engineering, 10th Edition by Ian Sommerville, Page 31.
• I will breakout the room, and your group will discuss in that room.

M. Gilvy Langgawan Putra, S.Kom.,M.MT - Software


Engineering
Discussion
• Discussion in 15 Minutes, after that your group will presentation
about the result of your group discussion.
• Presentation Maximum in 10 Minutes.
• Discussion Topics are :

M. Gilvy Langgawan Putra, S.Kom.,M.MT - Software


Engineering
Thank you!!

M. Gilvy Langgawan Putra, S.Kom.,M.MT - Software


Engineering

You might also like