Software Engineering Engine Engineeringe Engineeringring Romi Satria Wahono [email protected] WA/SMS: +6281586220090 1 Romi Satria Wahono SD Sompok Semarang (1987) SMPN 8 Semarang (1990) SMA Taruna Nusantara Magelang (1993) B.Eng, M.Eng and Ph.D in Software Engineering from

Saitama University Japan (1994-2004) Universiti Teknikal Malaysia Melaka (2014) Research Interests: Software Engineering and Machine Learning Founder dan Koordinator IlmuKomputer.Com Peneliti LIPI (2004-2007) Founder dan CEO PT Brainmatics Cipta Informatika 2 3 Le Engineeringarning De Engineeringsign

4 Te Engineeringxtbooks 5 Course Engineering Outline Engineering 6 1. Introduction Introduction 1.1 What is Software 1.2 What is Software Engineering

1.3 Software Myths 1.4 Software Engineering Discipline 1. Introduction1 What is Software Engineering 8 Software Engineering Di Se Engineeringkitar Kita Hampir semua peralatan elektronik digerakkan oleh software! Mobil, pesawat terbang, kapal laut, Telepon, bangunan, kota, Semua disiplin ilmu menggunakan software!

Teknik dan sains (teknik sipil, teknik mesin, teknik geologi, ) Kedokteran, farmasi, Hardware tidak berfungsi tanpa software di dalamnya 9 The Engineering De Engineeringfinition of Software Engineering Computer programs, procedures, and possibly associated docu mentation and data pertaining to the operation of a computer sy stem (IEEE, 1991) (ISO, 1997) (ISO/IEC 9000-3)

(1) Instructions (computer programs) that when executed provid e desired features, function, and performance (2) Data structures that enable the programs to adequately mani pulate information, and (3) Descriptive information in both hard copy and virtual forms t hat describes the operation and use of the programs (Pressman, 2014) Computer programs and associated documentation (Sommerville, 2 015) 10 Je Engineeringnis Software Engineering

11 Je Engineeringnis Software Engineering (Marke Engineeringt) Software Generik Perangkat lunak standar yang dipr oduksi oleh perusahaan pengemb ang dan dijual pada pasar terbuka ke siapapun yang bisa membeliny a (Shrink-wrapped) Software Pesanan Perangkat lunak yang dikembangk

an khusus dan disesuaikan denga n kebutuhan pelanggan (Sommerville, 2015) 12 13 14 Je Engineeringnis Software Engineering (Domain) 1. 2. 3.

4. 5. 6. 7. System software Application software Engineering/scientific software Embedded software Product line software Web applications Artificial intelligence software (Pressman, 2014)

15 Syste Engineeringm Software Engineering System software is a collection of programs written to service other programs It is characterized by heavy interaction with comput er hardware; heavy usage by multiple users; concur rent operation that requires scheduling, resource sh aring, and sophisticated process management; com plex data structures; and multiple external interface s Ex. Compilers, operating system, drivers etc. 16

Application Software Engineering Application software consists of standalone progra ms that solve a specific business need Application software is used to control the business function in real-time. 17 Engine Engineeringe Engineeringring /Scie Engineeringntific soft ware Engineering Characterized by "number crunching" algorithms Applications range from astronomy to volcano logy, from aut

omotive stress analysis to space shuttle orbital dynamics, an d from molecular biology to automated manufacturing Ex. Computer Aided Design (CAD), system stimulation etc. 18 Embe Engineeringdde Engineeringd Software Engineering It resides in read-only memory and is used to contr ol products and systems Embedded software can perform limited and esote ric functions Ex. Elevator, Air Conditioner, keypad control for a m icrowave oven

19 Product Line Engineering Software Engineering Designed to provide a specific capability for use by many different customers, product line software ca n focus on a limited and esoteric marketplace Ex. Word processing, spreadsheet, CG, multimedia, etc. 20 We Engineeringb Applications

Web apps can be little more than a set of linked hyp ertext files It evolving into sophisticated computing environme nts that not only provide standalone features, func tions but also integrated with corporate database a nd business applications 21 Artificial Inte Engineeringllige Engineeringnce Engineering Software Engineering AI software makes use of non-numerical algorithms to solve complex problems that are not amenable t o computation or straightforward analysis

Ex. Robotics, expert system, game playing, etc. 22 Je Engineeringnis Software Engineering (Lise Engineeringnsi) Open Source Software Proprietary Software Linux, OpenOffice, GIMP MS Windows, MS Office 2013, Adobe Photoshop

Purchased without its source code Users must pay to get Users cannot modify the software Users must have a license from vendor before install into computer Fully support from vendor if anything happened to the software Purchased with its source code Users can get for free of charge Users can modify the software Users can install software freely into any computer

No one is responsible to the software 23 Ope Engineeringn Source Engineering Software Engineering Software yang source codenya terbuka dan didistribu sikan dalam suatu format lisensi yang memungkinkan pihak lain secara bebas memperbanyak dan memodi fikasi source code didalamnya Hak cipta tetap ada, tapi lisensi memungkinkan orang lain bebas untuk menggunakan dan memodifikasi so ftware tersebut

Jenis lisensi open source software: GNU General Public License (GPL) Apache License BSD license MIT License Mozilla Public License 24

Proprie Engineeringtary Software Engineering Software yang source codenya tertutup dan didistri busikan dengan suatu format lisensi yang membata si pihak lain untuk menggunakan, memperbanyak d an memodifikasi Lisensi proprietary software memungkinkan orang l ain menggunakan software yang kita buat dengan d iikuti penyerahan royalti (uang) ke pemilik hak cipta nya Shareware dan Freeware adalah proprietary softwa re. Free for use belum tentu free for (redistribute) a tau free for modify!

25 Pe Engineeringranan Software Engineering 1. Menggantikan peran manusia: Denga n otomasi terhadap suatu tugas atau proses 2. Memperkuat peran manusia: Dengan membantu manusia mengerjakan su atu tugas atau proses dengan lebih b aik dan tertata 3. Restrukturisasi Peran Manusia: Deng an melakukan perubahan-perubahan thd sekumpulan tugas atau proses

4. Hiburan dan Permainan: Dengan menyajikan aplikasi interaktif hiburan yang semakin dekat dengan kenyataan 26 Hardware Engineering vs. Introduction Software Engineering Hardware Manufactured Wear out Built using components Relatively simple Visible Defect

Software Developed/Engineered Deteriorate Custom built Complex Invisible Defect 27 Manufacturing vs. Introduction De Engineeringve Engineeringlop me Engineeringnt Once a hardware product has been manufactured, i

t is difficult or impossible to modify In contrast, software products are routinely modified an d upgraded. In hardware, hiring more people allows you to acco mplish more work, but the same does not necessarily hold true in software engineering Unlike hardware, software costs are concentrated i n design rather than production 28

Failure Engineering Curve Engineering for Hardware Engineering 29 Failure Engineering Curve Engineering for Software Engineering When a hardware component wears out, it is replaced by a spare part There are no software spare parts. Every software failure indicates an error in design or in the process through which design was translated into machi ne executable code Therefore, software maintenance involves considerably more complexity 30

Compone Engineeringnt Base Engineeringd vs. Introduction Custom Built Hardware products typically employ many standard ized design components Most software continues to be custom built The software industry does seem to be moving (slo wly) toward component-based construction 31 Visibility of Product

Produk software tidak terlihat dengan kasat mata, t ermasuk bila ada cacat (defect) dari produk Produk hardware terlihat dengan kasat mata, terma suk bila ada cacat (defect) dari produk 32 Warranty Lawsuits Mortenson vs. Timeberline Software (TS) (1993) Mortenson menggunakan software yang diproduksi TS untuk me mbuka tender pembangunan rumah sakit Software memiliki bug sehingga memenangkan perusahaan yang mengajukan proposal paling mahal (kerugian 2 miliar USD)

