چگونه برای شرکت خود شرح ماموریت بنویسیم؟

هر سازمانی یک ماموریت، هدف و دلیلی برای حضور در بازار رقابت با رقبای خود دارد. به صورت کلی یک ماموریت به راحتی مسیر حدکتی یک سازمان را شرح خواهد داد و بیانیه ماموریت به نوعی هدف سازمان را به صورت شفاف بیان خواهدکرد. باید توجه داشت که این ماموریت باید ارزش مطرح کردن، برنامه ریزی و البته شفاف سازی را داشته باشد، به این معنی که یک هدف و ماموریت نباید ساده و به راحتی قابل دسترس باشد زیرا قرار است این هدف خط مشی و مسیر اصلی سازمان را مشخص کند.

اجزاء تشکیل دهنده ی ماموریت سازمان:

  1. در اولین قدم باید تلاش کنیم درک و تعریف شفافی از طیف مشتری های خود داشته باشیم.
  2. باید بدانیم محصولات/خدمات ما چه هستند و قرار است چه نیازی از مشتریان ما را برطرف کنند.
  3. بازار هدف بالقوه و بالفعل ما چیست و اینکه چگونه باید این بازار را گسترش دهیم.
  4. مسیرهایی که با استفاده از تکنولوژی روز می توانیم طی کنیم و به نوعی استفاده از فناوری روز چقدر برایمان میسر خواهد بود.
  5. عزم و اراده ما برای رسیدن به هدفمان به کنار، باید بررسی کنیم آیا هدفی برای رسیدن به سودآوری داریم یا خیر.
  6. شفاف سازی ارزشها و اولویت بندی اهداف سازمان برای آینده و بقای آن را باید به دقت مورد بررسی قرار دهیم.
  7. با طراحی ماتریس SWOT به خوبی نقاط قوت، ضعف، تهدید ها و فرصتهای خود را بشناسیم.
  8. باید توجه داشت که رسیدن به اهداف بلند مدت و کوتاه مدت تنها با ارزش نهادن به کارکنان میسر خواهد بود.

بیانه رسمی ماموریت یک سازمان در اصل باید همچون یک هدایتگر برای سازمان باشد تا بتوانیم با یادآوری و عمل به آن خود را به اهداف بلند مدت سازمان نزدیک کنیم. باید توجه داشته باشیم در تببین بیانیه رسمی ماموریت باید واقع بین بوده و اهداف کلیه بخش های سازمان را مدنظر بگیریم و با برگذاری جلسات طوفان مغزی با ارکان اصلی سازمان، به شفاف سازی و ممکن بودن دسترسی به هدف مطرح شده، بپردازیم. اینکه صرفا یک هدف را مشخص کنیم، عملا کار ساده ای است، اما اینکه خود را پایبند به آن بدانیم و تلاش کنیم در راستای رسیدن به آن طبق اصول و برنامه ریزی های صورت گرفته حرکت کنیم بسیار مهم خواهد بود.

FacebookTwitterGoogle+
سایر مباحث مدیریتی,انواع مستندات کاری,متفرقه

SRS یا شرح نیازمندی مشتری چیست؟

SRS) Software Requirement Specification) یک مستند برای بیان راه حل هایی است که با استفاده از آن ها می توانیم به نیازمندیهای مطرح شده کارفرما که در قالب مستند CSR مطرح شده است، پاسخ مناسب دهیم. در این مستند بیان جزیئات بخش های پروژه، امکانات و ویژگی های هر بخش به تفکیک و سطوح دسترسی آن از نظر انواع کاربرانی که در آینده باید از پروژه مدنظر استفاده نمایند، الزامی است. در نهایت این مستند با بیان دقیق ارتباط بین بخش ها با استفاده از تنظیم انواع فلوچارت ها، USE Caseها، Class Diagramها و هرگونه نمودار دیگری که عملکرد هر بخش و ارتباطات آنها را بهتر بیان میکند، تمام خواهد شد.

در زیر به بخش های این مستند به صورت خلاصه و البته تعریف هرکدام از آنها، اشاره شده است:

بخش اول: معرفی پروژه

۱) هدف

در این قسمت هدف تهیه مستند و مخاطبان مستند شرح داده خواهد شد.

