مستندسازی نرمافزار یا مستندسازی سورس کد متنی مکتوب است که همراه نرمافزارهای کامپیوتری ارایه میگردد. این گونه متنها معمولا عملکرد نرمافزار و چگونگی استفاده از آن را شرح میدهند که ممکن است برای افراد مختلف در نقشهای گوناگون معانی متفاوتی داشته باشد. مستندسازی نرمافزار منظور از مستندسازی نرمافزار یا مستندسازی سورس کد، نوشتههای توصیفی ای است که همراه نرمافزارهای رایانهای ارایه میگردند. این گونه متنها معمولا عملکرد نرمافزار و چگونگی استفاده از آن را شرح میدهند که ممکن است برای افراد مختلف در نقشهای گوناگون معانی متفاوتی داشته باشد. در مستند سازی نقشها از اهمیت ویژهای برخوردارند.
مستند سازی، تهیه مجموعه اسناد و مدارکی است که سیر تکوین و تحقق یک فعالیت از شروع تا خاتمه آن و چگونگی بهره برداری و نگهداری را، با تحلیل و ارزیابی مربوط، نشان میدهد.
مستندسازی بخش مهمی از مهندسی نرمافزاری است. مقولههای که معمولا برای مستندسازی مورد توجه قرار گرفته میشوند عبارتند از:
1. نیازمندیها –عباراتی که برای توصیف صفات، قابلیتها، ویژگیها یا کیفیتهای یک سیستم را تعریف میکنند زیر ساخت و پایهای برای آنچه که باید اجرا گردد یا اجرا شده است، تلقی میگردند. تعریف دقیق و درست نیازمندی، افزون برآنکه میتواند مفاهمهای میان ذینفعان و مجریان باشد، سندی است مشروح از محصولی که در آینده تولید خواهد شد و تضمین میکند که این محصول نیازهای ذینفعان را به درستی برآورده خواهد کرد.
2. معماری/طرح – دورنمای نرمافزار، که نمایش دهنده نحوه تعامل نرمافزار با محیط و ساختار و اجزا نرمافزار، به همراه چگونگی روابط میان این اجزا است.
3. فنی – مستندسازی کد، الگوریتمها، اینترفبسها و APIها.
4. کاربر نهایی – دستور راهنمایی برای کاربر هدف، ادمینهای سیستم و نیروهای پشتیبان
5. بازاریابی – چگونگی بازاریابی محصول و آنالیز بازار تقاضا
نقش مستندسازی
در مدت اجرای پروژه وقایع و رویدادها، ابتکارها، خلاقیتها، تنگناها و مشکلات فنی و حقوقی و اجرایی و مالی اتفاق میافتد و برای هریک راهحلها و تدابیری اتخاذ میشود. چنانچه این تدابیر مستند شوند، کمک مؤثری به پرهیز از دوباره کاری و تجربهگرایی در اجرای طرحها و پروژهها میشود. مهمترین نقشهایی که میتوان برای مستندسازی برشمرد، به شرح زیر است:
▪ حفظ منابع اطلاعاتی مورد استفاده در طرح یا پروژه
منابع اطلاعاتی که با توجه به اهداف پروژه مورد استفاده قرار میگیرند، چنانچه در هر مرحله مستندسازی شوند، از دوباره کاری جلوگیری میکنند و باعث تکمیل آمار و اطلاعات دوره بعد میشوند.
▪ تطابق هزینههای حقیقی با هزینههای برآوردی
عدم تطبیق هزینههای برآوردی با هزینههای واقعی یکی از مسایل مبتلا به اجرای پروژهها به شمار میآید. مستندسازی علل این امر میتواند منجر به اتخاذ تصمیمی صحیح برای سایر پروژهها شود.
▪ جلوگیری از پراکندگی و تکرار فعالیتها
مستند کردن موضوعات مطالعاتی در بسیاری از کارها میتواند از انجام دوباره مطالعات در کارهای مشابه جلوگیری کند.
▪ مشخص کردن سیاستهای اجرایی و بهرهبرداری
در فعالیتهای عمرانی وجود یک سیاست مشخص مانند روشن کردن راه کلی آن فعالیت، اهمیت زیادی دارد. مستندسازی این سیاستها در مراحل مختلف میتواند مسیر فکری تصمیم گیری را در زمان اجرای طرح یا پروژه روشن سازد و تصمیم برای آینده را تسهیل کند.
▪ آشکار کردن نقصها و نیازهای آماری و اطلاعاتی
همواره آمار و اطلاعات یکی از نیازهای اساسی هر پروژه و طرح به شمار میآید و اغلب کمبود آمار و اطلاعات موضوعی دستاندرکاران مطالعه و اجرای پروژهها را با مشکل روبهرو کرده است. با مستند سازی نقصهای اطلاعاتی و آماری و جمع بندی آنها در سیستم برنامهریزی کشور میتوان به صورت نهادینه این مشکل را حل کرد.
▪ توجه به دستورالعملها و ضوابط و آییننامه ها
قانون برنامه و بودجه در مواد ۲۲ و۲۳ و آییننامه استانداردهای اجرایی، تدوین ضوابط و دستورالعملها را مورد توجه قرارداده است. از سویی دیگر، مؤسسه استاندارد و تحقیقات صنعتی ایران نیز استانداردهای صنعتی را تهیه میکند. مستند کردن دامنه و کاربرد استانداردها در پروژهها میتواند کمبودها را در این زمینه با اقلیم منطبق سازد و نظام اجرایی کشور و تواناییهای فنی آن را روشن کند.
▪ مستند کردن مشکلات و تنگناها
▪ اهداف مستند سازی در نظام فنی و اجرایی کشور
هماهنگی کافی بین عوامل ذینفع، توجـه به فعالیـتهای طرح یا پروژه به صورت جـامع و مانع، اتمام طرحها و پروژههای سرمایهگذاری در مدت معین و براساس اعتبار مصوب، استفاده مؤثر از نیروهای صلاحیت دار، تولید، جمع آوری، توزیع و مستندسازی اطلاعات و اسناد در زمان مقرر و به طور متناسب، جلوگیری از بروز ریسکهای پیش بینی نشده و تأمین کالا و خدمات موردنیاز طرحها و پروژههای سرمایه گذاری از طریق فرآیندهای لازم در مدیریت پروژه از اهداف مستندسازی است.
مستند سازی یک پروژه باید به پرسشهای زیر پاسخ دهد:
چه کسی؟ ، چرا ؟، چه موضوعی؟، چه وقت؟ و چطور؟ به طور کلی یک گزارش مستند شامل موارد زیر است:
اهداف، شرح کار، سازمان کار، اعتبارات، محدودیتها و الزامها.
مستند سازی در فعالیتها و مراحل مختلف به شرح زیر است:
چگونگی پیدایش طرح و گردآوری اطلاعات و آمار و مشخصههای مربوط به خصوصیات کلی و کلان طرح. این اطلاعات باید بتواند فاصله زمانی بین تفکر اولیه شروع طـــــرح و زمــــان شـــروع اقدامها را برای تهیه موافقتنامه طرح در بر بگیرد.
مستند سازی در این مرحله از زمان شروع مرحله دوم و تا تصویب آن و شروع مرحله مناقصه ادامه مییابد. مستندات این مرحله مانند مرحله توجیهی است با این تفاوت که در این مرحله احتمال انجام مهندسی ارزش نیز وجود دارد
در این بخش از مستند سازی واحد تهیه کننده مستندات، طرح را مورد بازنگری قرار میدهد و نتایج و مغایرتهای پس از اجرای کامل طرح را به تفکیک درج میکند و برای هر مورد در صورت امکان، پیشنهاد لازم را ارایه میدهد.
مستندسازی از دیدگاه اغلب برنامهنویسان و توسعهدهندگان نرمافزار، کاری کسلکننده و تلفکنندهی وقت است، و با آن به عنوان کم ارزشترین جزء چرخهی توسعهی نرمافزار برخورد میکنند. اما در واقع مستندسازان متبهر و دستبهقلم نقشی بسیار مهمتر از اعتباری که به آن داده شده بازی میکنند. با توجه به پاسخهای متداول به سؤالات کاربران، پشتیبانی از مستنداتی همانند، راهنمای کاربران یا فهرست تقلبهای فنی، هم برای کاربران و هم برای توسعهدهندگان مزایایی را به همراه دارد. به کاربران فرصت دریافت کارایی و خدمات بیشتر را از آنچه خریداری کردهاند میدهد و همچنین هزینههای توسعهدهندگان را برای پشتیبانی بعد از فروش کاهش میدهد. اگر شغل شما مرتبط با مستندسازی برای برنامه های نرمافزاری است، پس تهیهی یک فهرست و فرآیند ساده برای هدایت فعالیتها، فکری بسیار پسندیده است. این ۶ قدم مثالی برای تهیهی چنین فهرستی است.