TS tahu tentang bug itu, tapi tidak mengirimkan update ke Morte nson Pengadilan di Amerika Serikat memenangkan perusahaan TS Uniform Computer Information Transaction Act (UCIT A) allows software manufacturers to: disclaim all liability for defects prevent the transfer of software from person to person 33 Disclaime Engineeringr of Warrantie Engineerings DISCLAIMER OF WARRANTIES. TO THE MAXIMUM EXTENT PERMIT TED BY APPLICABLE LAW, MICROSOFT AND ITS SUPPLIERS PROVIDE


ARE COMPONENT AND ANY SUPPORT SERVICES REMAINS WITH YOU. 34 1. Introduction2 What is Software Engineering Engine Engineeringe Engineeringr ing? 35 The Engineering Te Engineeringrm Software Engineering Engine Engineering e Engineeringring Margaret Hamilton (NASA engineer), co

ined the term software engineering i n 1960s Standing with the code (on punch car ds) she developed for the Apollo 11 Me Engineeringngapa Software Engineering Engine Engineeringe Engineering ring? Terminologi software engineering seca ra resmi pertama kali digunakan pada conference tentang software crisis tah un 1968 Krisis perangkat lunak merupakan akib

at langsung dari lahirnya komputer ge nerasi ke 3 yang canggih pada waktu it u Perangkat lunak yang dihasilkan menjadi menjadi beberapa kali lebih besar dan ko mpleks Pendekatan informal tidak cukup efektif (cost, waktu dan kualitas) dalam pengem bangan perangkat lunak Biaya hardware jatuh dan biaya perangka t lunak naik cepat 37

Ge Engineeringne Engineeringrasi Kompute Engineeringr 1. Generasi I (1946-1959) Menggunakan tabung hampa ENIAC, EDSAC 2. Generasi II (1959-1964) Menggunakan transistor PDP-1, PDP-8, UNIVAC, IBM 70xx 3. Generasi III (1964-1979) Menggunakan IC IBM S360, NOVA, UNIVAC 1108

4. Generasi IV (1980-sekarang) Menggunakan VLSI 38 What is Software Engineering Engine Engineeringe Engineeringring? Disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap a wal spesifikasi, desain, konstruksi, testing sa mpai pemeliharaan setelah digunakan (Sommerville, 2009) 39

What is Software Engineering Engine Engineeringe Engineeringri ng? Definition (IEEE, 1993): (1) The application of systematic, disciplined, quantifiabl e approach to the development, operation, and mainten ance of software; that is, the application of engineering to software.(2) The study of approaches as in (1) above Its a discipline that is concerned with all aspects of softw are production Software engineers should adopt: Systematic and organized approach to their work

Use appropriate tools and techniques depending on the problem to be solved The development constraints and the resources availabl e 40 What is Software Engineering Engine Engineeringe Engineeringri ng? Various roles Interact Provide the

knowledge for Software Engineering Software requirements engineer Software designer / architect Software Engineers

Domain expert Software test engineer Software maintenance engineer Can play the role of / manage projects End user + management

Will use Software project manager Is the art and science of building high-quality software , across ALL phases ... Programming

Software Program Provide the knowledge for Developers / programmers ONLY 41

What is Software Engineering Engine Engineeringe Engineeringri ng? Software engineering is NOT (just) programming But, of course, to be a good software engineer, one should be good at programming Software engineering is the study and application of engine ering to the design, development, testing, and maintenance of software systems Software engineering deal with issues such as: How can we develop a software in shortest time, lowest cost and with highest quality? How can we test a software in shortest time, lowest cost and with

highest quality? When we have a large team of programmers, how can we assign t he best people to development and testing tasks? How can we ensure we have inquired the software requirements f rom the client in the most efficient and effective way? 42 Software Engineering Engine Engineeringe Engineeringring Proble Engineering m Building software will always be hard. There is inherently no silver bullet (Brooks, 1987)

The Engineering Challe Engineeringnge Engineerings in Software Engineering Engi ne Engineeringe Engineeringring Good software: Should deliver the func tionality and performa nce that the software u sers need Should be maintainabl e, dependable and usa ble (Sommerville, 2012) 45

Software Engineering Quality Me Engineeringtrics Latihan Kognitif Jelaskan latar belakang munculnya disiplin software engineering! Jelaskan definisi dari software engineering! Apa yang disebut dengan software yang berkualita s? Jelaskan bagaimana cara mengukur kualitas softwar e! 47

1. Introduction3 Software Engineering Myths 48 Software Engineering Myths Definition: Beliefs about software and the process used to build it. Myths have number of attributes that have made them insidious (i.e. dangerous). Misleading Attitudes - caused serious problem for managers a nd technical people Software Myths:

Management myths: Managers in most disciplines, are often u nder pressure to maintain budgets, keep schedules on time, an d improve quality Customer Myths: Customer may be a person from inside or ou tside the company that has requested software under contract Practitioner's myths 49 Manage Engineeringme Engineeringnt Myths Myth1: We already have a book that's full of standards and proc edures for building software, won't that provide my peo ple with everything they need to know?

Reality: Are software practitioners aware of existence standards? Does it reflect modern software engineering practice? Is it complete? Is it streamlined to improve time to deliv ery while still maintaining a focus on quality? 50 Manage Engineeringme Engineeringnt Myths Myth2: If we get behind schedule, we can add more programmers and catch up

Reality: Software development is not a mechanistic process like manufacturin g. Adding people to a late software project makes it later (Brook, 1975) People can be added but only in a planned and well-coordinated man ner Myth3: If I decide to outsource the software project to a third party, I can jus t relax and let that firm build it Reality: If an organization does not understand how to manage and control s

oftware projects internally, it will invariably struggle when it outsourc e software projects 51 Custome Engineeringr Myths Myth1: A general statement of objectives is sufficient to begin writing programs we can fill in the details later Reality: A poor up-front definition is the major cause of failed software efforts. A formal and detailed description of the information domain, function, beh avior, performance, interfaces, design constraints, and validation criteria i

s essential. These characteristics can be determined only after thorough communication between customer and developer. Myth2: Project requirements continually change, but change can be easily accom modated because software is flexible Reality: Customer can review requirements and recommend modifications with r elatively little impact on cost. When changes are requested during softwa re design, the cost impact grows rapidly. Below mentioned figure for refe 52 rence.

Practitione Engineeringr's myths Myth1: Once we write the program and get it to work, our job is done Reality: Someone once said that "the sooner you begin 'writing code', t he longer it'll take you to get done." Industry data indicate that between 60 and 80 percent of all effort expended on software will be expended after it is delivered to the customer for the fir st time Myth2:

Until I get the program "running" I have no way of assessing its quality Reality: One of the most effective software quality assurance mechanis ms can be applied from the inception of a projectthe formal t echnical review 54 Practitione Engineeringr's myths Myth3: The only deliverable work product for a successful project is the workin g program

Reality: A working program is only one part of a software configuration that incl udes many elements. Documentation provides a foundation for success ful engineering and, more important, guidance for software support Myth4: Software engineering will make us create voluminous and unnecessary documentation and will invariably slow us down Reality: Software engineering is not about creating documents. It is about crea ting quality. Better quality leads to reduced rework. And reduced rewor

k results in faster delivery times 55 Latihan Kognitif Jelaskan dengan bahasa sendiri apa yang dim aksud dengan software! Jelaskan jenis-jenis software! Jelaskan karakteristik dari software yang me mbuat berbeda dengan produk hardware! 56 Latihan Analisis Kasus

PT ABC meminta jasa anda untuk membangun sebuah s itus portal untuk perusahaan PT ABC tersebut Anda menggunakan CMS opensource bernama Wordpr ess untuk engine dari situs portal yang dibuat Kemudian anda mengembangkan beberapa plugin yang sesuai dengan business process yang diinginkan oleh pe rusahaan tersebut. Sehingga akhirnya berhasil dibangun sebuah situs portal perusahaan yang lengkap dan sesua i dengan keinginan perusahan tersebut Anda mengirimkan invoice tagihan untuk perusahaan P T ABC sebesar Rp. 100 juta untuk biaya pembangunan s itus portal tersebut Apakah yang saya lakukan ini sah dan diperbolehkan?