۲) محدوده پروژه

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

۳) تعاريف، اصطلاحات و اختصارات

همه کلماتی که باید در طول مستند با استفاده از آن، به یک معنی و کاربرد خاصی برسیم در این قسمت شرح داده خواهد شد. فقط باید توجه داشت که از این کلمات در کل مستند به‌صورت عیناً مشابه استفاده شود.

۴) منابع و مراجع

در این بخش مراجعی که در هر جایی از مستند به ارجاع داده شده و یا از آن‌ها استفاده شده ذکر می‌گردد.

۵) نگاه اجمالی

بخش بندی مستند به‌صورت کلی در یک نگاه در این قسمت مشخص می‌شود. به عبارتی خواننده مستند باید بتواند بامطالعه این قسمت از بخش بندی و دسته بندی کلی مستند را به‌صورت اجمالی مطلع شود.

بخش دوم: شرح کلی

در اين بخش عواملي را كه روي نیازمندی‌های پروژه تأثیر گذار هستند توضيح داده می‌شوند البته این بدان معنی نیست که نيازمندي­ها را  در اين بخش تعريف كنيم زیرا در ادامه بخش مربوط به شرح نیازمندی‌ها در مستند خواهیم داشت. به عبارتی در این قسمت باید صرفاً به‌صورت تیتر وار به نیازمندی‌ها اشاره شود تا عملاً خواننده مستند یک دید کلی نسبت به پروژه و امکانات آن داشته باشد.

۱) دورنمای محصول یا محیط سیستم

در این قسمت به‌صورت کلی همه سیستم‌ها، زیر سیستم‌ها، سیستم‌های خارجی و داخلی و به‌صورت کلی همه عواملی که مستقیم و غیرمستقیم با پروژه و نیازمندهای آن در ارتباط هستند، شرح داده خواهد شد.

در واقع یک چشم انداز بیرونی از سیستم ارائه می‌شود. و رابط‌های استفاده از سیستم مشخص می‌گردند. این بخش را می‌توان صرفاً با یک توضیح متنی کامل نمود و یا آنکه در قالب موارد نیز مورد بررسی قرار گیرد:

۲) رابط­های کاربری: در این بخش توضیحی در خصوص راه‌های ارتباطی کاربر و سامانه ارائه می‌شود(مانند پنل مدیریتی و بخش پرتال یا سایت، نسخه موبایل) و همچنین جوانب استفاده از سایت و موارد سهولت در استفاده

۳) رابط­های سخت افزاری: مثال این مورد می‌تواند ارتباط با یک GSM Modem باشد.

۴) رابط­های نرم افزاری: منظور ارتباط با سایر برنامه‌های نرم افزاری هست.

۵) رابط­های ارتباطی: منظور استفاده از پروتکل‌های شبکه‌ای هست. مثلاً ممکن است در یک پروژه نیازمند ارتباط با FTP یا MailServer باشیم. موارد ایمیلی، SMS و مشابه در این بخش ذکر می‌گردد.

۶) فعالیت‌ها و کارکردهای سامانه

اين بخش خلاصه­ايي از كاركردها و عمليات اصلي ايي كه در پروژه، مدنظر است را در بر خواهد گرفت. مثلاً اگر يک سيستم حسابداري مدنظر ما باشد بايد در اين بخش ” نگهداري حساب‌های مشتري” و “آماده سازي صورتحساب مشتري ” را در كاركردهاي اصلي درج کرده و به جزييات موارد اشاره نكنيم. بايد در حدي واضح بنويسيم كه هر شخصي كه براي اولين بار اين مستند را مي­خواند كاركردهاي سيستم برايش قابل درك باشد. مثلاً بخش محصولات، فروشگاه و …

۷) ویژگی‌های كاربران سيستم

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

۸) محدودیت‌ها

در این بخش به شرح نیازمندی‌هایی که توسعه نرم افزار را وابسته به عوامل خارجی خواهد کرد که عملاً دست توسعه دهنده را در توسعه امکانات می‌بندد، می‌پردازیم.

۹) فرضيات و وابستگی‌ها

