Buku-buku terbaik tentang teori dan praktik arsitektur perangkat lunak? [Tutup]


32

Saya memiliki beberapa pengembang di perusahaan saya yang ingin beralih dari pemrograman ke arsitektur. Apa buku terbaik di luar sana tentang teori dan praktik arsitektur perangkat lunak? Sertakan gambar sampul jika Anda bisa.

Jangan ragu untuk memasukkan buku-buku umum, dan juga buku-buku yang berhubungan dengan teknologi tertentu.


3
Itu bukan jawaban langsung, jadi hanya komentar. Cara terbaik (dan hanya satu-satunya) untuk belajar menjadi seorang arsitek adalah dari arsitek lain, lebih disukai seorang arsitek ahli. Arsitektur dan Rekayasa Perangkat Lunak secara umum masih dalam kondisi pra-industri dari perspektif disiplin teknik lainnya. Kami masih melakukan magang-> journeyman-> peningkatan tipe master.
JP Alioto

Jawaban:


15

teks alternatif

(tautan ke buku)

Ini adalah buku yang cukup bagus, meskipun tidak membahas arsitektur perangkat lunak secara umum, tetapi dengan arsitektur aplikasi bisnis.


itu adalah buku yang bagus ketika diterbitkan, tetapi saya pikir sebagian besar pola di sana tidak banyak digunakan dalam industri ini. Bukan buku yang buruk tapi pasti bukan salah satu dari 5 teratas menurut saya
Uberto

Meskipun disebut "Arsitektur Aplikasi Perusahaan", ini kira-kira pada tingkat yang sama dengan buku Pola Desain GoF, yang merupakan desain tingkat kelas daripada arsitektur tingkat aplikasi.
Thomas Owens

Ugh, aku tidak suka buku ini. Itu tidak akan membantu Anda menjadi seorang arsitek.
JP Alioto

Buku ini boleh saja, tetapi sebenarnya hanya tentang aplikasi perusahaan. Jika Anda melakukan pengembangan jenis lain (mis. Desktop, seluler, disematkan) itu tidak terlalu berguna.
nikie

16

teks alternatif

Tapi, saya akan mendorong para pengembang ini untuk tidak pindah ke arsitektur dan benar-benar lupa tentang pemrograman. Jika mereka melakukannya, mereka tidak akan memiliki rasa hormat dari programmer dan mereka tidak akan diperlengkapi dengan baik untuk membuat keputusan arsitektur.


11

Buku yang sering dikutip / direferensikan pada arsitektur perangkat lunak, dan buku yang digunakan ketika saya mengambil kursus Arsitektur Perangkat Lunak di universitas saya adalah Arsitektur Perangkat Lunak dalam Praktek (Edisi 2) oleh Len Bass, Paul Clements, dan Rick Kazman .

Setidaknya seorang profesor yang mengajar kursus telah mengalihkan buku pelajaran ke Arsitektur Sistem Perangkat Lunak oleh Nick Rozanski dan Eoin Woods , tetapi saya tidak dapat menjamin kualitas atau isi buku itu. Menurut Sergio Acosta (dalam komentar), buku Rozanski lebih baru, berdasarkan karya Bass, dan ia menganggapnya lebih mudah dibaca. Saya jarang kecewa dengan buku yang digunakan dalam program rekayasa perangkat lunak.


2
Saya telah menggunakan keduanya (Bass dan Rozanski). Bass 'adalah kitab arsitektur untuk waktu yang lama, tetapi karya Rozanski lebih baru dan lebih mutakhir; lebih mudah dibaca dan sangat didasarkan pada Bass '. Saya sangat merekomendasikan memulai dengan Rozanski.
Sergio Acosta

1
+1 buku Bass adalah bacaan yang baik ketika saya mulai masuk ke arsitektur. Ini agak kering tetapi memberi Anda gambaran tentang hal-hal yang harus Anda pikirkan.
RationalGeek

10

2
Buku usang sekarang. Sebagian besar pola Geng Empat disalahgunakan sehingga hampir anti-pola sekarang. Seperti pabrik tunggal dan abstrak.
Uberto

1
@Uberto Itu sebabnya semua orang harus membaca buku ini. Ini menjelaskan mengapa dan bagaimana menggunakan setiap pola bersamaan dengan kapan Anda mungkin harus mempertimbangkan sesuatu yang lain. Jika lebih banyak orang membaca seluruh entri pola, saya pikir banyak masalah itu akan hilang.
Thomas Owens

Saya menemukan buku itu sangat berat untuk dibaca dan dimengerti. Saya curiga sebagian besar orang hanya berpura-pura membacanya dan menyalin-menempel contohnya. Jadi saya tidak akan menyarankannya sebagai buku pertama untuk arsitek masa depan. Pasti penting untuk sudut pandang historis arsitektur sw saat ini.
Uberto

Adakah orang lain yang berpikir bahwa Groupthink adalah penyakit besar dalam profesi perangkat lunak? Jika mengikuti guru secara membabi buta (bukan apa yang diharapkan buku itu, tetapi apa yang sebenarnya terjadi) adalah ke mana perginya profesi, saya pikir profesi perangkat lunak akan menemui ajal. Saya tidak menyalahkan buku ini. Saya menyalahkan orang-orang yang membacanya, dan mulai berpikir bahwa pola grokking-fu dapat menutupi kurangnya kepedulian mereka terhadap praktik dasar lain dari coding bersih.
Warren P


7

teks alternatif

ini akan menjadi pilihan saya # 2. Buku bagus tentang praktik dan kode yang baik. Kadang-kadang agak aneh.