57 1. Introduction4 Software Engineering Engine Engineeringe Engineeringring Disc ipline Engineering Disiplin Ilmu Software Engineering Engine Engineeringe Engineering ring 1. Peter J Dennings yang memimpin task force disipli n ilmu computing memasukkan software enginee ring sebagai satu disiplin ilmu (Dennings, 1999) 2. IEEE Computer Society membentuk tim khusus un tuk menyusun pohon ilmu Software Engineering (Software Engineering Body of Knowledge, SWEB

OK) 3. Software Engineering termasuk nama jurusan ata u fakultas yang diakui menurut IEEE Computing C urricula 2005 59 Matriks De Engineeringnnings 1999 1. Algoritma dan Struktur Data 2. Bahasa Pemrograman 3. Arsitektur Komputer 4. Sistem Operasi dan Jaringan 5. Software Engineering

6. Database dan Sistim Retrieval Informasi 7. Artificial Intelligence dan Robotik 8. Grafik 9. Human Computer Interaction 10.Ilmu Komputasi 11.Organizational Informatics 12.BioInformatik ( Peter J. Dennings, 1999 ) Software Engineering Engine Engineeringe Engineeringring Body of Knowle Engineeringdge Engineering (SWEBOK) 1. Software Requirements

2. Software Design 3. Software Construction 4. Software Testing 5. Software Maintenance 6. Software Configuration Management 7. Software Engineering Management 8. Software Engineering Process 9. Software Engineering Models and Methods 10. Software Quality 11. Software Engineering Professional Practice 12. Software Engineering Economics 13. Computing Foundations 14. Mathematical Foundations

15. Engineering Foundations 61 IEEE/ACM Computing Curricul a 2005 Computer Engineering (CE) Information System (IS) pengembangan sistem terintegrasi(software dan

hardware) analisa kebutuhan dan proses bisnis serta desain sistem Computer Engineer System Analyst Information Technology (IT) pengembangan

dan maintenance infrastruktur IT IT Engineer Computer Science (CS) konsep computing dan pengembangan software Computer Scientist Software Engineering (SE) pengembangan software

dan pengelolaan tahapan SDLC Software Engineer Why Be Engineeringcome Engineering a Software Engineering Engi ne Engineeringe Engineeringr? 5 Best Jobs in the World: 1. Software Engineer: $80,500 Average Pay and 46% 10 Year Growth 2. College Professor: $81,500 Average Pay and 31% 10 Year Growth

3. Financial Adviser: $122,500 Average Pay and 26% 10 Year Growth 4. Human Resources Manager: $73,500 Average Pay and 23% 10 Year Growth 5. Physician Assistant: $75,000 Average Pay and 50% 10 Year Growth 63 The Engineering World's Billionaire Engineerings 64

Re Engineeringfe Engineeringre Engineeringnce Engineering (Foundation) Ian Sommerville, Software Engineering 10th Edition, AddisonWesley, 2015 Roger S. Pressman, Software Engineering: A Practitioners A pproach 8th Edition, McGraw-Hill, 2014 P. Bourque and R.E. Fairley, eds., Guide to the Software Engi neering Body of Knowledge Version 3.0, IEEE Computer Soci ety, 2014 Albert Endres dan Dieter Rombach, A Handbook of Software and Systems Engineering, Pearson Education Limited, 2003 Yingxu Wang, Software Engineering Foundations: A Software Science Perspective, Auerbach Publications, Taylor & Francis Group, 2008

Re Engineeringfe Engineeringre Engineeringnce Engineering (Proce Engineeringss) Alan Dennis et al, Systems Analysis and Design with UML 4 th Edition, John Wiley and Sons, 2012 Dan Pilone and Russ Miles, Head First Software Development, OReilly Media, 2008 Barclay and Savage, Object-Oriented Design with UML and Ja va, Elsevier, 2004 Kenneth E. Kendall and Julie E Kendall, Systems Analysis and Design 8th Edition, Prentice Hall, 2010 Hassan Gomaa, Software Modeling and Design: UML, Use Cas es, Patterns, and Software Architectures, Cambridge Universit y Press, 2011

Layna Fischer (edt.), BPMN 2.0 Handbook Second Edition, Fut ure Strategies, 2012 Re Engineeringfe Engineeringre Engineeringnce Engineering (Quality) Daniel Galin, Software Quality Assurance, AddisonWesley, 2004 Kshirasagar Naik and Priyadarshi Tripathy, Software Testing and Quality Assurance, John Wiley & Sons, I nc., 2008 Jeff Tian, Software Quality Engineering, John Wiley & Sons, Inc., 2005 G. Gordon Schulmeyer, Handbook of Software Quali ty Assurance Fourth Edition, Artech House, 2008

Re Engineeringfe Engineeringre Engineeringnce Engineering (Re Engineeringse Engineeringarch) Christian W. Dawson, Project in Computing and Information Syst em a Student Guide 2nd Edition, Addison-Wesley, 2009 Mikael Berndtsson, Jrgen Hansson, Bjrn Olsson, Bjrn Lundell, Thesis Projects - A Guide for Students in Computer Science and I nformation System 2nd Edition, Springer-Verlag London Limited, 2008 Mary Shaw, Writing Good Software Engineering Research Paper s, Proceedings of the 25th International Conference on Software Engineering, 2003 C. Wohlin, P. Runeson, M. Host, M. C. Ohlsson, B. Regnell, and A. Wesslen, Experimentation in Software Engineering, Springer, 20 12

P. Runeson, M. Host, A. Rainer, and B. Regnell, Case Study Resea rch in Software Engineering: Guiidelines and Examples, John Wil ey & Sons, Inc., 2012 68

Recently Viewed Presentations

  • Cells and Tissues - Polk County School District

    Cells and Tissues - Polk County School District

    Cells and Tissues. SAP1d. Relate cellular metabolism and transport to homeostasis and cellular reproduction. SAP1e. Describe how structure and function are related in terms of cell and tissue types.
  • and present Investment Banking Shashank More 1 F

    and present Investment Banking Shashank More 1 F

    HTIL controlled 67% of the joint venture, with India's Essar Group holding the rest, Vodafone: Whether Indian authorities have the jurisdiction to tax a transaction that occurred outside India between parties that do not have a presence in India.
  • Credit by Exam

    Credit by Exam

    We are hoping this will get you directly in contact with the CBE providers. We will assist in any way we can. ... If you want to do online testing and or grading UT has a bulk order to get...
  • Applied Dentistry for the Veterinary Technician

    Applied Dentistry for the Veterinary Technician

    Explore the Teeth. Dental explorer - has a slender, wire-like working end that tapers to a sharp point and is used to explore the topography of the tooth surface (crowns). Explore . caries. Acid producing. b. acteria d. emineralization ....
  • Office of Research & Commercialization

    Office of Research & Commercialization

    The Cycle and Components… (Require Cash flows…!)Opportunity recognition. Technical . feasibility analysis . Design and development of platform. Prototype building and field testing


    It was originally called "Pattern Poetry" or "Shape Poetry." The term "Concrete Poem" was coined in the 1950s. Present an idea graphically by using the letters and/or words to create a picture FORM If you remove the form of the...
  • CHAPTER 5: The Integumentary System

    CHAPTER 5: The Integumentary System

    Chapter 5: The Integumentary System ... Lunula ("moons") pale crescent at base of nail where underlying blood vessels may be obscured Structure of a Nail Figure 5-13 * Cutaneous membrane = epidermis + dermis Parts of the Integumentary System Cutaneous...
  • Universidad Mesoamericana

    Universidad Mesoamericana

    Santana (2001) En el siglo XIX y principios del siglo XX, las drogas como la marihuana, los opiáceos y la cocaína se utilizaban en México como medicinas. En la primera década del siglo XX, el gobierno de EE.UU. trataba de...