فاكتورها و مواردی كه روي سيستم تأثیرگذار هستند مشخص می‌کنیم. فرضياتي را بيان می‌کنیم كه تغيير  آن‌ها در عملکرد نیازمندی‌های ما تأثیر بگذارد مثلاً فرض اينكه در صورتی که ارتباط با وب سرویس خاصی برقرار نبود برخی امکانات نیز در دسترس نخواهد بود و یا نحوه سرویس دهی متفاوت خواهد بود.

بخش سوم: مشخصه نیازها

۱) رابطه‌های بیرونی

در این بخش مواردی که سامانه نرم افزاری از طریق آن ورودی گرفته و یا به آن‌ها خروجی می‌دهد، به‌طور کامل باید شرح داده شود. در این بخش تمامی رابط‌های که پیش‌تر لیست شدند باید شرح داده شوند. مثلاً ویژگی‌های رابط‌های کاربری. ممکن است برخی از موارد در بخش‌های دیگر توضیح داده باشد، اما در این قسمت بخش‌هایی از نیازمندی مدنظر است که به گرفتن ورودی یا خروجی ارتباط دارد.

۲) امکانات سامانه

در این قسمت به شرح ریز و دقیق بخش‌های هر نیازمندی می‌پردازیم. جهت آشنایی با فرمت شرح هر نیازمندی چند مورد به‌صورت نمونه در این قسمت درج شده است.

۲٫۱) سؤالات متداول

شرح: در این قسمت لیست سؤالات متداولی که کاربران می‌پرسند به تفکیک و دسته بندی قابل‌مشاهده خواهد بود.

ویژگی‌های این قسمت

  • تعریف سؤال
  • تعریف پاسخ سؤالات
  • تصویر فلوچارت

فیلدهای قابل‌مشاهده در این قسمت عبارت‌اند از

  • تعریف سؤالات و پاسخ آن‌ها: با استفاده از فیلدهای زیر می‌توان اقدام تعریف سؤالات و پاسخ آن‌ها کرد.
  • شرح سؤال: یک فیلد ویرایشگر که شرح سؤال در آن درج خواهد شد.
  • شرح پاسخ: یک فیلد ویرایشگر که شرح پاسخ در آن درج خواهد شد.
  • گروه: یک لیست بازشو که نام دسته بندی‌ها در آن قرار دارد.

۳) نیازمندی‌های طراحی و استانداردها

  • زبان برنامه نویسی هسته سیستم:
  • زبان برنامه نویسی رابط کاربری سیستم:
  • محیط برنامه نویسی:
  • سیستم عامل:
  • پایگاه داده مورد استفاده:

۴) ویژگی‌های سامانه

۴٫۱) امنيت

مواردی که از نظر امنیتی مدنظر است به‌صورت ریز در این قسمت باید درج شود، حتی به شرح انتظاراتی که در این قسمت از بحث امنیت خواهیم داشت باید به‌صورت ریز و دقیق اشاره شود.

۴٫۲) سئو

مواردی که از نظر سئو مدنظر است به‌صورت ریز در این قسمت باید درج شود، حتی به شرح انتظاراتی که در این قسمت از بحث سئو خواهیم داشت باید به‌صورت ریز و دقیق اشاره شود.

۴٫۳) بهینه سازی نمایش در مرورگرهای مختلف

مواردی که از نظر بهینه سازی نمایش در مرورگرهای مختلف مدنظر است به‌صورت ریز در این قسمت باید درج شود، حتی به شرح انتظاراتی که در این قسمت از بحث بهینه سازی نمایش در مرورگرهای مختلف خواهیم داشت باید به‌صورت ریز و دقیق اشاره شود.


اجرا شده در: داده پرداز پویای شریف

FacebookTwitterGoogle+
مدیریت پروژه,مستندات پروژه های نرم افزاری,انواع مستندات کاری

RUP، یک فرآیند یکپارچه

اين متدولوژی از يكپارچه‌سازی سه متدولوژی معروف ديگر بوجود آمده است كه شامل Booch، OMT و OSE می‌باشد.
از UML در جهت كارهای خود استفاده مي‌كند. در واقع می‌توان گفت UML خود ثمره RUP  می باشد و اين خود بسيار خوب است كه متدولوژيی با خودش گسترش يابد. مفاهيمی از قبيل Object، Class و … مفاهيم ساده و ثابتی هستند ولي قبلاً متدولوژيها علامتهای خاصی داشتند كه اكنون همه آنها يكسان شده‌اند.

در داخل RUP يك چارچوب توليد نرم‌افزار است كه ما آنرا برای سازمان و پروژه خود بومی می‌كنيم و می توان گفت كه در واقع يك قالب است.

Rup شامل ۴ فاز می باشد و اگر در هر لحظه به آن نگاه كنيم شامل ۹ قالب خواهد بود.

اين فرآيند يک روش نظام‌مند براي تخصيص کارها و مسئوليتها در يک تيم توسعه نرم‌افزار ارائه می دهد و هدف آن توليد نرم‌افزار بصورت بهينه و با کيفيت بالاست که بتواند نيازهای کارفرما را تحت يک برنامه زمانی مشخص و با بودجه قابل پيش‌بينی برآورده سازد. آر.يو.پي بهره‌وری تيم توليد نرم‌افزار را با فراهم نمودن دسترسی تمام افراد تيم به يک پايگاه دانش سهل‌الوصول به همراه راهنماها، الگوها و ابزارهای کمکی برای همه فعاليت‌های حياتی توسعه، افزايش می‌دهد. از آنجا که تمام افراد به منابع يکسانی دسترسی دارند، لذا ديد مشترکی برای توسعه نرم‌افزار برخوردار هستند.
آر.يو.پی امکان استفاده موثرتری از زبان يکپارچه مدلسازی (UML) را فراهم مي‌سازد (دقت شود که در عين حال آر.يو.پي و يو.ام.ال کاملاً مستقل از يکديگر هستند و نبايد آنها را با هم يکی فرض کنيم). به کمک تکنيک های آر.يو.پی بخش‌های عمده‌ای از فرآيند توليد نرم‌افزار به طور خودکار انجام شده و همچنين استفاده از مدل‌های توليد شده در فرآيندهای گذشته در پروژه‌های جاری به سادگی امکان‌پذير است. اين فرآيند با موقعيت‌های مختلف تطبيق يافته و براي سازمانهای بزرگ يا حتی کوچک توليد و توسعه نرم‌افزار قابل استفاده است.

آر.يو.پی کليه مراحل انجام يک پروژه شامل تحليل سيستم، برنامه‌ريزی، بررسی ريسکها، توليد و تست نرم‌افزار را در بر می گيرد و چهارچوبی در جهت انجام صحيح و موفق پروژه‌های نرم افزاری فراهم مي‌سازد.

چرا آر.يو.پی را يکپارچه ناميده‌اند:

  • اين فرآيند از ترکيب و يکپارچه‌سازي چند فرآيند و متدولوژي شامل Booch، OMT و OSE ديگر ايجاد شده است.
  • از زبان يکپارچه مدلسازي (UML) به طور موثري بهره مي‌گيرد.
  • مفاهيمي نظير کلاس و شيء در متدهاي قبلي علائم خاص و مختلفي داشته‌اند حال آنکه در آر.يو.پي يکسان شده‌اند.
FacebookTwitterGoogle+
مستندات پروژه های نرم افزاری,انواع مستندات کاری,متفرقه

مستند سازی شرح نیازمندی ها

یکی از مهمترین مواردی که در همه پروژه ها همواره باید رعایت شود، بحث مستند سازی نیازمندی های مشتری هاست که عملا ما را در حفظ دقیق نیازمندی و فراموش نشدن آن کمک خواهد کرد. صرف زمان بیشتر در زمان تنظیم این مستند و همچنین مستند طراحی و تحلیل پروژه، نه تنها باعث از دست نرفتن زمان بلکه باعث پیشبرد سریعتر در زمان پیاده سازی خواهد شد.

در این بین، مواردی نظیر اینکه باید خیلی ریز به یک پروژه و به صورت کلی یک درخواست نگاه شود، از طرفی باید در راستای حفظ بقای شرکت (ایجاد و تعریف پروژه در راستای درآمد زایی) مسئله مطرح شده را نیز به پروژه تبدیل کرد، مطرح می شود.

اما سوال اینجاست که موارد کاربردی در مستند که منجر به افزایش دقت در زمان تحویل می شود چیست؟ و یا به عبارتی مواردیکه در صورت ثبت/عدم ثبت آنها می توان موفقیت/عدم موفقیت یک پروژه را رقم زد چیست؟ و اینکه آیا همه چیز حتی در حد درج یک دکمه یا لینک کردن نیز باید در مستند قید شود؟
در نهایت همانطور که واضح است، کیفیت انتها ندارد و باید به این نکته توجه داشت که آیا زمان به ما این امکان را میدهد که به صورت نا متنهایی به بررسی درخواست کارفرما بپردازیم؟ و آیا به صورت کلی کارفرما این میزان صبر را دارد؟
در نهایت فکر میکنم مستندی که در کوتاه ترین زمان قابل آماده شدن باشد و البته نیازمندی ها را در حد خوبی پوشش دهد، باید شامل موارد زیر باشد:

  • مقدمه ای از پروژه
  • شرح هدف پروژه
  • ترسیم تصویر آینده پروژه
  • نمایش شماتیک ارتباطات بخش ها با هم
  • تفکیک ماژول ها (بخش ها)
    • شرح بخش
    • ویژگی های بخش
    • فیلد های هر بخش
    • دو مورد بالا به تفکیک کاربران مورد نیاز در پروژه باید تعریف شود
    • فلوچارت بخش مربوطه

در پست های بعدی در مورد استاندارد هایی نظیر SRS بیشتر مطلب خواهم نوشت.

FacebookTwitterGoogle+
مدیریت پروژه,انواع مستندات کاری,تجربیات یک مدیر پروژه

داده کاوی

یکی از مهمترین اصول کار در امر شناسایی روش های رسیدن به موفقیت در کسب و کار داده کاوی است که درحقیقت فرآیند جستجو و تحلیل مجموعه عظیمی از داده ها به منظور کشف الگوهای ناشناخته جالب توجه، غیرمنتظره و با ارزش و اطلاعات جدید و مفید قابل درک از حجم عظیمی از داده ها است. و شامل انتخاب، کاوش و مدلسازی مقادیر زیادی از داده ها میشود. داده کاوی از روشهای محاسباتی شبیه به هم زیادی چون تحلیل های آماری، درخت تصمیم گیری، شبکه های عصبی، قاعده های استقرا و اصلاح و نیز تصویری کردن استفاده می کند.

با توجه به این موضوع که ابزارهای مورد استفاده در داده کاوی خصوصا ابزار اکتشافی چون شبکه عصبی و تصویر سازی داده تاثیر بسزایی در پیشرفت علوم کامپیوتر داشته است، داده کاوی در چند سال اخیربه عنوان ابزاری برای کشف دانش بسیارجذاب و کاربردی مدنظر قرار گرفته است، وظایف داده کاوی برای استخراج الگوها از مجموعه داده های بزرگ استفاده می شود و میتوان به صورت کلی به صورت زیر بیان کرد:

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

۲) تخمین و برآورد: در این بخش تخمین و برآورد مشخصه های یک مجموعه از داده ها آزمایش شده و مقادیری به مشخصه های ناشناخته نسبت داده می شود. در این مرحله معمولا از شبکه های عصبی استفاده می شود.

۳) پیش بینی: پیش بینی رفتار آینده برای بررسی صحت دسته بندی

۴) گروه بندی شباهت(قوانین وابستگی): ویژگی های همزمانی که در وقوع یک پدیده رخ می دهند، یا ارتباط مشخصه ها با یکدیگر در یک محیط داده شده، در این قسمت مشخص می شود به عبارتی تعیین احتمال وقوع یا عدم وقوع همزمان ویزگی هاست.

۵) خوشه بندی: معمولترین شکل داده کاوی غیر هدایت شده است که گروههای منظمی را با اطلاعات مشابه پیدا می کند، بدون اینکه مثل دسته بندی کلاسهای از پیش تعیین شده داشته باشد؛ یعنی هیچ دستور کاری در این زمینه ندارد که بگوید چه متغیرهایی باید مهمتر محسوب شوند. در این قسمت از تکنیکهای کشف الگوی اماری، شبکه عصبی و منطق فازی استفاده می شود.

FacebookTwitterGoogle+
انواع گزارش,انواع مستندات کاری,متفرقه