Saya setuju bahwa itu terlalu berlebihan, tetapi praktik yang dianjurkannya jauh lebih baik daripada fungsi garis 2000.
riwalk

Ya tentu, isinya sangat bagus.
Uberto

Buku ini terlalu rendah untuk dianggap arsitektur perangkat lunak.
Steven Jeuris

6

teks alternatif

Ini adalah pilihan nomor 1 saya sekarang. Buku terbaik tentang cara membuat aplikasi (tumbuh) sekarang.






3

Saya tidak akan mengutip yang sudah dilakukan oleh orang lain, jadi saya akan menambahkan yang ini:

Konsep Teknik dan Model Pemrograman Komputer , oleh peter Van Roy dan Seif Haridi

Konsep Teknik dan Model Pemrograman Komputer

Masalah yang jelas adalah bahwa ia menggunakan sekarang Mozart Programming System dan bahasa pemrograman Oz yang menakjubkan . Yang kemudian menelurkan eksperimen menarik lainnya seperti bahasa pemrograman Alice ML .

Namun, ini adalah buku yang luar biasa, baik untuk mempelajari pemrograman komputer dan untuk mendapatkan pemahaman yang mendalam tentang konsep CS dan gambaran yang baik tentang konsep arsitektur tanpa menggunakan kata kunci.

Sedikit bertele-tele kadang-kadang, tetapi ditulis dengan sangat baik.

Mungkin lebih banyak buku teori CS pada akhirnya daripada buku arsitektur perusahaan, tetapi saya menemukan ajarannya sangat berharga untuk diterapkan pada perangkat lunak industri.




2

Buku yang menarik adalah Arsitektur Aplikasi Open Source

Arsitek melihat ribuan bangunan selama pelatihan mereka, dan mempelajari kritik terhadap bangunan-bangunan yang ditulis oleh master. Sebaliknya, sebagian besar pengembang perangkat lunak hanya mengenal beberapa program besar dengan baik — biasanya program yang mereka tulis sendiri — dan tidak pernah mempelajari program sejarah yang hebat. Akibatnya, mereka mengulangi kesalahan satu sama lain daripada membangun kesuksesan satu sama lain.

Tujuan buku ini adalah untuk mengubahnya. Di dalamnya, penulis dua puluh lima aplikasi open source menjelaskan bagaimana perangkat lunak mereka disusun, dan mengapa. Apa komponen utama setiap program? Bagaimana mereka berinteraksi? Dan apa yang dipelajari para pembangun mereka selama pengembangan mereka? Dalam menjawab pertanyaan-pertanyaan ini, kontributor buku ini memberikan wawasan unik tentang bagaimana mereka berpikir


2

Microsoft memiliki beberapa hal yang sangat bagus dalam hal ini. Sebagai permulaan, mereka memiliki buku gratis hebat yang tersedia di sini:

http://msdn.microsoft.com/en-us/library/ff650706.aspx

Ditambah banyak kertas putih mereka tentang desain ada di sini:

http://msdn.microsoft.com/en-us/practices/bb190351

Anda mungkin ingin membaca tentang pola desain:

http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612

Dan kemudian ada klasik - bulan mitos manusia, kode lengkap, programmer pragmatis dll. Sedikit googling akan membantu Anda menemukan buku-buku bagus.


2

coba buku kecil ini .

Arsitektur Perangkat Lunak untuk Pengembang - Buku Panduan praktis dan pragmatis untuk arsitektur perangkat lunak

Buku ini adalah kumpulan esai yang bersama-sama membentuk panduan praktis dan pragmatis untuk arsitektur perangkat lunak.

  1. Apa itu arsitektur perangkat lunak?

  2. Apa peran arsitek perangkat lunak?

  3. Bagaimana Anda mendefinisikan arsitektur perangkat lunak?

  4. Bagaimana Anda membagikan arsitektur perangkat lunak?

  5. Bagaimana Anda memberikan arsitektur perangkat lunak?


Blog codingthearchitecture.com juga memiliki beberapa posting bagus tentang disiplin arsitektur perangkat lunak.
RationalGeek


1

Pertanyaan yang Anda ajukan sangat tidak bisa dijawab. Arsitektur perangkat lunak adalah hal yang berbeda dan arsitek perangkat lunak adalah kelompok yang sangat beragam.

Beberapa catatan:

"Clean Code" yang disebutkan di atas adalah salah satu buku terbaik yang pernah saya baca tentang pemrograman . Tapi ini tentu bukan buku tentang arsitektur. Membaca wajib untuk pengembang, ya, tetapi tidak memberikan banyak wawasan tentang bagaimana hal-hal yang lebih besar cocok bersama, imo.

"PoEAA" karya Fowler adalah buku yang bagus, tetapi seperti yang dikatakan orang lain, agak kuno sekarang, dan banyak pola yang disajikan sudah usang beberapa tahun yang lalu.

Buku DDD karya Eric Evans adalah buku yang sangat solid dan sangat inspiratif tentang konstruksi perangkat lunak dan kolaborasi pelanggan - keterampilan yang berharga untuk arsitek, tetapi juga baik untuk pengembang.


1

Apa yang saya sarankan, silakan baca Kode Lengkap 2 dulu. Ini akan membantu Anda membentuk pikiran dan menemukan cara terbaik untuk melakukan sesuatu.

Dalam perspektif arsitektur, ada baiknya memulai dengan GOF atau Head First Design Patterns.

Pola Arsitektur Aplikasi Perusahaan adalah buku yang bagus

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.