Rekayasa Perangkat Lunak Part-2 Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
Outline of this presentation Attributes of Good Software Why Software Engineering ? What is Software Product ? Software Myths Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
Attributes of Good Software Maintainability Dependability Efficiency Usability Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
Attributes of Good Software Maintainability more than 50% of software cost is due to maintenance Easy to maintain Good Documentation Good Design Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
Attributes of Good Software Dependability Reliability, Do the Right Process Security, Good Thread Protection Safety No Surprise On-line & Off-line Help Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
Attributes of Good Software Efficiency Memory, Small Memory Usage CPU time Efficient cycle time Storage Minimum Amount of Storage Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
Attributes of Good Software Usability User Interface Familiar Look Nice & Complete Incorporate Message Alert Documentation User Guide Thorough & Complete Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
Analogy with bridge building: Over a stream Why Software Engineering ? Analogy with bridge building: Over a stream easy, one person job Over River Severn … ? (the techniques do not scale) Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
Why Software Engineering ? ...to get away from ad hoc and unpredictable software development towards a systematic, understood one… Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
a general market or may be developed for a particular customer What is Software Product ? a general market Software products may be developed for : or may be developed for a particular customer Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
Generic What is Software Product ? Software products may be (for general market) developed to be sold to a range of different customers e.g. Excel or Word or Visual Basic etc Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
Bespoke / Custom What is Software Product ? Software products may be (for particular customer) developed for a single customer according to their specification. e.g. Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
What is Software Product ? New software can be created by Developing new programs, or Reusing existing software Configuring generic software systems Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
What is Software Product ? New software can be created by Developing new programs, Starting from scratch one full development cycle Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
What is Software Product ? New software can be created by Reusing existing software Not starting from scratch Using own working software Modifying & Adapting with the New Requirement Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
What is Software Product ? New software can be created by Configuring generic software systems Not starting from scracth Using on the shelve software Tailoring with the requirement Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
Software Myths Cost - Schedule - Quality Use Build Management Customer Wrong Assumption From Management Cost - Schedule - Quality Customer Use Developer Build CATATAN Myth = Mitos, sesuatu yang diyakini kebenarannya, padahal sebenarnya tidak demikian adanya. Contoh: Mitos: Jangan suka mandi malam hari, nanti bisa terkena rematik Yang sebenarnya: Orang yang menderita rematik tidak dianjurkan mandi malam hari dengan air dingin, karena rematiknya (kalau terkena air/udara dingin) akan kambuh. Jadi orang dengan rematik bisa saja mandi dimalam hari, asal menggunakan air hangat/panas. Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
Software Myths Management Myths Myth Fact Standard and procedures are already exist for producing software Fact Standards are rarely used Developers rarely know about them Standards are often out-of date and incomplete Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
Software Myths Management Myths (cont.) Myth Fact State-of-the-art tool are the solution Fact A fool with a tool is still a fool Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
Software Myths Management Myths (cont.) Myth Fact If we get behind schedule, we can always add more peoples and thus catch up Fact Software development is not a mechanistic process like manufacturing. Adding people to a late software project makes it later. What about Training - Integration - Social Aspect Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
Software Myths Developer Myth Myth Fact The only deliverable is the working program(s). Fact A working program is only one part of a software configuration that includes requirements and specification documents, testing information and other developmental and maintenance information. Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
Software Myths Developer Myth (cont.) Myth Fact Once the program is written and it works, then the job is done. Fact Between 50 and 70 percent of all effort expended on a program will be expended after it is delivered to the customer. Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
Software Myths Developer Myth (cont.) Myth Fact Until the program is running, there is no way to assess its quality. Fact One of the most effective software quality assurance mechanisms is the formal technical review and this can be applied from the inception of the project. Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
Software Myths Customer Myth Myth Fact A general statement of objectives is sufficient to begin writing programs - we can fill in details later. Fact Thorough communication between customer and developer needed Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
Software Myths Customer Myth (cont.) Myth Fact Changes can be easily accommodated because software is flexible Fact Changes happen as a fact of life late changes are expensive Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
Finished, Questions? Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi