Pengembangan perangkat lunak
Halaman ini sedang dipersiapkan dan dikembangkan sehingga mungkin terjadi perubahan besar. Anda dapat membantu dalam penyuntingan halaman ini. Halaman ini terakhir disunting oleh PinkDash (Kontrib • Log) 347 hari 1343 menit lalu. Jika Anda melihat halaman ini tidak disunting dalam beberapa hari, mohon hapus templat ini. |
Pengembangan perangkat lunak (juga disebut pengembangan aplikasi, desain perangkat lunak, merancang perangkat lunak, pengembangan aplikasi perangkat lunak, pengembangan aplikasi perusahaan, atau pengembangan platform)[1] adalah pengembangan suatu produk perangkat lunak. Istilah "pengembangan perangkat lunak" bisa dipakai untuk menyebut aktivitas pemrograman komputer, yaitu proses menulis dan mengelola kode sumber, namun dalam artian luas istilah ini mencakup semua hal yang terlibat antara penciptaan perangkat lunak yang diinginkan melalui pewujudan akhir perangkat lunak, idealnya dalam proses yang terencana dan terstruktur.[2] Karena itu, pengembangan perangkat lunak bisa mencakup penelitian, pengembangan baru, purwarupa, modifikasi, pemakaian kembali, rekayasa ulang, pengelolaan, atau aktivitas lain yang menghasilkan produk perangkat lunak.[3]
Perangkat lunak bisa dikembangkan untuk berbagai tujuan, tiga tujuan paling umum adalah memenuhi kebutuhan klien/bisnis tertentu (perangkat lunak kustom), memenuhi persepsi kebutuhan sejumlah pengguna potensial (perangkat lunak komersial dan terbuka), atau memenuhi kebutuhan pribadi (misalnya seorang ilmuwan menulis perangkat lunak untuk mengotomasikan sebuah tugas yang rumit). Pengembangan perangkat lunak tertanam adalah pengembangan perangkat lunak tertanam seperti yang dipakai untuk mengontrol produk konsumen, membutuhkan proses pengembangan yang terintegrasikan dengan pengembangan produk fisik yang dikontrol.
Perlunya pengawasan kualitas yang lebih baik pada proses pengembangan perangkat lunak menciptakan disiplin teknik perangkat lunak, yang bertujuan menerapkan pendekatan sistematis yang tercantum dalam paradigma teknik hingga proses pengembangan perangkat lunak.
Bahasa pemodelan
Sebuah bahasa pemodelan adalah bahasa artifisial yang dapat digunakan untuk mengekspresikan informasi atau pengetahuan atau sistem di dalam sebuah struktur yang ditentukan oleh seperangkat aturan yang konsisten. Aturan ini digunakan untuk interpretasi makna komponen-komponen dalam struktur. Bahasa pemodelan dapat berupa grafis atau tekstual.[4]
Model Pandangan
Sebuah model pandangan adalah sebuah kerangka kerja yang menyediakan sudut pandang dalam sistem dan lingkungannya, untuk digunakan dalam proses pengembangan perangkat lunak. Ini adalah representasi grafis dari semantik yang mendasari suatu pandangan.
Kegunaan dari sudut pandang dan pandangan untuk memungkinkan insinyur manusia memahami sistem yang sangat kompleks dan mengorganisir elemen dari suatu permasalahan di sekitar lingkup pakar. Dalam rekayasa sistem intensif fisik, sudut pandang sering kali sesuai dengan kemampuan dan tanggung jawab dalam organisasi teknik.[5]
Paradigma pemrograman
Sebuah paradigma pemrograman adalah sebuah gaya dasar pemrograman komputer, yang umumnya tidak ditentukan oleh metodologi manajemen proyek (seperti waterfall atau agile). Paradigma berbeda dalam konsep dan abstraksi yang digunakan untuk mewakili elemen suatu program (seperti objek, fungsi, variabel, constraint) dan langkah-langkah yang meliputi sebuah komputasi (seperti penugasan, evaluasi, kelanjutan, aliran data). Terkadang konsep yang dinyatakan oleh paradigma digunakan secara kooperatif dalam desain arsitektur sistem tingkat tinggi; dalam kasus lainnya, ruang lingkup paradigma pemrograman terbatas pada struktur internal program atau modul tertentu. Contohnya: object-oriented design (OOD) Grady Booch, juga dikenal sebagai object-oriented analysis and design (OOAD). Model Booch model termasuk enam diagram: class, objek, transisi keadaan, interaksi, modul, dan proses.[6]
Referensi
- ^ "Application Development White Papers (Development of Software, Software Design, Designing Software, Software Engineering, Software Application Development, Enterprise Application Development, Platform Development, Software Development, Applications Development, Development) Software Downloads, Definition and Webcasts". Bitpipe. Diakses tanggal 2012-08-05.
- ^ "Application Development (AppDev) Defined and Explained". Bestpricecomputers.co.uk. 2007-08-13. Diakses tanggal 2012-08-05.
- ^ DRM Associates (2002). "New Product Development Glossary". Diakses tanggal 2006-10-29.
- ^ Xiao He (2007). "A metamodel for the notation of graphical modeling languages". In: Computer Software and Applications Conference, 2007. COMPSAC 2007 – Vol. 1. 31st Annual International, Volume 1, Issue, 24–27 July 2007, pp 219–224.
- ^ Edward J. Barkmeyer ea (2003). Concepts for Automating Systems Integration Diarsipkan 25 January 2017 di Wayback Machine. NIST 2003.
- ^ Merx, Georges G.; Norman, Ronald J. (2006). Unified Software Engineering with Java. Prentice-Hall, Inc. hlm. 201. ISBN 0130473766.
Bacaan lanjutan
- Kit, Edward (1992). Software Testing in The Real World. Addison-Wesley Professional. ISBN 0201877562.
- McCarthy, Jim (1995). Dynamics of Software Development. Microsoft Press. ISBN 1556158238.
- Conde, Dan (2002). Software Product Management: Managing Software Development from Idea to Product to Marketing to Sales. Aspatore Books. ISBN 1587622025.
- Davis, A. M. (2005). Just enough requirements management: Where software development meets marketing. Dorset House Publishing Company, Incorporated. ISBN 0932633641.
- Hasted, Edward (2005). Software That Sells: A Practical Guide to Developing and Marketing Your Software Project. Wiley Publishing. ISBN 0764597833.
- Hohmann, Luke (2003). Beyond Software Architecture: Creating and Sustaining Winning Solutions. Addison-Wesley Professional. ISBN 0201775948.
- John W. Horch (2005). "Two Orientations On How To Work With Objects." In: IEEE Software. vol. 12, no. 2, pp. 117–118, Mar., 1995.
- Rittinghouse, John (2003). Managing Software Deliverables: A Software Development Management Methodology. Digital Press. ISBN 155558313X.
- Wiegers, Karl E. (2005). More About Software Requirements: Thorny Issues and Practical Advice. Microsoft Press. ISBN 0735622671.
- Wysocki, Robert K. (2006). Effective Software Project Management . Wiley. ISBN 0764596365.
Pranala luar
Media tentang Software development di Wikimedia Commons