محمد
1 سال پیش توسط محمد مطرح شد
2 پاسخ

نحوه ی داکیومنت نویسی برای پروژه

سلام
چطوری میتونم برای پروژه ها مستند نویسی کنم؟ و توی مستند نویسی چه چیز هایی بیارم؟ هدفم این هستش که برای یه جایی یه پروژه مینویسیم و میخوام مستند هم بدم تا بعدا که باهاشون کار نکردم به مشکل بر نخورن.


ثبت پرسش جدید
سهیل حیدری
@hbr 1 سال پیش مطرح شد
1

سلام
با توجه به نحوه ی کدنویسی شما که معمولا شی گرا هست موارد زیر شاملش میشه:
1-جمع آوری اطلاعات: یعنی مصاحبه هایی که با کارفرما ها کردید و نظرتاشون و کلا هرچی درباره نیازهای اطلاعاتیشون گفتن بعلاوه نظرات کاربرانی که با سامانه کار میکنند حتی میتونه به شکل پرسش نامه باشه و به طور کلی هرچی این قسمت کاملتر و جامع تر باشه و از تکنیک های مختلف مثل آمارگیری از پرسشنامه ها باشه میتونه خیلی زیاد بهتون تو انجام پروژه کمک کنه و بعلاوه فرم هایی مثلا مثل استخدام نیروی جدید یا درخواست از انبار و...
2- فاز تحلیل:
2-1: نیازمندی های کارفرما: با توجه به گزارشی که از قسمت قبل تهیه کردید اونها رو طبقه بندی و مرتب و شست رفته میکنید که دقیقا نیاز هاش دربیاد مثلا یک جدول درست میکنید که نیازمندی هاش تو اون به سلیقه خودتون( البته باید کاملا واضح باشه) در میارید
2-2:تحلیل فرم هایی که گرفتید و اگه احساس میکنید فرمی درون سیستم کم هست اونو باید طراحی کنید.
2-3:نمودار FRD(Form Relation Diagram): فرم هایی که آنالیز کردید و جمع آوری کردید رو تو یک یا چند نمودار ارتباطشون رو باهم مشخص میکنید
نکته: این طراحی فرم ها و جمع آوری و رابطه اون ها باهم میتونه که نه دقیقا کلاس های سیستمتون رو در بیاره یعنی اسکلت برنامه
2-4:زمانبندی پروژه: حالا که همه چیرو درباره سیستم فهمیدین و مکتوب کردید حالا نوبت زمانبندی گانت هست:
2-4-1:لیست افراد و تخصص هاشون رو لیست میکنید و به هرکی یک task میدید و زمانشو ازشون میپرسین
با نرم افزار Microsoft project
2-4-2:اگه کسی نمیدونست که مثلا کارش چقدر طول میکشه میشه Slack که مدیری که تجربش بالا باشه slack هاش معمولا صفر هست ,
ولی اگه به این مورد برخوردید باید احتمال بگیرید و سقفش رو مثلا بین 1و2و3 3 روز در نظر بگیرید.
3- تحلیل UML نرم افزار:
3-1:نمودار مواجه کاربران با سیستم(use case diagram)
3-2:نمودار توالی(sequence diagram)
3-3:نمودار کلاس ها (class diagram) -> مهمترین نمودار که اسکلت برنامه شما رو در میاره و باهاتون اصلا صحبت میکنه که چی باید کد بزنید
3-4:نمودار فعالیت (activity diagram): خب کلاس ها از دو قسمت property ها و methods تشکیل میشن این نمودار رو باید به طور جداگانه
برای هرکلاس و برای متدهای اون کلاس بنویسید یه جور فلوچارت نویسی برای متدهای کلاس هستش
3-5:نمودار CRD(Class Relation Diagram): ارتباط کلاس ها با هم
4- طراحی دیتابیس: جدول های دیتابیستون با توجه به گزارشات طراحی کلاس ها و فرم ها لیست میکنید با تمام فیلدهای بعد روابطش رو رو نمودار میارید بهش میگن نمودار ERD نرمال سازی هم میکنید و فیلدهای ایندکس دار رو هم مشخص میکنید
5-طراحی و پیاده سازی سیستم از روی موارد بالا اگه سیستمتون مثلا میکروسرویس هست باید دیاگرام ارتباط سرویس هارو هم بکشین
6-تست قسمت های مختلف نرم افزار و مکتوب کردنشون(روش های مختلف unit test و روش های ترکیبی و...)
نکته:تمام دیاگرام های فوق رو میشه با نرم افزارهایی نظیر power designer و Visio طراحی کرد فقط power designer زمانی که دیاگرام های کلاس رو داخلش طرحی میکنید کد اون کلاس ها رو اسکلتشون رو بهتون با زبان java و یا c++ میده.
7-کدهاتون رو کامنت بزارین و مثلا برای هرکدوم از قسمت ها که روی گیت لب یا گیت هاب یا .... میزارین یک فایل .md تشکیل بدین و داخلش درباره ی اون سرویس یا اون قطعه کد بخش های مختلفشو تشریح کنید
موفق باشید(3 واحد درس مهندسی نرم افزار و تحلیل سیستم)


سهیل حیدری
@hbr 1 سال پیش مطرح شد
1

یک نکته ای که باید کارهایی که نوشتم رو به ترتیب انجام بدین یعنی از گزارش شناخت سیستم تا آخرش که تست و نگهداری هست ولی اگه برعکسشو انجام بدین میشه مهندسی معکوس که درست نیست برای یک پروژه پیمانی انجام داد اصلا درست نیست.
مهندسی معکوس برای کسایی خوبه که میخوان مثلا یک نرم افزار رو کرک کنن و اهداف شومی داشته باشن.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام