Saya suka jawaban William Pietri (+1), tapi saya yakin perlu ditambahkan. Bahkan menganggap bahwa apa yang Anda maksudkan dengan sistem hanya terdiri dari perangkat lunak.
Tapi sebelum saya membahasnya, saya tidak tahu buku apa yang bisa saya bantu. Semua yang mengikuti, saya belajar dari pengalaman (artinya tiga poin yang dibuat William).
Apa yang Anda bicarakan tentang bentang minimal empat peran luas. Terkadang satu orang mungkin mengisi semua peran itu, untuk proyek-proyek berukuran kecil hingga menengah, tetapi ketika Anda memulai proyek-proyek besar, Anda perlu setidaknya memisahkan peran-peran tersebut. Sulit bagi siapa pun untuk menjadi ahli dalam hal itu semua dengan cara yang berarti.
Analis bisnis
Itulah orang yang berbicara kepada pelanggan dan menerjemahkan persyaratan mereka menjadi sesuatu yang dapat dipahami oleh seorang arsitek. Pada dasarnya daftar persyaratan yang dirumuskan dengan benar. Ini termasuk persyaratan fungsional yang jelas (apa yang harus diberikan sistem ini?), Tetapi juga persyaratan non-fungsional (apa karakteristik umum yang harus dipenuhi sistem? Ini mungkin termasuk keamanan, keandalan, ketersediaan, ketahanan, kapasitas, kinerja, ketahanan dan persyaratan lain semacam itu dari sudut pandang pengguna).
Ini adalah langkah pertama yang harus dilakukan sistem, awal dari pemikiran serius.
Arsitek sistem
Orang ini menghasilkan kerangka teknis tingkat tinggi untuk bekerja. Mereka memberikan rencana pencocokan garis besar. Alat umum, teknik, konstruksi. Mereka memecah seluruh sistem menjadi komponen yang lebih kecil, bagaimana mereka cocok satu sama lain, bagaimana mereka cocok dengan dunia luar ...
Ini membantu dalam banyak hal memperbaiki apa yang perlu dipikirkan. Sangat sering masalah akan ditemukan pada tahap itu tentang persyaratan seperti yang ditulis oleh analis bisnis. Kembali kepada mereka untuk beberapa iterasi untuk meningkatkan pemahaman mereka tentang apa yang mereka inginkan dan ekspresi mereka tentang itu.
Perancang sistem
Peran ini adalah tentang bagaimana membuat semuanya berfungsi. Ini mungkin lebih banyak kerja tim daripada pertunjukan satu orang. Tetapi ada kemungkinan desainer utama untuk mengawasi seluruh desain sistem. Orang ini harus menggali detail dan memastikan pandangan arsitek adalah sesuatu yang benar-benar dapat dibangun.
Harapkan penyempurnaan lebih lanjut dari arsitektur sistem, dan karena itu berpotensi analisis bisnis.
Manajer tes
Peran ini sangat sering dilupakan. Tetapi pada akhirnya jika Anda tidak dapat mengujinya, bagaimana Anda dapat membuktikan bahwa Anda dapat membuatnya? Harus ada tinjauan ulang hasil dari semua tahap: analisis bisnis, arsitektur dan desain oleh seseorang yang kompeten dalam pengujian yang akan dapat menyoroti kekurangan dan karenanya memungkinkan koreksi awal, jauh sebelum kode apa pun ditulis.
Itu ringkasan singkat.
Cowok / cewek itu hanya orang-orang biasa dalam rantai untuk memikirkan apa yang harus dipikirkan.
Untuk proyek-proyek kompleks seperti perbankan besar atau aplikasi luar angkasa hanya untuk mengambil dua contoh (pikirkan ratusan hingga ribuan hari kerja), ada banyak ahli materi pelajaran yang kami panggil untuk meninjau dan mendukung proyek di setiap tahap. Peran-peran ini mencakup analisis keamanan, penentuan ukuran sistem, kapasitas, kinerja, basis data, pengelompokan, dan banyak bidang keahlian sempit lainnya, termasuk bidang bisnis yang tepat. Variasi peran tergantung pada ukuran dan kompleksitas sistem.
Semua itu untuk mengatakan bahwa Anda tidak harus mencoba dan mengetahui semuanya, Anda tidak akan. Namun Anda bisa mendapatkan gambaran keseluruhan dan pada proyek-proyek kecil Anda dapat mempelajari lebih banyak daripada pada proyek-proyek besar, hanya karena tingkat kerumitan memungkinkan Anda untuk lebih bulat.
Jika Anda ingin tahu cara mendesain sistem, maka Anda harus mulai mengajukan pertanyaan dengan berpikir di luar kotak. Tempatkan diri Anda pada posisi pelanggan dan coba dan pikirkan apa yang bisa salah, apa yang perlu diuji. Kemudian berkumpul dengan pelanggan nyata dan mendorong mereka untuk menjelaskan luasan dan batasan sistem yang mereka bayangkan mereka butuhkan. Plus setiap kali saya mengatakan 'pelanggan', Anda harus memahami bahwa ini mencakup beberapa orang yang sangat berbeda. Ada orang yang menggunakan sistem hari demi hari untuk apa yang dirancang untuk dilakukan. Ada operator, dukungan teknis, manajer yang membutuhkan laporan atau lainnya, auditor, tim infrastruktur, pemangku kepentingan yang membayarnya, manajer kualitas yang membutuhkan sarana untuk menguji sistem Anda ... Tanyakan semuanya (dan jika mereka adalah satu orang, minta mereka untuk meletakkan semua topi ini satu per satu), jadi tanyakan semua yang mereka butuhkan dan Anda akan memiliki awal yang baik untuk mengetahui apa persyaratan sistem Anda. Dari sana Anda dapat memperoleh arsitektur, dan dari sana desain.
Untuk sistem yang kompleks (apakah hanya perangkat lunak atau untuk diintegrasikan dengan perangkat keras dalam arti paling umum) tidak hanya satu orang tidak cukup untuk masing-masing dari empat peran yang saya sebutkan di atas, tetapi Anda perlu memproyeksikan mengelola bahkan definisi apa yang harus sistem lakukan, apalagi fase lainnya.
HPH, asm.