سلام . اگر شما می خواید با رسم شکل کار رو توضیح بدین که دیگه باید از UML استفاده کنید . اما اگر سوالت اینه که چطور پروژه های کوچک و متوسط رو انجام بدیم , می تونید روشهای مهندسی رو با روش های شخصی ترکیب کنید . من نظرم اینه که ما در نهایت به روش شخصی یا تیمی هم می رسیم و دقیقا معادل کتاب ها کارها انجام نمیشه ! من یه مثال ساده میزنم که برای پروژه های کوچک مناسب هست .
شما می تونید یه فایل Word داشته باشید که در اون ویژگی های کلی سیستم رو در یه جدول شامل ردیف , عنوان , اولویت , ذخیره کنید , فرضا برای یه پروژه CMS وب :
1. مدیریت کاربران 2. مدیریت مطالب 3. مدیریت نظرات 3. مدیریت صفحات و ...
این ویژگی ها رو با تحقیق , مهندسی معکوس , تکنیک های طوفان فکری برای کارهای تیمی و ... میشه بدست آورد . و بعضی از این ویژگی ها حیاتی هستند و اولویت بالا رو دارن . و بعضی متوسط , مثل نظر سنجی . یعنی تا مدیریت کاربران هست نظر سنجی اولویت متوسط رو داره . و بعضی هم اگر چه به عنوان یه ایده به ذهن شما رسیده اما ممکنه اولویت پایینی داشته باشه . شما همه ایده ها رو که به عنوان ویژگی می خواید در پروژه داشته باشد یادداشت کنید اما براشون اهم و مهم در نظر بگیرید.
و بعد برای هر کدام هم یه فایل جدا ایجاد کنید با همون ساختار . مثلا مدیریت کاربران : سپس جداگانه روی این بخش کار کنید . یعنی مساله رو تقسیم کردید به زیر مساله هایی . اونوقت برای این قسمت شروع کنید به تحقیق , مهندسی معکوس , طوفان فکری و کمک گرفتن از ایده های جمع , نمونه سازی و ...
از مهم ها و بدیهیات شروع کنید به یادداشت ویژگی ها : اضافه کردن کاربر جدید , حذف , ویرایش , دریافت لیست کاربران و ...
در اینجا هم اولویت بندی رو داریم . و این ویژگی ها در واقع طراحی برنامه رو مشخص می کنه :
public class UserManagementService{
public void CreateUser(...){}
public void DeleteUser(...){}
public List<Users> GetAllUsers(){}
}
برای بعضی ها سناریو نوشته میشه . برای بعضی از روندها که پیچیدگی دارن دیاگرام هایی کشیده میشه و ... این روش که من توضیح دادم برای کارهای کوچک خوبه و برای بزرگتر ها و پیچیده ها دیگه فکر نمی کنم کارمون به فروم بیوفته چون احتمالا 10 سالی سابقه طراحی رو داریم و دیگه نیازی هم به فروم نداریم 
منظور من از گذاشتن این مطلب این بود که برای کارهای کوچک به یه روش شخصی سازی شده باید برسی که طراحی و توسعه اش سریع باشه و سعی کردم یه مثال کوچک بزنم که منظورم رو رسونده باشم .