Pertanyaan ini murni untuk belajar dan untuk meningkatkan pemahaman teknis saya. Saya tahu tidak ada solusi yang sempurna dan pertanyaan ini memiliki daftar solusi yang mungkin tidak pernah berakhir tetapi saya pikir sangat penting bagi setiap arsitek untuk memahami perbedaan antara demo dan proyek langsung.
Saya membuat banyak solusi demo di .Net di masa lalu. Sekarang saya telah ditugaskan untuk arsitek dan mengimplementasikan solusi web tingkat produksi, jadi saya ingin bertanya - pada tingkat yang sangat tinggi, apa yang diperlukan untuk mengubah demo menjadi solusi tingkat produksi. Dari pemahaman saya, ini akan membutuhkan (selain mengimplementasikan persyaratan klien secara fungsional):
- Unit menguji setiap metode
- Memastikan ~ cakupan kode 100% tercapai
- Mencatat semua pengecualian dan kemungkinan titik potong - mungkin dengan AOP
- Menggunakan pola desain antarmuka, injeksi ketergantungan, mungkin dengan menggunakan kerangka kerja misalnya spring.net
- Menggunakan penghitung kinerja dan profiler untuk instrumentasi
- Menerapkan keamanan yang sesuai - yaitu otentikasi windows (jika itu yang diperlukan oleh klien).
- Manajemen transaksi pada setiap metode
- Cadangkan file aplikasi web sebelum penerapan solusi baru
Apa lagi?
Pertanyaan saya lebih terkait dengan sisi teknis daripada fungsional / dokumentasi karena kalau tidak kita akan pergi ke jalur lain :-)
Terima kasih.