Marwondo
Fakultas Teknologi dan Informatika
Universitas Informatika dan Bisnis Indonesia
Engineering
Pertemuan ke-2
What is Engineering?
Engineering/Rekayasa adalah aplikasi
praktis ilmu pengetahuan dan matematika
untuk memecahkan masalah.
Engineer/Insinyur adalah pemecah
masalah yang ingin bekerja lebih efisien
dan cepat serta lebih murah.
What is
Sw?
What is Software?
3
Software is: (1) instructions (computer programs)
that when executed provide desired features,
function, and performance; (2) data structures
that enable the programs to adequately
manipulate information and (3) documentation
that describes the operation and use of the
programs.
Definisi
lain Sw
What is software?
Computer programs and associated documentation such as
requirements, design models and user manuals.
Software products may be developed for a particular customer or
may be developed for a general market.
Software products may be
Generic - developed to be sold to a range of different customers e.g. PC
software such as Excel or Word.
Bespoke (custom) - developed for a single customer according to their
specification.
New software can be created by developing new programs,
configuring generic software systems or reusing existing software.
Karakteristik
Sw
What is Software?
Software is developed or engineered, it is not
manufactured in the classical sense.
Software doesn't "wear out."
Although the industry is moving toward component-based
construction, most software continues to be custom-built.
5
Jenis Sw
Software Applications
System software
Application software
Engineering/scientific software
Embedded software
Product-line software
WebApps (Web Applications)
AI software
6
Jenis Sw
other
Software—New Categories
Open world computing —pervasive, distributed
computing
Ubiquitous computing —wireless networks
Netsourcing —the Web as a computing engine
Open source —”free” source code open to the computing
community (a blessing, but also a potential curse!)
• Data mining
• Grid computing
• Cognitive machines
• Software for nanotechnologies
Also …
7
Computing
Computing Science: Definisi
Singkat
Cabang Ilmu Komputasi adalah :
• the systematic study of algorithmic processes
that describe and transform information: their
theory, analysis, design, efficiency,
implementation, and application.
Pertanyaan mendasar dari sebuah
komputasi adalah "What can be
(efficiently) automated?"
Gambaran
SwE
A Software Engineering
Definisi
SwE
What is Software Engineering
Software Engineering: (1) The application of a systematic, disciplined,
quantifiable approach to the development, operation, and maintenance of
software; that is, the application of engineering to software. (2) The study of
approaches as in (1).
Software engineering is the process of solving customer’s problems by the
systematic development and evolution of large, high-quality software systems
within cost, time, and other constraints. It aims at applying engineering
principles to the entire software life-cycle: requirements analysis, measurement,
design, validation, implementation, testing, documentation, and management .
Rekayasa perangkat lunak (RPL, atau dalam bahasa Inggris: Software Engineering
atau SE) adalah satu bidang profesi yang mendalami cara-cara pengembangan
perangkat lunak termasuk pembuatan, pemeliharaan, manajemen organisasi
pengembanganan perangkat lunak dan manajemen kualitas.
Definisi
SwE other
Rekayasa perangkat lunak adalah profesi yang
bersangkutan dengan menciptakan dan memelihara
aplikasi perangkat lunak dengan menerapkan teknologi
dan praktik dari ilmu komputer, manajemen proyek,
rekayasa, domain aplikasi, dan bidang lainnya.
IEEE Computer Society mendefinisikan rekayasa
perangkat lunak sebagai penerapan suatu pendekatan
yang sistematis, disiplin dan terkuantifikasi atas
pengembangan, penggunaan dan pemeliharaan
perangkat lunak, serta studi atas pendekatan-
pendekatan ini, yaitu penerapan pendekatan
engineering atas perangkat lunak.
Definisi SwE
Concl
What is software engineering?
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.
SwE
Activity
What is Software
Engineering?
Secara detail, Software engineering/Rekayasa Perangkat Lunak
adalah:
•a modelling activity -- software engineers deal with complexity through
modelling, by focusing at any one time on only the relevant details and
ignoring everything else.
•model -- an abstraction of reality
•analysis -- constructing a model of the problem domain
•design -- constructing a model of the solution domain
•In OO methods, the solution domain model is an extension of the problem
domain model, so that the structure of the software reflects that of the
problem.
•a problem-solving activity -- models are used to search for an acceptable
solution
•driven by experimentation
•reuses pattern solutions
•incremental evolution of the system toward one acceptable to the client
•revised in response to change
SwE
Activity
What is Software Engineering?
(lanjutan)
o a knowledge acquisition activity -- in modelling the application and
solution domain, software engineers collect data, organize it into
information, and formalize it into knowledge.
 nonlinear -- new information may invalidate previous knowledge
 risk-based development -- identify high-risk components to avoid
late surprises
 issue-based development -- execute development activities in
parallel, organizing according to issues which still need resolution
 iterative development -- design and implement the high-risk
(difficult) parts first
o a rationale-driven activity -- software engineers need to capture the
context in which decisions were made and the rationale behind these
decisions in order to understand the implications of a proposed change
when revisiting a decision.
 assists in dealing with changing systems
 useful in the maintenance phase
Layered
A Layered Technology
15
Software Engineering
a “quality” focus
process model
methods
tools
Engineering
02_Introduction to  Software Engineering(1).pptx

02_Introduction to Software Engineering(1).pptx

  • 1.
    Marwondo Fakultas Teknologi danInformatika Universitas Informatika dan Bisnis Indonesia Engineering Pertemuan ke-2
  • 2.
    What is Engineering? Engineering/Rekayasaadalah aplikasi praktis ilmu pengetahuan dan matematika untuk memecahkan masalah. Engineer/Insinyur adalah pemecah masalah yang ingin bekerja lebih efisien dan cepat serta lebih murah. What is Sw?
  • 3.
    What is Software? 3 Softwareis: (1) instructions (computer programs) that when executed provide desired features, function, and performance; (2) data structures that enable the programs to adequately manipulate information and (3) documentation that describes the operation and use of the programs. Definisi lain Sw
  • 4.
    What is software? Computerprograms and associated documentation such as requirements, design models and user manuals. Software products may be developed for a particular customer or may be developed for a general market. Software products may be Generic - developed to be sold to a range of different customers e.g. PC software such as Excel or Word. Bespoke (custom) - developed for a single customer according to their specification. New software can be created by developing new programs, configuring generic software systems or reusing existing software. Karakteristik Sw
  • 5.
    What is Software? Softwareis developed or engineered, it is not manufactured in the classical sense. Software doesn't "wear out." Although the industry is moving toward component-based construction, most software continues to be custom-built. 5 Jenis Sw
  • 6.
    Software Applications System software Applicationsoftware Engineering/scientific software Embedded software Product-line software WebApps (Web Applications) AI software 6 Jenis Sw other
  • 7.
    Software—New Categories Open worldcomputing —pervasive, distributed computing Ubiquitous computing —wireless networks Netsourcing —the Web as a computing engine Open source —”free” source code open to the computing community (a blessing, but also a potential curse!) • Data mining • Grid computing • Cognitive machines • Software for nanotechnologies Also … 7 Computing
  • 8.
    Computing Science: Definisi Singkat CabangIlmu Komputasi adalah : • the systematic study of algorithmic processes that describe and transform information: their theory, analysis, design, efficiency, implementation, and application. Pertanyaan mendasar dari sebuah komputasi adalah "What can be (efficiently) automated?" Gambaran SwE
  • 9.
  • 10.
    What is SoftwareEngineering Software Engineering: (1) The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. (2) The study of approaches as in (1). Software engineering is the process of solving customer’s problems by the systematic development and evolution of large, high-quality software systems within cost, time, and other constraints. It aims at applying engineering principles to the entire software life-cycle: requirements analysis, measurement, design, validation, implementation, testing, documentation, and management . Rekayasa perangkat lunak (RPL, atau dalam bahasa Inggris: Software Engineering atau SE) adalah satu bidang profesi yang mendalami cara-cara pengembangan perangkat lunak termasuk pembuatan, pemeliharaan, manajemen organisasi pengembanganan perangkat lunak dan manajemen kualitas. Definisi SwE other
  • 11.
    Rekayasa perangkat lunakadalah profesi yang bersangkutan dengan menciptakan dan memelihara aplikasi perangkat lunak dengan menerapkan teknologi dan praktik dari ilmu komputer, manajemen proyek, rekayasa, domain aplikasi, dan bidang lainnya. IEEE Computer Society mendefinisikan rekayasa perangkat lunak sebagai penerapan suatu pendekatan yang sistematis, disiplin dan terkuantifikasi atas pengembangan, penggunaan dan pemeliharaan perangkat lunak, serta studi atas pendekatan- pendekatan ini, yaitu penerapan pendekatan engineering atas perangkat lunak. Definisi SwE Concl
  • 12.
    What is softwareengineering? 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. SwE Activity
  • 13.
    What is Software Engineering? Secaradetail, Software engineering/Rekayasa Perangkat Lunak adalah: •a modelling activity -- software engineers deal with complexity through modelling, by focusing at any one time on only the relevant details and ignoring everything else. •model -- an abstraction of reality •analysis -- constructing a model of the problem domain •design -- constructing a model of the solution domain •In OO methods, the solution domain model is an extension of the problem domain model, so that the structure of the software reflects that of the problem. •a problem-solving activity -- models are used to search for an acceptable solution •driven by experimentation •reuses pattern solutions •incremental evolution of the system toward one acceptable to the client •revised in response to change SwE Activity
  • 14.
    What is SoftwareEngineering? (lanjutan) o a knowledge acquisition activity -- in modelling the application and solution domain, software engineers collect data, organize it into information, and formalize it into knowledge.  nonlinear -- new information may invalidate previous knowledge  risk-based development -- identify high-risk components to avoid late surprises  issue-based development -- execute development activities in parallel, organizing according to issues which still need resolution  iterative development -- design and implement the high-risk (difficult) parts first o a rationale-driven activity -- software engineers need to capture the context in which decisions were made and the rationale behind these decisions in order to understand the implications of a proposed change when revisiting a decision.  assists in dealing with changing systems  useful in the maintenance phase Layered
  • 15.
    A Layered Technology 15 SoftwareEngineering a “quality” focus process model methods tools Engineering