حذف رمز فایل‌های PDF با کروم

حذف رمز فایل‌های PDF با کروم

برداشتن رمز عبور از فایل های پی دی اف

 

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

 

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

 

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

 

روش انجام کار بسیار ساده است:
1- مرورگر کروم را اجرا کنید.

 

2- فایل پی‌دی‌اف رمزنگاری شده را با عملیات کشیدن و رها کردن به مرورگر کروم منتقل کنید. (به هر روش دیگر نیز می‌توانید فایل را در مرورگر فراخوانی کنید)

 

3- رمز مورد نیاز برای مشاهده‌ محتوای فایل را وارد کنید.

 

4- به منوی File مراجعه کرده و گزینه‌ Print را انتخاب کنید.

 

5- از فهرست چاپگرهای موجود گزینه‌ Save as PDF را انتخاب کرده و در نهایت روی save کلیک کنید.

 

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

فیلم گرفتن از محیط دسکتاپ  در ویندوز 10

ترفندی در ویندوز 10: فیلم گرفتن از محیط دسکتاپ

 

عکس گرفتن از دسکتاپ ویندوز 10

 

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

سیستم عامل جدید مایکروسافت کم کم جای خود را بین کاربران باز می کند و به تدریج افراد بیشتری ویندوز 10 را به عنوان سیستم عامل اصلی خود انتخاب می کنند. طبق آخرین گزارش هایی که از طرف مایکروسافت منتشر شده، در حال حاضر بیش از 110 میلیون نفر در سرتاسر جهان به ویندوز 10 مهاجرت کرده اند و این روند همچنان سیر صعودی دارد. درس هایی که مایکروسافت از ویندوز 8 و بروزرسانی اجباری آن یعنی ویندوز 8.1 گرفت باعث شد آنها تمام تلاش خود را برای کم نقص ارائه دادن نسل بعدی سیستم عامل های خود به کار بگیرند و با نظرخواهی از کاربران سعی کنند امکانات هر چه بیشتری را در ویندوز 10 بگنجانند.

 

حتما تا به حال به وسیله مقالات و آموزش هایی که منتشر شده با برخی از ویژگی های جدید و ارتقا یافته ویندوز 10 آشنا هستید. در ادامه با ما همراه باشید تا یکی دیگر از این ویژگی های ساده و بسیار کاربردی را با هم مرور کنیم.

 

برای مثال به کمک این ویژگی که در برنامه xbox وجود دارد می توانید زمانی که در حال بازی کردن FIFA 16 هستید و یک گل زیبا به ثمر می رسانید از آن فیلم گرفته و برای دوستانتان در شبکه xbox ارسال کنید. اما نکته جالب آنجاست که مایکروسافت این قابلیت را با زبان بی زبانی در محیط دسکتاپ هم قرار داده است.

 

روش کار بسیار ساده است. کافی است زمانی که در محیط دسکتاپ (یا هر برنامه دیگری) هستید کلید های Windows Key+G را همزمان فشار دهید. پس از چند لحظه پیامی روی صفحه نمایش داده می شود که از شما می پرسد آیا مطمئن هستید الان در محیط یک بازی هستید؟ در واقع نیازی به تحلیل فلسفی نیست و می توانید خیلی راحت گزینه Yes را انتخاب کنید (به هر حال اگر محدودیتی وجود داشت مایکروسافت می توانست به راحتی آن را در محیط دسکتاپ غیر فعال کند). حالا با فشردن مجدد همان دو کلید پنجره کوچکی نمایش داده می شود که می توانید با کلیک کردن روی علامت دایره (مورد دوم از سمت راست) شروع به فیلم برداری از محیط برنامه ای که در آن هستید کنید.

 

برای دسترسی به فیلم های گرفته شده هم می توانید به بخش Game DVR در خود برنامه xbox مراجعه کرده یا در پوشه مربوط به اکانت خودتان (از درایو C یا از my documents می توانید به آن دسترسی داشته باشید) مسیر Video >> Captures را پیدا کنید. لازم به گفتن نیست که با استفاده از Game DVR در برنامه xbox می توانید فیلم های گرفته شده را ویرایش کنید و دستی به سر و روی آنها بکشید.

کلیه دستورات قابل اجرا در CMD

نام برنامه اجرايي

دستور

Accessibility Controls

access.cpl

Add Hardware Wizard

hdwwiz.cpl

Add/Remove Programs

appwiz.cpl

Administrative Tools

control admintools

Automatic Updates

wuaucpl.cpl

Bluetooth Transfer Wizard

fsquirt

Calculator

calc

Certificate Manager

certmgr.msc

Character Map

charmap

Check Disk Utility

chkdsk

Clipboard Viewer

clipbrd

Command Prompt

cmd

Component Services

dcomcnfg

Computer Management

compmgmt.msc

Date and Time Properties

timedate.cpl

DDE Shares

ddeshare

Device Manager

devmgmt.msc

Direct X Control Panel - If Installed

directx.cpl

Direct X Troubleshooter

dxdiag

Disk Cleanup Utility

cleanmgr

Disk Defragment

dfrg.msc

Disk Management

diskmgmt.msc

Disk Partition Manager

diskpart

Display Properties

control desktop

Display Properties

desk.cpl

Display Properties w/Appearance Tab Preselected

control color

Dr. Watson System Troubleshooting Utility

drwtsn32

Driver Verifier Utility

verifier

Event Viewer

eventvwr.msc

File Signature Verification Tool

sigverif

Findfast

findfast.cpl

Folders Properties

control folders

Fonts

control fonts

Fonts Folder

fonts

Free Cell Card Game

freecell

Game Controllers

joy.cpl

Group Policy Editor - XP Pro

gpedit.msc

Hearts Card Game

mshearts

Iexpress Wizard

iexpress

Indexing Service

ciadv.msc

Internet Properties

inetcpl.cpl

IP Configuration - Display Connection Configuration

ipconfig /all

IP Configuration - Display DNS Cache Contents

ipconfig /displaydns

IP Configuration - Delete DNS Cache Contents

ipconfig /flushdns

IP Configuration - Release All Connections

ipconfig /release

IP Configuration - Renew All Connections

ipconfig /renew

IP Configuration - Refreshes DHCP & Re-Registers DNS

ipconfig /registerdns

IP Configuration - Display DHCP Class ID

ipconfig /showclassid

Java Control Panel - If Installed

jpicpl32.cpl

Java Control Panel - If Installed

javaws

Keyboard Properties

control keyboard

Local Security Settings

secpol.msc

Local Users and Groups

lusrmgr.msc

Logs You Out Of Windows

logoff

Microsoft Chat

winchat

Minesweeper Game

winmine

Mouse Properties

control mouse

Mouse Properties

main.cpl

Network Connections

control netconnections

Network Connections

ncpa.cpl

Network Setup Wizard

netsetup.cpl

Notepad

notepad

Nview Desktop Manager - If Installed

nvtuicpl.cpl

Object Packager

packager

ODBC Data Source Administrator

odbccp32.cpl

On Screen Keyboard

osk

Opens AC3 Filter - If Installed

ac3filter.cpl

Password Properties

password.cpl

Performance Monitor

perfmon.msc

Performance Monitor

perfmon

Phone and Modem Options

telephon.cpl

Power Configuration

powercfg.cpl

Printers and Faxes

control printers

Printers Folder

printers

Private Character Editor

eudcedit

Quicktime - If Installed

QuickTime.cpl

Regional Settings

intl.cpl

Registry Editor

regedit

Registry Editor

regedit32

Remote Desktop

mstsc

Removable Storage

ntmsmgr.msc

Removable Storage Operator Requests

ntmsoprq.msc

Resultant Set of Policy - XP Pro

rsop.msc

Scanners and Cameras

sticpl.cpl

Scheduled Tasks

control schedtasks

Security Center

wscui.cpl

Services

services.msc

Shared Folders

fsmgmt.msc

Shuts Down Windows

shutdown

Sounds and Audio

mmsys.cpl

Spider Solitare Card Game

spider

SQL Client Configuration

cliconfg

System Configuration Editor

sysedit

System Configuration Utility

msconfig

System File Checker Utility - Scan Immediately

sfc /scannow

System File Checker Utility - Scan Once At Next Boot

sfc /scanonce

System File Checker Utility - Scan On Every Boot

sfc /scanboot

System File Checker Utility - Return to Default Setting

sfc /revert

System File Checker Utility - Purge File Cache

sfc /purgecache

System File Checker Utility - Set Cache Size to size x

sfc /cachesize=x

System Properties

sysdm.cpl

Task Manager

taskmgr

Telnet Client

telnet

User Account Management

nusrmgr.cpl

Utility Manager

utilman

Windows Firewall

firewall.cpl

Windows Magnifier

magnify

Windows Management Infrastructure

wmimgmt.msc

Windows System Security Tool

syskey

Windows Update Launches

wupdmgr

Windows XP Tour Wizard

tourstart

Wordpad

write

کاربرد روش RAD در توسعه سیستم

1 - مقدمه مساله زمان در پروژه هاي سيستمهاي اطلاعاتي همواره از عوامل حساس وتعيين كننده بوده است . درصورت طولاني شدن زمان يك پروژه ، ممكن است پروژه باتغيير مديريت در سازمان كارفرما يا تغيير در اهداف مديريت مواجه شود كه اين مواردمي توانند بر موفقيت پروژه تاثير منفي بگذارند. ازطرف ديگر در بخش مجري يا كارگزار،طولاني شدن پروژه مي تواند باعث بالارفتن نرخ كارشناسي و درنتيجه افزايش هزينه پروژه گردد.
طولاني شدن زمان پروژه ازنظر تكنولوژي اطلاعات نيز مي تواند مساله ساز باشد. هرروز كه مي گذرد پايگاههاي داده ها، سيستمهاي عامل ، زبانهاي برنامه سازي و ابزارهاي مهندسي نرم افزار "CASE TOOLS"توسعه يافته وگونه هاي جديدي از آنهابه بازار مي آيد وچنانچه زمان پروژه طولاني گرددممكن است روشها، ابزارها،وپلاتفورم انتخابي پروژه توجيه پذيري خود را از دست بدهد.
به دليل مسائل فوق در سطح جهاني كوششهايي براي استفاده از روشها و ابزارهاي بهتر به منظور كاهش زمان ، هزينه و ريسك پروژه و افزايش قابليت اعتماد به سيستمهاي ساخته شده صورت گرفته است كه در مقاله حاضر خلاصه اي از آنها ارائه مي گردد.
درمقاله حاضر پس از مطرح كردن مسائل و مشكلات روشهاي سنتي ، روشهاي موسوم به FASTTRACK يا RAD همراه با شرايط بكارگيري موفقيت آميز آنها ارائه مي شوند.

ادامه نوشته

رنگ بندی کابل



به طور کلی دو نوع کابل در شبکه های کامپیوتری استفاده میشود. نوع اول کابلی است که برای ارتباط یک پایانه و سوئیچ یا هاب به کار میرود که به این نوع کابل مستقیم یا Straight گویند.
نوع دوم کابلی است که برای ارتباط دو پایانه مانند دو کامپیوتر به کار میرود که به این نوع کابل Cross گویند.

مدل های متفاوت کابل کشی کابل های UTP
به منظور کابل کشی کابل های UTP از دو استاندارد  متفاوت  T-568A و T-568B استفاده می گردد . نحوه عملکرد دو مدل فوق یکسان بوده و تنها تفاوت موجود به رنگ زوج هائی است که به یکدیگر متصل می شوند.در کابل های UTP از کانکتورهای استاندارد و چهار زوج سیم بهم تابیده استفاده می گردد :
•    زوج اول : آبی و سفید/ آبی
•    زوج دوم : نارنجی و سفید /نارنجی
•    زوج سوم : سبز و سفید/ سبز
•    زوج چهارم : قهوه ای و سفید / قهوه ای
در شبکه های 10/100 Mbit از زوج های دو و سه استفاده شده و  زوج های یک و چهار رزو شده می باشند . در شبکه های گیگا اترنت از تمامی چهار زوج استفاده می گردد. کابل های CAT5 متداولترین نوع کابل UTP بوده که دارای انعطاف مناسب بوده و نصب آنان بسادگی انجام می شود .
 در سوکت زدن سر کابل ها باید ترتیب خاصی را در نظر گرفت که دو ترتیب رنگ استاندارد بنامهای ClassA و ClassB شناخته میشوند. اگر چه استفاده از ترتیب رنگهای دیگر ممکن است درست جواب دهد اما به طور یقین خالی از اشکال نخواهد بود و شما را در عمل دچار نقص و کاستی هایی خواهد کرد به خصوص در سرعت واقعی شبکه. شکل های زیر نحوه سوکت زنی کابلها را در حالت مستقیم و کراس نشان می‌دهند:

                               

TIA/EIA-568 T568A termination
Pin Pair Wire Color
1 3 tip Pair 3 Wire 1 white/green
2 3 ring Pair 3 Wire 2 green
3 2 tip Pair 2 Wire 1 white/orange
4 1 ring Pair 1 Wire 2 blue
5 1 tip Pair 1 Wire 1 white/blue
6 2 ring Pair 2 Wire 2 orange
7 4 tip Pair 4 Wire 1 white/brown
8 4 ring Pair 4 Wire 2 brown
TIA/EIA-568 T568B termination
Pin Pair Wire Color
1 2 tip Pair 2 Wire 1 white/orange
2 2 ring Pair 2 Wire 2 orange
3 3 tip Pair 3 Wire 1 white/green
4 1 ring Pair 1 Wire 2 blue
5 1 tip Pair 1 Wire 1 white/blue
6 3 ring Pair 3 Wire 2 green
7 4 tip Pair 4 Wire 1 white/brown
8 4 ring Pair 4 Wire 2 brown

    شکل 1: سوکت زنی کابل در حالت مستقیم 

                                                                       stright

شکل 2: سوکت زنی در حالت کراس 

 cross

روش های مهندسی توسعه نرم افزار

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

روش های مهندسی توسعه نرم افزار

با بزرگ شدن پروژه های نرم افزاری و پیشرفت علم مهندسی نرم افزار ، روش های سازمان یافته ای برای توسعه نرم افزارها ابداع شد که هر کدام بسته به نوع پروژه و محدودیت های آن در جای خاصی کاربرد دارد. برخی روش ها مانند R.A.D به دلیل کمبود زمان تولید، برخی مانند spiral به دلیل مشخص نبودن نیازمندی های اولیه نرم افزار و برخی مانند X.P برای کسانی که کار طراحی نرم افزار را با کدنویسی شروع میکنند ابداع شدند. ایجاد پروژه های بزرگ بدون بکارگیری یکی از روش های مهندسی نرم افزار ممکن نیست.
ادامه نوشته

منزل شخصی بیل گیتس

آفتاب: منزل بیل گیتس در مدینای واشنگتن«Medina-Washington» مشرف به دریاچه واشنگتن واقع شده و مساحت زمین آن بالغ بر ۵/۱۲ acre می‌باشد. بیل گیتس زمین این خانه را در سال ۱۹۸۸ به مبلغ ۲ ملیون دلار خرید و ساخت خانه‌اش حدود هفت سال به درازا انجامید و در سال ۱۹۹۵ بپایان رسید.

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

سایر اطلاعات در مورد این خانه بدین شرح است :
مساحت این خانه ۵۰۰۰۰ متر مربع است.

درسال ۲۰۰۵ قیمت این خانه ۲۰۰ ملیون دلار برآورد شده است.

هر یک ازدستگیره‌های درهای این خانه ۲۰۰۰ دلار ارزش دارد.

زمانی در این خانه تعداد ۳۰۰ نفر به کار مشغول بودند که تعداد ۱۰۴ نفر انها در قسمتهای کامپیوتر و الکترونیک منزل کار می‌کردند.
 
در تمام قسمتهای این خانه حتی درون دیوارهای سنگی دوربینهای مخفی کار گذاشته شده است.

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

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

هنگامی که او می‌خواهد به منزل مراجعه کند آب وان حمامش بطور اتوماتیک در وان ریخته می‌شود و حرارت آن مطابق با نظر او ثابت می‌ماند.

در ضمن قسمت اعظم این خانه در زیر زمین ساخته شده تا ظاهرا زیاد بزرگ بنظر نرسد!
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ترفند کیبورد...بیش از 200 نوع از كليد هاي ميانبر در ويندوز XP

بیش از 200 نوع از كليد هاي ميانبر در ويندوز XP

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

Esc لغو عمليات در حال انجام.
F1 راهنما.
F2 در حالت عادي تغيير نام آيتم (هاي) انتخاب شده .
در برنامه هاي قديمي تر (معمولا تحت داس)ذخيره فايل جاري.
F3 جستجو.
F4 باز كردن ليست پايين رونده Address Bar
F5 به روز آوري Refresh
F6 مانند كليد Tab بين اجزاي مختلف پنجره جاري سوييچ مي كند.
F10 پرش به منو هاي اصلي يك پنجره مثلFile,Edit,View,…
F11 پنجره جاري را تمام صفحه مي كند.
PrintScreen در ويندوز از كل صفحه نمايش يك عكس مي گيرد و آن را در حافظه كليپ بورد قرار مي دهد و ما مي توانيم در يك برنامه ويرايش عكس مثل Ms-Paint آن را Paste كنيد .
Tab بين اجزاي پنجره جاري سوييچ مي كند .
Space در حالت مرورگر اينترنت اكسپلورر صفحه جاري را به پايين مي برد .مثل Page Down
BackSpace در حالت عادي يعني در مرور ويندوز يك مرحله به بالاتر ميرود (معادل Up) و در مرورگر اينترنت اكسپلورر معادل Back است.
Home رفتن به اول خط در حالت ويرايش متن و رفتن به اول صفحه در حالت مرور.
End رفتن به آخر خط در حالت ويرايش متن و رفتن به آخر صفحه در حالت مرور.
PageUp در حالت مرور چه در اينترنت و چه در ويندوز و معمولا همه جا صفحه به صفحه به بالا مي رود.
PageDown در حالت مرور چه در اينترنت و چه در ويندوز و معمولا همه جا صفحه به صفحه به پايين مي رود.

Arrow تركيبات كليد Ctrl :
Ctrl+q در بعضي از برنامه ها خروج است.
Ctrl+w در اكثر برنامه هايي كه چند فايل را باهم باز مي كنند مثل Ms-Word, كلا Ms-Office , Adobe Photoshop ,Ms-internet Explorer, … فایل باز شده جاری را می بندد.
Ctrl+e جستجو در مسير جاري.
Ctrl+r تازه كردن صفحه معادل كليد F5 و Refresh
Ctrl+y وقتي كه يك عمل به عقب باز ميگرديم (Undo) اين كليد ها يك عمل به جلو مي روند (Redo) البته در بعضي برنامه ها معمولا محصولات آفيس مايكروسافت اينگونه هستند .
Ctrl+i باز كردن قسمت علاقه مندي هاFavorites
Ctrl+o باز كردن فايل جديد در اكثر برنامه ها ، معادل File>Open
Ctrl+p پرينت گرفتن در اكثر برنامه ها.
Ctrl+a انتخاب همه آيتم ها.
Ctrl+s در اكثر برنامه ها ذخيره فايل جاري .Save
Ctrl+d در اينترنت اكسپلورر صفحه باز شده جاري را به علاقه مندي ها اضافه مي كند (معادل Favorites>Add to Favorites) و در ويندوز هم آيتم (آيتم هاي) انتخاب شده
را پاك مي كند. (کمیاب آنلاین.کام)
Ctrl+f جستجو.
Ctrl+h معادل History (ابته در ويرايشگر نوت پد معادل Find / Replace است)
Ctrl+l در اينترنت اكسپلورر معادل File>Open است.
Ctrl+z بازگشت به آخرین عملیات انجام شده .Undo
Ctrl+x انتقال (برش) آیتم مورد نظر در حافظه کلیپبوردCut.
Ctrl+c کپی آیتم مورد نظر در حافظه کلیپبورد.Copy
Ctrl+v فراخوانی آیتم مورد نظر از حافظه کلیپبورد.Past
Ctrl+b پنجره سازماندهي علاقه منديها (Organize Favorites) را باز مي كند.
Ctrl+n در اينترنت اكسپلورر (تقريبا تمامي مرورگرها) يك پنجره جديد باز مي كند.
Ctrl+F1 در اكثر برنامه ها ي مختلف راهنماي برنامه را باز مي كند .
Ctrl+F4 باز كردن ليست پايين رونده Address Bar در مرورگر اينترنت اكسپلورر و مرورگر ويندوز.
Ctrl+F10 باز كردن منو هاي بالاي پنجره برنامه ها مثل File,Edit,….
Ctrl+BackSpace موقع ويرايش متن همان كار BackSpace را انجام مي دهد با اين تفاوت كه به جاي پاك كردن كاراكتر به كاراكتر كلمه به كلمه پاك مي كند.
Ctrl+5 معادل Select All در اکثر ویرایشگر های متنی.
Ctrl+Home درحالت ويرايش مكان نما را به اول صفحه انتقال مي دهد.
Ctrl+End درحالت ويرايش مكان نما را به آخر صفحه انتقال مي دهد.
Ctrl+Insert كپي آيتم(هاي) انتخاب شده در حافظه كليپ بورد(Copy).

Arrow تركيبات كليد Alt :
Alt+A باز كردن منوي علاقه مندي ها و قرار گرفتن بر روي Add to Favorites
Alt+D انتقال مكان نما به Address Bar
Alt+F4 بستن پنجره جاري.
Alt+Space Bar معادل راست كليك بر روي نوار عنوان پنجره جاري.
Alt+Esc پيمايش بين پنجره هاي باز جاري.
Alt+Tab سوييچ كردن بين پنجره هاي باز جاري.
Alt+BackSpace در بعضی از ویرایشگرها معادل Undo عمل مي كند (معمولا ويرايشگرهاي قديمي و تحت داس)
Alt+Home در مرورگر اينترنت اكسپلورر به صفحه خانگي پرش مي كند.
Alt+Right Arrow معادل Forward در مرورگر ویندوز.
Alt+Left Arrow معادل Back در مرور گر ويندوز.
Alt+Number تركيب كليد Alt به همراه زدن يك عدد از قسمت سمت راست صفحه كليد در حالت ويرايش يك كاراكتر معادل كد اسكي عدد وارد شده نمايش مي دهد . مثلا اگر Alt را نگه داشته و 789 را وارد كنيم پس از رها كردن كليد Alt اين كاراكتر نمايش داده مي شود : § .
Alt+Enter متعلقات (Properties) آيتم(هاي) انتخاب شده را نمايش مي دهد.
Alt+PrintScreen از پنجره جاري يك عكس تهيه مي كند و به حافظه كليپ بورد انتقال مي دهد.


Arrow تركيبات كليد Shift :
Shift+F10 معادل راست كليك.
Shift+Del پاك كردن كامل آيتم (هاي) انتخاب شده .يعني بدون اين كه به سطل بازيافت انتقال يابد پاك مي شود.
Shift+tab وارونه كاري كه Tab انجام مي دهد.
Shift+Insert فراخواني اطلاعات از حافظه كليپبورد (Paste)

Arrow تركيبات WinKey :
خود WinKey
باز شدن منوي Start در ويندوز.
WinKey+E باز كردن My Computer در حالت Folders.
WinKey+R باز كردن پنجره Run.
WinKey+U باز كردن پنجره Utility Manager.
WinKey+D نمايش دسكتاپ معادل Show Desktop
WinKey+F جستجو.
WinKey+Ctrl+F جستجوي يك كامپيوتر در شبكه.
WinKey+L قفل كردن كامپيوتر .يا رفتن به حالت Swich User
WinKey+M تمامی پنجره های باز را Minimize مي كند.
WinKey+Shift+M تمامي پنجره هاي Minimize شده را Restore مي كند.

ترفند دسکتاپ"2"...تغيير نام دسته جمعی فايلها

تغيير نام دسته جمعی فايلها

با استفاده از این ترفند میتوانید نام کلیه فایل ها اعم از عکس ، متن ، آهنگ و… را تغییر دسته جمعی دهید. به این شکل که یک نام به فایل تخصیص یافته و بقیه فایل شماره های بعدی آن فایل میشوند به عنوان مثال:  (Picture(1) , Picture(2) , Picture(3 , ….


برای این کار :
1- ابتدا تمام عکسهايی را که ميخواهيد تغيير
نام دهيد انتخاب کنيد.
2- روی اولين عکس کليک سمت راست کرده سپس آنرا Rename کنيد.مثلا MyPicture
3- در حالی که Shift را نگه داشته اید،بين فضای خالی بين عکس اول
و دوم کليک کنيد.
4- نتيجه را ببينيد.

ترفند دسکتاپ"1"...نمایش ورژن ویندوز بر روی صفحه دسکتاپ

نمایش ورژن ویندوز بر روی صفحه دسکتاپ

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

برای اینکار:
از منوی Start به Run رفته و عبارت regedit را وارد کنید و Enter بزنید تا وارد ویرایشگر رجیستری شوید.
سپس به مسیر زیر بروید:
HKEY-CURRENT-USER / Control Panel / Desktop
در سمت دیگر پنجره بر روی PaintDesktopVersion دوبار کلیک کرده و Value Data را از 0 به 1 تغییر دهید و سپس OK کنید.
اکنون باید سیستم را رستارت نمایید.

به نقل از ترفندستان

Part one - OS

Part1: OS

 

1.انواع OS ها:

Dos                  stand alone - Single Task - Fat16 - CLI

Kernelهنوز همان  Dos بودWin 3.1           Stand alone - Fat32 

Win 95             Workstation - Fat32

         به علتBug های زیاد عملا کاربرد نداشت              Win 97

از این ویندوز به بعد عملا کاربردWorkstation نمایان شدWin 98            Workstation 

Win NT             NTFS

Win 2000          Workstation , Server

---------

Win XP                Workstation

Win .Net 2003      Server

---------

Win Vista            Workstation

Win 2008             Server

 

2.تعاریف:

Stand alone: نه می تواند سرویس بگیرد و نه می تواند سرویس بدهد.

Workstation: هم می تواند خودش به صورت stand alone کار کند و هم می تواند از سایرین خدمات بگیرد.

Server: می تواند به سایرین خدمات ارائه بدهد.

FAT: جدول فایل سیستم که نام و آدرس فایل ا را درون خود نگهداری میکند و Security پائینی دارد.

NTFS: فایل سیستمی که به صورت درختی است وقابلیت  Security & Sharing  دارد.

 

 

 

3.انواع شبکه ها:

BroadCast: این شبکه ا بسته را به تمام کامپیوترهای داخل شبکه ارسال میکند و فقط کامپیوتری می تواند از بسته فوق استفاده کند که آدرسش با آدرس درون بسته یکسان است.مثل ماهواره ها

Peer-to-Peer: شبکه های نظیر به نظیر که به صورت خطی بسته را از یکسری کامپیوتر های متصل در شبکه عبور میدهد تا به کامپیوتری که آدرسش متناظر با آدرس بسته است برسد.

تقسیم بندی شبکه از لحاظ نرم افزاری:

Workgroup: در اینن حال هر کس مدیر سیستم خود می باشد  و تنها می توانند منابع خود را به اشتراک بگذارد.

Client/Server: در این حالت Server سایرین را مدیریت می کند و می تواند به همه خدمات ارائه دهد.(ویندوز نصب شده بر روی سرور باید یکی از انواع Win Serve 2K باشد)

که از مسیر زیر می توان یکی از دو نوع گفته شه را برای سیستم انتخاب نمود:

MyComputer/R-click/Properties/Computername tab/Change button

 Domain

Workgroup

 

 

4.تنظیم کارت شبکه:

·        نصب کارت شبکه

MyComputer/R-Click/Manage/Device manager Tab

·        تست TCP/IP

درون CMD دستور Ping را بصورت زیر بکار میبریم

Ping 127.0.0.1

·    دستور Ping: .این دستور برای ارسال یکسری Packet است.که بصورتdefault چهار بسته ارسال میکند.می توان با سوئیچ –n تعداد بسته های ارسالی را کنترل نمود. مثلا دستور Ping –n 2 127.0.0.1 تعداد 2بسته را ارسال میکند.و میتوان با استفاده از سوئیچ –t بصورت پشت سر هم بسته ارسال کرد که با Ctrl+c می توان آن را متوقف نمود.

·    TTL:زمان اعتبار و یا عمر بسته است که به ازای هر Hop یکی از مقدار آن کم میشود.در دستور Ping اگرTTL بسته قبل از رسیدن به مقصد صفر شود پیغامTimeOut و در صورتی که مقصد را پیدا نکند پیغام  Destination Host Unreachable  میدهد.

 

 

5.Setکردن Ip Address

·    وارد Properties کارت شبکه شده :در General Tab علاوه بر مشاهده اطلاعاتی نظیر نام کارت شبکه می توان برای سیستم خودIP یی Set کرد که با توجه به کلاس IP فوق شماره شبکه ای (Subnetmask) که حکم نام خاوادگی برای Ip دارد تخصیص داده میشود.همچنین می توان بیش از یک IP برای کارت شبکه Setکرد.به این صورت که در همین پنجره دکمه Advance را Clickکرده و در پنجره باز شده توسط دکمه Add می توان IP های دیگری Add نمود.

·    همچنین می توان آدرسی در محدوده ی آدرس Ip برای Getway تنظیم نمود که در صورتی که Packet ارسال شده در Lan داخلی آدرس مقصد را پیدا نکرد به Getway ارسال می شود.

 

 

6.ویندوز server

هنگام نصب Win server 2k می توان ان را به 4 صورت مختلف نصب نمود.

v  Web edition: هنگامی استفاده میشود که سرورو منحصرا خدمات وب می دهد و به عنوان  Web serverمورد استفاده قرار می گیرد.

v  Standard edition: اگر تعدا کامپیوتر های موجود در شبکه حداکثر بین 300 تا 400 تا باشد از این نوع استفاده میشود.

v  Enterprice edition: اکر تعداد کامپیوتر های موجود در شبکه بیش از 1000 تا باشد حالت تجاری پیدا میکند که از این نوع استفاده می نمائیم.

Data center: سیستم عاملی سفارشی برای شرکتی خاص

 

 

توجه:

برای ارسال message از طریق Command Prompt دستور زیر را تایپ می نماییم:

  messageکامپیوتر موردنظر Net Send IP

که البته باید توجه داشت که سرویس messenger در حالتRun  باشد

که برای این منظور می توان در Run عبارتServices.msc را تایپ کرده و در پنچره ظاهر شده گزینه messenger  را انتخاب و با دابل کلیک بر روی آن از پنجره ظاهر شده گزینه manual و سپس دکمه Start را بفشاریم.

 

سلام

از این به بعد Debugger ها تصمیم دارن در مورد شبکه صحبت کنن...قراره بزنیم تو کار شبکه...

امیدوارم مطالبی که میزاریم به دردتون بخوره و اونایی که دستی تو شبکه دارن بتونن مشکلاتمون و یا ایراد هامون رو برطرف کنن!

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

اگه شما هم اطلاعاتی داشتید در اختیار ما قرار بدید...ممنون

مهندسي نرم افزار و روش هاي تست در ويژوال استوديو 2005

مقدمه
ايجاد و توسعه نرم افزار، نيازمند رعايت كليه اصول و ساختارهاي مهندسي است كه در مبحث مهندسي نرم افزار مطرح مي شود. يكي از مهم ترين دروس تخصصي كه محصلان رشته مهندسي كامپيوتر ملزم به گذراندن آنند، مهندسي نرم افزار (۱) و (۲) است. در اين درس نحوه ايجاد و توسعه نرم افزار به روش علمي مورد بحث و بررسي قرار مي گيرد.
ويژوال استوديو و دات نت فريم ورك به عنوان بزرگترين پلتفرم ايجاد و توسعه نرم افزار، ابزارهايي را در راستاي به كارگيري اصول مهندسي نرم افزار و روش هاي تست ارائه مي دهد كه در صورت تسلط كامل به اين قابليت ها، مي توان در بهبود كيفيت محصول پيش رفت.در اين مقاله به بررسي ويژگي هاي فوق پرداخته خواهد شد.
از مهندسي نرم افزار نترسيد!

شايد شما با مهندسي نرم افزار آشنا نباشيد و يا حتي اسم آنرا هم نشنيده باشيد، در اين صورت نترسيد و به مطالعه اين مقاله ادامه دهيد.
ويژوال استوديو و مهندسي نرم افزار
در اين مقاله سعي مي كنيم خيلي ساده و گويا جنبه هايي از ابزار مهندسي نرم افزار موجود در ويژوال استوديو را معرفي كنيم.علاقمندان براي كسب اطلاعات بيشتر مي توانند به كتاب هاي موجود در اين زمينه مراجعه كنند.
در دنياي امروزه كه مبتني بر دانش و تكنولوژي است،هيچ كاري بدون طرح و نقشه قبلي انجام نمي شود.توسعه و ايجاد نرم افزار هم از اين مقوله مستثنا نيست تا جايي كه در اكثر موارد بدون طرح ريزي مهندسي يك پروژه نرم افزاري اغلب به شكست مي انجامد.در اين راستا قبل از توليد، تمامي جزئيات طراحي و پياده سازي نرم افزار را با دياگرام هايي نمايش مي دهند كه به مثابه نقشه در ساختن يك بنا محسوب مي شود.در اين ميان Class Diagram در مبحث متدلوژي شي گرا (MethodologyObject Oriented) مهم ترين دياگرامي است كه طراحي و ايجاد آن ضروري و الزامي است.
Class Diagram چيست؟
با توجه به توضحات داده شده، يكي از متدلوژي هاي موجود در توسعه و توليد نرم افزار، متدلوژي شي گراست.اين متدلوژي مبتني بر كلاس ها و روابط بين آنهاست.يعني طراح و توسعه دهنده براي پياده سازي سيستم مورد نظر واحد هايي به نام كلاس (Class) تعريف مي كند.پيكربندي و شالوده برنامه را كلاس هايي تشكيل خواهند داد كه در مراحل تحليل و طراحي استخراج مي شوند.به اين صورت كه پس از طي مراحل تحليل و شناخت سيستم، تمامي اجزا آن مي بايست در قالب كلاس طراحي و پياده سازي شوند.
Class Diagram : دياگرامي است كه تمامي كلاس هاي موجود در يك پروژه را به همراه محتويات كلاس ها و ارتباط بين آن ها نشان مي دهد.
محتويات يك كلاس عبارت است از:
· متغيرها
· خصيصه ها
· توابع
ارتباط بين كلاس ها مي تواند شامل موارد زير باشد :
· Inheritance ( ارث بري ) : يكي از مفاهيم برنامه نويسي است كه در آن كلاس جديد ( فرزند ) از كلاس موجود (پدر) تمامي ويژگي ها را به ارث مي برد.
· Association ( همكاري ) : عبارت از آن است كه يك كلاس، از كلاس ديگري براي مقاصد خود استفاده كند.
حال كه مفهوم Class Diagram بيان شد،امكانات موجود در ويژوال استوديو را بررسي مي كنيم.براي كار با كلاس دياگرام، ويژوال استوديو امكانات زير را در اختيار قرار مي دهد:
همانطور كه در شكل مشاهده مي شود، امكان اضافه كردن كلاس، نوع داده شمارشي (Enum)، واسط (Interface)، كلاس انتزاعي (Abstract Class)، ساختار (Struct) و نماينده (Delegate) به كلاس دياگرام وجود دارد.همچنان ارتباط بين كلاس ها را توسط دو نوع مفهوم Inheritance ( ارث بري ) و Association ( همكاري ) مي توان نشان داد.در نهايت مي توانيد توضيحات خود را به شكل Comment در هر جاي لازم به كلاس دياگرام اضافه كنيد.
نحوه توليد كلاس دياگرام براي پروژه ها

توليد كلاس دياگرام در هر مرحله از كار امكان پذير است.اما اصولا! قبل از هر گونه پياده سازي بايد آن را توليد كرد.
براي توليد كلاس دياگرام، مسير Project > Add New Item… را دنبال و از ديالوگ ظاهر شده آيتم Class Diagram را انتخاب كنيد ( اسم دياگرام را به دلخواه وارد كنيد ) سپس بر روي دكمه Add كليك كنيد تا كلاس دياگرام اضافه شود.

پس از اضافه شدن كلاس دياگرام، مي توانيد از تمامي ابزارهاي آن استفاده كنيد.براي بررسي كامل تر و جامع تر، پروژه اي را در نظر بگيريد كه شامل كلاس هاي زير است:

براي ايجاد كردن كلاس دياگرام پروژه بالا، بر روي پروژه كليك راست كرده گزينه View Class Diagram را انتخاب مي كنيم:
با اين انتخاب، كلاس دياگرام به شكل زير ايجاد خواهد شد:
با اضافه شدن كلاس دياگرام به پروژه، منوي Class Diagram نيز به مجموعه منوهاي ويژوال استوديو اضافه مي گردد:
با استفاده از اين منو به ترتيب مي توانيد :
· عضو جديدي به كلاس دياگرام ( اعم از كلاس، واسط ، داده شمارشي و ... ) اضافه كنيد. (Add)
· دياگرام را به اندازه مطلوب تغيير دهيد (Zoom).
· اعضا را به شكل دلخواه دسته بندي كنيد.(Group Members)
· فرمت نمايش اعضا را تغيير دهيد.(Change Members Format)
· عرض اشكال را تنظيم كنيد.(Adjust Shapes Width)
· دياگرام را با فرمت تصوير ذخيره كنيد.(Export Diagram as Image)
اگر بخواهيد اعضاي كلاس را مشاهده كنيد بايد با كليك ماوس آنرا باز كنيد (Expand) در اين صورت اعضاي كلاس اعم از متغيرها و توابع قابل مشاهده خواهند بود:
پس از انتخاب كلاس مورد نظر، در صورتي كه منوي Class Diagram را دوباره بررسي كنيد، خواهيد ديد كه گزينه هايي به آن اضافه شده اند:
با استفاده از موارد اضافه شده به منوي Class Diagram، مي توان عمليات بيشتري را بر روي كلاس انجام داد از جمله:

· عضو جديد شامل تابع ( سازنده – نابود كننده )، متغير، پراپرتي و رخداد به كلاس اضافه كرد. (Add)
· يك واسط از كلاس انتخاب شده ايجاد كرد يا نام اعضاي آنرا تغيير داد.(Refactor)
· يك كلاس انتزاعي را پياده سازي كرد يا اعضاي كلاس را سرباگذاري نمود (IntelliSense)
تست كلاس ها با استفاده ازابزارهاي كلاس دياگرام
يكي از توانايي هاي فوق العاده اي كه كلاس دياگرام در اختيار شما قرار مي دهد اين است كه شما مي توانيد از هر كلاس، نمونه سازي كرده و توابع آن را براي تست فراخواني كنيد!
براي نمونه سازي از كلاس مورد نظر، بر روي كلاس كليك راست كرده، گزينه Create Instance را انتخاب كنيد. سپس با كليك بر روي يكي از سازنده هاي موجود، عمل نمونه سازي از آن كلاس را انجام دهيد. (مانند شكل زير)
اگر تابع شما آرگومان پذير باشد، طي ديالوگي مانند شكل، مي توانيد مقادير مورد نظر را وارد كنيد:
پس از وارد كردن آرگومان هاي تابع سازنده، بر روي OK كليك كنيد تا آبجكت مورد نظر ساخته شود:
حال مي توانيد تمامي توابع نمونه ساخته شده را فراخواني كنيد.براي اين منظور بر روي آبجكت نمونه كليك راست كرده از منوي Invoke Method، توابع مورد نظر را فراخواني كنيد:
به عنوان مثال، فراخواني تابع ValidCreditCardNumber را با آرگومان "002524" در نظر بگيريد.نتيجه حاصل در ديالوگ شكل زير نشان داده شده است:
دقت كنيد كه نتيجه تست تابع موفقيت آميز بوده و مقدار بازگشتي true مي باشد.در صورتي كه لازم باشد مي توانيد مقدار بازگشتي را با وارد كردن نام متغير مربوطه براي عمليات ديگر ذخيره كنيد.
جالب است بدانيد كه در هر لحظه مي توان وضعيت نمونه ساخته شده را بررسي كرد.براي اين منظور كافيست كه اشاره گر ماوس را بر روي نمونه ساخته شده هدايت كنيد تا اطلاعات آن مانند شكل زير در اختيار شما قرار گيرد:
اين گزينه شما را قادر مي سازد كه صحت مقادير اعضاي كلاس را مورد بررسي قرار دهيد.
همانطور كه مي دانيد براي فراخواني توابع استاتيك نيازي به نمونه سازي از كلاس نيست.براي اين منظور بر روي كلاس كليك راست كرده، با انتخاب گزينه Invoke Static Method، توابع مورد نظر را به راحتي فراخواني كنيد.
در پايان يادآور مي شويم كساني كه نيازمند ابزارهاي تست قوي تر باشند، مي توانند از امكانات نسخه Team Edition ويژوال استوديو استفاده كنند كه امكانات تست بيشتري را در اختيار توسعه دهنگان و توليد كنندگان نرم افزار قرار مي دهد.

منبع : http://www.persiadevelopers.com

مهندسي هزينه

 همانطور که متوجه شديد پروژه اي که تيم ۴ نفره ما چندين هفته بر روي آن کار کرد پروژه اي غير واقعي براي کسب مهارت بيشتر در زمينه علم مهندسي نرم افزار بود...اما به واقع براي انجام اين امر کارهايي فراتر از آنچه انجام داديم نياز است...يکي از اين موارد هزينه هاي به وجود آمده در پروژه مي باشد که به نوبه خود در جايگاه ويژه اي قرار دارد و بي اهميتي به آن احتمال مواجهه با شکست را بالاتر مي برد...

در اينجا به مهندسي هزينه مي پردازيم!

معمولاً در‌سازماني که تمامي‌موارد آن مطابق روال معمول پيش مي‌رود، هيچ مشکلي وجود ندارد البته تا هنگامي‌که عدم انجام درست وظايف توسط يکي از قسمت‌ها باعث نارضايتي مشتري شود. ادامه نارضايتي مشتري از محصول يا خدمت، باعث شکست در تجارت يا اصلاح ساختار ‌سازماني در مؤسسات دولتي شود. از‌اين رو، ‌سازمان‌ها زماني طولاني را براي به‌خدمت گرفتن و آموزش کارکنان درزمينه انجام سريع کارها، صرف مي‌کنند.اکثر کارمندان، وظايف خود را بدون بهره‏گيري از متدولوژي هزينه انجام مي‌دهند. درهر حال، براي انجام بهينه امور، استفاده از فرايند تصميم‌سازي مناسب، کاري ضروري است. بايد توجه داشت که عده کمي‌ به‌صورت رسمي، با تصميم‌سازي و روش‌هاي آن آشنايي پيدا کردند. اکثر افراد، تصميم‌سازي را حسب تجربه‌ و از همکاران خود آموخته‌اند. متدولوژي ارزش، نوعي فرايند توانمند در زمينه تصميم‌سازي است که ويژگي‌ها و ابزار مختلفي را در اختيار دارد. استفاده مديران، مهندسان، متخصصان و...از آن، منجر به‌تصميم‌سازي‌هاي مناسب و بهينه خواهدشد. متأسفانه عده‌اي از افراد نسبت به‌ويژگي‌ها و توانمندي‌هاي مطالعات هزينه آگاهي ندارند و از همين رو معمولاً در برابر آن مقاومت نشان داده و يا به‌دليل درک نادرست، براي اجتناب از به‌کارگيري آن دليل مي‌آورند.

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

علائم شدت برداشت‌هاي نادرست، زماني به‌اوج مي‌رسد که شنيده مي‌شود،"مهندسي هزينه نوعي بازنگري طراحي است و مشخص نيست که چه چيز آن را متفاوت و يکتا کرده است."‌ اين جمله نشان مي‌دهد که از نظر بسياري افراد هيچ گونه تفاوتي ميان‌اين دو مفهوم وجود ندارد.

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

عدم مرزبندي ميان‌اين دو مفهوم، با موارد و علت‌هاي زير مرتبط باشد:

1. مهندسي هزينه، براي افراد ناآشنا با مفاهيم آن بدرستي تشريح نشده است.

2. مخاطبان، روش مهندسي هزينه را نمي‌شناسند و آن را بدرستي درک نکرده‌اند.

3. افراد به‌واسطه تجربيات ناموفق قبلي، درباره مهندسي هزينه پيش داوري‌هاي درستي دارند.

4. ترس طبيعي انسان از تغييرات و هوشياري در برابر هر روش يا محصول جديد و ناشناخته.

 

اهميت مسئله

منشاء يکي از بزرگترين برداشت‌هاي نادرست، به‌اين باور باز مي‌گردد که: «روش مهندسي هزينه براي اصلاح اشتباهات به‌کار گرفته مي‌شود.» و بر همين مبنا، در برابر آن مقاومت شده و يا موضع دفاعي اتخاذ مي‏شود. ‌اين برداشت را مي‌توان با تشريح‌اين نکته که روش ارزش، فرايندي است که هر کس مي‌تواند و بايد در کارهاي معمول و روزمره آن را به‌کار ببرد، اصلاح کرد. افراد بايد به‌اين باور برسند که متدولوژي هزينه، نوعي فرايند تصميم‌سازي بسيار کارامد است که به‌طور کامل آزموده شده و بسيار قابل اعتماد است. همچنين، ضروري است که‌اين آگاهي پديد‌ايد که مي‌توان با آموختن و پيروي از قواعد‌اين روش، از تکرار تجربه‌هاي ناگوار پيش‏گيري کرد.

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

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

به‌عنوان نمونه، طرح اوليه ارائه شده از سوي اداره احياي زمين (USBR) براي سد "Hungry Hors" اجرايي، اما بسيار دشوار و نيازمند فناوري خاص بود. طي مطالعه مهندسي هزينه که در مورد‌اين پروژه خاص صورت گرفت، راه حلي ارائه شد که منجر به‌40 درصد صرفه جويي در مقايسه با طرح اوليه شد.‌اين امر نشان‏دهنده پتانسيل بالاي بهبود در خلال مطالعات هزينه است.

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

در صورتي که در خلال مطالعه هزينه گزينه مناسب‌تري ارائه نشود، نارضايتي کارفرما را به‌دليل زمان صرف شده، درپي خواهدداشت. از‌اين رو، انجام مطالعات در مراحل آغازين پروژه، باعث اجتناب از تاخير و نارضايتي‌هاي بعدي مي‌شود.

با توجه به‌اين نكته که ارزش اضافي پديدآمده براي پروژه/ محصول/ سيستم، پس از مطالعات هزينه معمولاً از هزينه مطالعات بيشتر است، دراکثر مواقع، نتايج مطالعات هزينه، اعتبار خود را تأمين مي‌کند. به‌طور معمول شرکت‌ها و دولت‌ها را مشکل مجزابودن محل تأمين اعتبار مطالعات طراحي از اعتبارات اجرايي (ساخت) رنج مي‌برند. متأسفانه در اکثر موارد، بهاي مطالعات هزينه از محل بودجه مطالعات طراحي تأمين مي‌شود، در حالي که صرفه جويي واقعي در مرحله ساخت روي مي‌دهد. در مدت دو سال، اداره احياي زمين‌ ايالات متحده، هزينه تخميني مرحله طراحي مفهومي ‌حدود 80 پروژه را با هزينه واقعي اجراي آنها طي دو سال، مقايسه کرده است.‌اين بررسي نشان مي‌دهد که قيمت اجراي پروژه‌هاي مورد مطالعه، به‌طورميانگين 7 درصد کمترازهزينه تخميني اوليه بوده است. اما در پروژه‌هايي که از مطالعه هزينه مستثني شده‌اند، ميانگين بهاي اجرا 10 درصد بيش از تخمين‌هاي اوليه بوده است.

بررسي نتايج‌ اين مطالعه نشان مي‌دهد که عدم اجراي مطالعات هزينه به‌بهانه نبود منابع مالي، تنها به‌ضرر کارفرما بوده و منجر به‌اتلاف منابع مالي وي مي‌شود.

مهندسي طراح اغلب مي‌گويند: " رويه موسوم ما در طراحي همان مهندسي هزينه است" ‌اين امر، به‌ندرت صحت دارد. مهندسان طراح، تمام تلاش خود را به‌کار مي‌برند تا طرحي با بهترين هزينه به‌کارفرما ارائه دهند، اما به‌ندرت از مهندس هزينه در پروژه‌هاي خود استفاده مي‌کنند. جمله: "ما هم اکنون مهندسي هزينه را به‌کار مي‌بريم" ناشي از برداشت اشتباه از تفاوت ميان رويه مرسوم بهينه‌سازي طرح توسط مهندسي طراح و مجموعه فعاليت‌هايي است که در فرايند مهندسي هزينه صورت مي‌پذيرد. مهندسان، هزينه را مستقيماً در طراحي نظر گرفته و بر‌اين باورند که ارزش، جزيي از تعريف مهندسي است.

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

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

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

 

مهندسي هزينه

متدولوژي هزينه يک سيستم، طرح يا محصول و اجرا و مؤلفه‌هاي مرتبط با آنها را به‌منظور تعيين هزينه هر يک، تحليل مي‌کند. طي فرايند تحليل کارکرد، کارکردهاي زيبا شناختي و ثانويه، تعيين شده و بهاي هريک براورد مي‌شود.

مهندسي هزينه براي تعيين ميزان تحقق ارزش حقيقي، الزامات طراحي را مورد بررسي قرار داده و در پي تحقق کارکردهاي ضروري با حداقل هزينه کل است.

موارد زير را مي‌توان به‌عنوان وجوه مشخصه مهندسي هزينه برشمرد:

1. پيروي از برنامه کار مهندسي هزينه‌ طي اجراي مطالعات هزينه(آماده‌سازي،تحليل کارکرد، گردآوري ‌ايده‌ها، ارزيابي، توسعه، تهيه گزارش،ارائه گزارش و اجرا).

2. روش‌حل مسئله مهندسي هزينه را مي‌توان در فرايندهاي مديريتي، طراحي، صنعت ساخت، توليد، بهره‌برداري و نگهداري به‌کار گرفت.

3. در پروژه‌هاي صنعت ساخت، مهندسي هزينه را مي‌توان در تمامي‌مراحل دوره عمر پروژه به‌کار برد.

4. اجراي مطالعات مهندسي هزينه در مراحل اوليه (برنامه ريزي و طرزاحي مفهوم) منجر به‌بيشترين دستاورد، با صرف حداقل منابع مي‌شود.

5. تحليل و بررسي معيارهاي طراحي بر مبناي کارکردهاي پايه.

6. مرزبندي بين نيازها و خواسته‌ها و نيز تعيين زمينه‌هاي پر هزينه.

7. مقايسه سطح عملکرد مورد نياز با سطح عملکرد طراحي.

8. به‌چالش طلبيدن حاشيه‌هاي‌ايمني، احتمالات و ارزيابي آنها به‌منظور حصول اطمينان از قرار داشتن در حدود مورد نياز.

9. شناسايي زمينه‌هاي پرهزينه و خلق‌ايده‌ها و گزينه‌هايي براي ارزش بهتر.

10. اطمينان از قرارگرفتن هزينه‌هاي طرح ارائه شده در محدوده بودجه موجود، بدون کاهش سطح عملکرد و کيفيت مورد نظر.

11. بررسي نيازهاي استفاده کننده و منظور کردن آنها در تببين معيارهاي طراحي.

12. خلق‌ايده‌هايي که کارکردهاي مورد نياز را با حداقل هزينه کل (سرمايه گذاري + هزينه‌هاي بهره برداري و نگهداري) امکان پذير ‌سازد.

13. نقد و بررسي رويه‌هاي مرسوم طراحي و اجرا.

14. تعيين بهاي هر کارکرد و نه بهاي يک مؤلفه، تعيين ارزش (نيبت به‌هزينه) به‌عنوان مشخصه اصلي مهندسي هزينه.

15. بهبود هزينه با خلق‌ايده‌هاي جديد به‌گونه‌اي که تمامي‌جنبه‌هاي مرتبط نظير: اقتصاد، زمان، سهولت اجرا و عملکرد در نظر گرفته شوند.

مهندسي هزينه، رويکرد و روش سامان يافته‏اي است که مي‌توان آن را در مراحل اوليه طراحي به‌کار گرفت و در طول فرايند طراحي نيز در مواقع نياز از آن استفاده کرد، اما بايد توجه داشت که بيشترين دستاورد مهندسي هزينه به‌علت هزينه‌هاي‌اندک طراحي مجدد، از اجراي مطالعات در مراحل اوليه طراحي و تعيين محدوده پروژه حاصل مي‌شود. مهندسي هزينه را مي‌توان در ديگر مراحل طراحي نيز به‌کار برد و حتي در دوره اجرا نيز مي‌توان از ‌سازوکار VECP استفاده کرد. در هر حال، بايد توجه داشت که دستاوردها، ميزان بهبود و نيز بازگشت سرمايه حاصل از اجراي مطالعات در‌اين مرحله،‌اندک خواهد بود.

 

قواعد بازنگري فني طرح

همان گونه که از عنوان بازنگري فني طرح برمي‌آيد،‌اين فرايند نوعي مرور نقشه‌ها، مشخصات فني، معيارهاي طراحي و... براي حصول اطمينان از رعايت استانداردها و ‌آيين‌نامه‌هاي مهندسي و نيز عدم مغايرت‌هاست. همچنين، حفظ پيوستگي و ارتباط مؤلفه‌هاي طرح که توسط تخصص‌هاي مختلف ارائه شده‌اند، يکي از اهداف بازنگري فني است. دراکثرموارد، به‌هنگام بازنگري فني طرح به‌ کنترل ‌ايمني و صحت محاسبات اکتفا مي‌شود.

موارد زير مشخصات فرايند کلي بازنگري طرح را نشان مي‌دهند:

1. کنترل و حصول اطمينان از انجام تمامي ‌تعهدات قراردادي از سوي مشاور طراح.

2. کنترل نقشه‌ها با تاکيد بر موارد ذيل:

§ تطابق پلان معماري با نيازها و نبود ناسازگاري بين مؤلفه‌هاي مربوط به‌تخصص‌هاي مختلف.

§ کنترل محاسبات و مفروضات طراحي به‌منظور اطمينان از کفايت مطالعات.

§ کنترل طراحي شالوده با در نظر گرفتن ظرفيت باربري خاک بستر.

§ تاييد محاسبات سيستم‌هاي مکانيکي و تطابق آنها با‌ آيين‏نامه‌ها و ضوابط.

3. بررسي قابليت اجراي طرح و تطابق آن با‌آيين‏نامه‌ها و قوانين.

4. کنترل و تاييد تطابق اجزاي اسناد پيمان و اطمينان از پيوستگي مؤلفه‌ها.

5. کنترل تمامي ‌اسناد و مستندات براي کاهش تعداد خطاهاي احتمالي و نيز امکان ادعاي زيان از سوي پيمانکار.

6. کنترل تخمين هزينه.

7. فرايند بازنگري فني طرح، فرايندي معطوف به‌تخصص است.

8. بازنگري فني پس از تکميل طراحي اوليه (35 درصد پيشرفت طراحي) قابل اعمال است.

9. در‌اين فرايند، تحليل کارکرد انجام نمي‌شود.

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

 

ضرورت مطالعات مهندسي ارزش

براي بسياري از افراد،‌اين پرسش مطرح مي‌شود که: «اگر فرايند طراحي به‌شکلي دقيق و قابل قبول انجام شده باشد و گروهي از متخصصين خبره و خوشنام آن را بازنگري و مرور کرده باشند، انجام مطالعات مهندسي هزينه چه ضرورتي خواهد داشت؟» ‌اين پرسش و نظاير آن نشان‏دهنده عدم برداشت صحيح آنها از مهندسي هزينه است.

پيش از پاسخ به‌پرسش مطرح شده، توجه به‌دو نکته زير ضروري است:

1. هر طرحي، نتيجه برداشت‌هاي طراح از نيازها، الزامات، خواسته‌ها و آرزوهاست. برداشت‌هاي طراح رابطه‌اي مستقيم با تجربه، محيط، سليقه، زمان و بودجه دارد. اگر مسئله مشابهي براي دو طراح متفاوت مطرح شود، به‌واسطه گرايش‌ها و سوابق ذهني مخالف، ممکن است دو طرح کاملاً متفاوت خلق شود.

2. چه کسي بايد در مورد طرح يا محصول اظهار نظر کند؟ کارفرما، طراح، استفاده کننده و يا...؟ معيار طراحي خوب چيست؟

براي پاسخگويي به‌اين موارد، به‌طور خلاصه برخي از دلايل لزوم انجام مطالعات مهندسي هزينه در مورد طرح ارائه شده، عبارتند از:

1. خواست طبيعي براي خلاقيت، نوآوري، برتري و تمايز و نيز رسيدن به‌رضايت شخصي به‌طور معمول افزايش هزينه‌هاي طرح را در پي خواهد داشت.

2. به‌طور طبيعي، طراح حساسيت خاصي نسبت به‌هزينه‌ها ندارد.

3. به‌طور معمول، تمرکز طراح معطوف به‌جنبه‌هاي زيبا شناختي طرح است .

4. سابقه فرهنگي و کاري طراح، امکان شناخت عميق فرهنگ، مقتضيات و نيازهاي جوامع ديگري را محدود مي‌سازد.

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

6. تجربيات و تحصيلات طراح، ساختار و فرايند تفکر او را سامان مي‌دهد.

7. طراح، مجري نيازهاي کارفرماست و پاسخگويي درمورد ضرورت‌اين نيازها، مهارت و تلاشي خارج از محدوده اصلي وظايف اوست.

8. هر شخصي داراي تعبير خاص خود از کيفيت است. در بسياري موارد،‌ اين تعابير شخصي با يکديگر‌ سازگار نيستند.

9. تغييرات سريع فناوري و قديمي‌شدن برخي سيستم‌ها، نياز به‌راهکارهاي جديد را مطرح مي‌سازد.

10. بروزبودن فناوري و شناخت روش‌هاي بهتر اجراي پروژه‌ها و توليد محصولات، امري اجتناب ناپذير است.

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

اين موارد، تنها دلايل ضرورت کاربرد روش ارزش نيستند بلکه تصويري کلي از واقعيات را ارائه مي‌دهند.

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

استاندارد هاي توليد و توسعه نرم‌افزار

نظام مهندسي و استانداردهاي توليد و توسعه نرم‌افزار (نماتن) كه از سالها قبل ايده تدوين آن در نهادهاي انفورماتيكي كشور از جمله شوراي‌عالي انفورماتيك و انجمن شركتهاي انفورماتيك مطرح بود سرانجام در سال 1381 به مرحله اجرايي وارد شد و در نخستين فاز، استانداردهاي تعريف و ارجاع كار پروژه‌هاي نرم‌افزاري تدوين و ارائه گرديد.
اجراي فاز دوم نظام مهندسي و استانداردهاي توليد و توسعه نرم‌افزار (نماتن) در ادامه فاز اول اين نظام و با هدف تهيه استانداردهاي پايه‌اي توليد و توسعه نرم‌افزار در بهمن‌ماه 1382 از سوي شورايعالي انفورماتيك كشور به شركت مهندسي نرم‌افزاري گلستان واگذار گرديد.

به‌طور مشخص تهيه استانداردهاي زير در اين پروژه موردنظر بوده است:

هم‌چنين به‌منظور سهولت بهره‌برداري از اين استانداردها، گزارش‌هاي زير نيز به مجموعه فرآورده‌هاي پروژه افزوده شده است:

اين پروژه توسط جمعي از كارشناسان شركت مهندسي نرم‌افزاري گلستان، و با نظارت كميته نرم‌افزار انجمن شركتهاي انفورماتيك، اجرا و نتايج آن به شوراي‌عالي انفورماتيك كشور ارائه شده است.

خلاصه ای از قسمت ها مهم درس

خلاصه اي از مباحث ارائه شده

 

تعريف نرم افزار

 

·        نرم افزار از ديد مشتري محصولي است که نياز مشتري را برآورده مي کند.

·        نرم افزار از ديد مهندس نرم افزار :

1- برنامه کامپيوتري (کد اجرايي) که عمل به خصوصي را انجام مي دهد.

2- ساختار دادهاي که باعث مي شود دستورالعمل ها به شکل مناسبي با داده ها کار کنند.

3- مستنداتي که مشخصات نرم افزار و چگونگي پياده سازي و نحوه عمليات و چگونگي استفاده از نرم افزار را شرح مي دهد.

 

انواع نرم افزار

•        نرم افزارهاي سيستمي

•        نرم افزارهاي بلادرنگ ( real time )

•        نرم افزارهاي تجاري

•        نرم افزارهاي علمي مهندسي

•        نرم افزار هاي PC  

•        نرم افزارهاي تعبيه شده ( embedded  )

•        نرم افزارهاي مبتني بر web  

•        نرم افزارهاي هوشمند

•        نرم افزارهاي سيستمي

 

تعريف متدولوژي

•        يک متدولوژي مجموعه اي از روش ها  و توصيه ها (guidelines) مي باشد که به همراه راهبرد مشخص و طي مراحل مختلف از توسعه سيستم به کار گرفته مي شود. يک متدلوژي داراي ابزار تعريف شده و مدل مفهومي مي باشد و از يک گرامر مشخص استفاده مي کند.

•         براي مثال مدل شي گرا و يا مدل ساخت يافته در توسعه نرم افزار دو متدولوژي توسعه نرم افزار هستند.

 

تعريف مدل فرآيند

•        فرآيند مهندسي نرم افزار مجموعه اي از قدم هاي قابل پيش بيني براي توسعه نرم افزار را مشخص مي کند.

•        مدل فرآيند نرم افزار قدم ها و استراتژي توسعه نرم افزار فرآيند و روش مي باشد.

•        براي مثال مدل آبشاري و مدل حلزوني دو مدل فرآيند توسعه نرم افزار هستند

 

تفاوت هاي متدولوژي و مدل فرآيند

•        متدولوژي، روش طي کردن قدم هايي است که مدل فرآيند تعريف مي کند.

•        تکنولوژي مهندسي نرم افزار يک تکنولوژي لايه اي است و متدولوژي بروي لايه فرآيند قرار دارد.

 

  بررسي life cycle  توسعه نرم افزار

•        مراحل مختلف توسعه نرم افزار : شناخت و تجزيه تحليل ، طراحي ، پياده سازي، تست و نگهداري مي باشد.

•        Life cycle  يک نرم افزار شامل تمام فعاليت هاي پيش از توليد ، توسعه و دوره اجراي نرم افزار است. 

 

بررسي life cycle  (پيش از توليد)

براي شروع پروژه، RFP  (Request For Proposal)به تيم نرم افزاري ارائه ميشود و تيم توسعه براي دريافت پروژه پيشنهاد خود را در قالب Proposal   ارائه ميکند.

 

 Managing Software Projects

 

 

•       بعدهاي مديريت

»       افراد (people)

»       محصول(product)

»       فرآيند (process)

»       پروژه (project)

»       اصول W5HH

 

 

افراد (People)

 •        فرآيند توسعه نرم افزار توسط نقشهاي زير اجرا ميشود :

•        مدير اصلي (senior manager)

•        مدير فني پروژه ( project technical manager)

•        کارکنان( practitioners)

•        مشتريان

•        کاربر نهايي

 

•       رهبر تيم

وظايف مديري که رهبري يک پروژه را بر عهده دارد عبارت است از  :

1)    تشويق

2)    نظم دهي

3)    ارائه ايده ها و نوآوري

4)    حل مسائل

5)    انجام تشخيص هاي مدريتي

6)    کنترل دستيابي به اهداف

7)    تشکيل و تاثير گذاري بر تيم

 

·        تيم هاي نرم افزاري

ساختار مناسب براي يک تيم بستگي به نوع سازمان، تعداد افراد، توانايي هاي اعضاي تيم ها و نوع و سختي کار دارد.

–        تيم هاي دموکراتيک ِ غير متمرکز (DD)

–        تيم هاي تحت کنترل غير متمرکز (CD)

–        تيم هاي کنترل شده متمرکز(CC)

 

4 نوع دسته بندي سازمان ها

1)    مدل بسته (close paradigm) : داراي ساختارهاي سنتي (شبيه CC)

2)    مدل تصادفي(random paradigm) : تيم بر افراد و نوآوري آنها تکيه دارد.

3)    مدل باز (open paradigm) : سعي ميکند خصوصيات نوع بسته و نوع تصادفي را دارا باشد.

4)    مدل همگام (synchronous paradigm) : بر تقسيم کار بين افراد تيم تاکيد دارد.

 

ارتباط ميان اعضاي تيم ها

•        تکنيک هاي همکاري و ارتباط در پروژه ها :

–        روشهاي رسمي و غير شخصي : شامل بر مستندات مهندسي نرم افزار، برنامه هاي پروژه و گزارشهاي موجود

–        رسمي و بين اشخاص: تمرکز بر فعاليت هاي QA  دارد مانند : جلسات بازبيني و مرور

–        غير رسمي و بين اشخاص : جلسات گروهي براي بحث و تبادل نظر و حل مسائل

–        ارتباطات الکترونيکي : مانند پست الکترونيک، بولتن هاي الکترونيک، ويدئو کنفرانس و ..

–        گردهمايي هاي بين افراد : شامل بر بحث هاي غير رسمي ميان افراد گروه و افراد خارج از پروژه

 

بررسي تکنيک هاي همکاري و ارتباط

  

محصول(Product)

 •        محدوده نرم افزار  (scope) : يکي از ابتدايي ترين فعاليتهاي مديريت پروژه، تشخيص محدوده محصول است. محدوده با پاسخ به سوالات زير در رابطه با نرم افزار به دست مي آيد.

–        مفهوم

–        اهداف اطلاعات

–        وظايف و کارايي

•        تجزيه مسئله (problem decomposing) : اين فعاليت يک فعاليت پايه در آناليز سيستم است.

 

•        فرآيند تعريف، توسعه و پشتيباني در توسعه تمامي سيستم هاي نرم افزار مشترک هستند. مسئله انتخاب يک مدل فرآيند مناسب با پروژه مربوطه  است.

•        مدير پروژه بايد در رابطه با مدل فرآيند توسعه پروژه تصميم گيري نمايد.

  

پروژه(Project)

•        براي مديريت موفق پروژه هاي نرم افزاري بايد متوجه شويم که چه مسائلي به درستي پيش رفته و کدام يک نا مطلوب پيش رفته اند.

•         تعدادي از نشانه هاي ظهور مخاطره در پروژه هاي نرم افزاري :

–        اعضاي تيم توسعه نيازهاي مشتري را درک نکنند.

–        محدوده محصول به درستي تعريف نشده باشد.

–        تغييرات به درستي کنترل نشوند و ...

 

 

اصول W5HH

•        7 سوال که “بوهم” براي يافتن اهداف و خصوصيات پروژه طرح نموده است :

–        Why is the system being developed ?

چرا سيستم بايد توليد شود؟

–        What will be done , by when?

چه کاري و تا چه زماني بايد انجام شود؟

–        Who is responsible for a function ?  

چه کسي مسئول يک وظيفه است؟

–        Where are they organizationally located ?

آنها ( اعضاي تيم توسعه) در چه محلي مستقر و ساماندهي شده اند ؟

–        How will the job be done technically and managerially ?

کارها از نظر فني و مديريتي چگونه انجام خواهند شد؟

–        How much of each resource is needed ?

چه مقدار از هر منبعي مورد نياز مي باشد ؟

 

 

معيارهاي اندازه گيري پروژه و فرآيند

Measure ، Metric  و indicator

 

هر چند ترم هاي  measure  ( اندازه) و metric  (معيار)  غالبا به جاي يکديگر به کار مي روند بايد توجه داشت که با يکديگر تفاوت دارند.

•        Measure  يک شاخص کمي از اندازه، مقدار، ابعاد و ظرفيت يک صفت از يک محصول يا فرآنيد را تعيين مي کند.

•        Metric  يک اندازه کمي از درجه اي به يک فرآيند، مولفه، سيستم براي يک صفت مشخص مي باشد.

•        Indicator  نوعي نشانه و شاخص براي شناخت روند حرکت تيم  و پروژه ميباشد.

 

معيارها در حوزه فرآيند و پروژه

•            اندازه گيري يکي از ابتدايي ترين اعمال در مهندسي است.

•            اما در دنياي مهندسي نرم افزار توافق دقيقي بروي آنکه چه بايد اندازه گيري شود و چگونه اندازه گيري شود وجود ندارد.

•            تنها راه منطقي براي براي بهبود هر فرآيندي، اندازه گيري خصوصيات مشخصي از فرآيند و توسعه مجموعه اي از معيارهاي با مفهوم مي باشد.

  

هدف از معيارهاي اندازه گيري فرآيند نرم افزار

•        اندازه گيري علاوه بر تخمين هزينه و زمان براي دريافت بازخورد (feedback) در طول توسعه سيستم نيز کاربرد دارد. به اين ترتيب وضعيت پيشرفت و ريسک نيز کنترل مي شود.

•        با اندازه گيري فرآيند ، اهداف بهبود آن نيز تعيين مي شود.

عوامل شکست و منشا آنها در پروژه هاي نرم افزاري

 

اندازه گيري نرم افزار

  اندازه گيري مبتني بر اندازه
Size-Oriented  

  

اندازه گيري مبتني بر تابع
Function-Oriented

 •        پارامترهايي که در محاسبه جدول عنوان شد عبارتند از :

–        تعداد ورودي هاي کاربر

–        تعداد خروجي هاي کاربر

–        تعداد جستجوهاي کاربر

–        تعداد فايل ها

–        تعداد واسط هاي خارجي

•        براي محاسبه Function-Point  از رابطه زير استفاده ميشود:

          FP = count total x [0.65+0.01 x Sum(Fi)]

Fi ها يا ضرايب تطابق پيچيدگي با پاسخ به سوالاتي محاسبه ميشود.

 

 

 

معيارهايي براي کيفيت نرم افزار

•        براي اندازه گيري کيفيت نرم افزار شاخصهاي ”صحت“، ”قابليت نگهداري“،  ”يکپارچگي“ و  قابليت استفاده ( usability) براي تيم نرم افزاري قابل استفاده است.

–        صحت : يک برنامه بايد در درجه اول درست کار کند.

–        قابليت نگهداري : قابليت نگهداري ، آساني تغيير در برنامه در هنگام بروز خطا يا تغييرات در محيط يا نيازهاي مشتري ميباشد.

–        يکپارچگي : قابليت استادگي نرم افزار در برابر حمله هاي سهوي يا عمدي ميباشد.

–        قابليت استفاده : user-friendly بودن و به کار آمدن براي کاربر

 

 

مدیریت زنجیره تامین(SCM(supply chain management

چكيده

بسياري از بنگاه ها در سراسر جهان به اين نتيجه رسيده اند ارائه خدمات در کنار توليد، سودآورتر از توليد محصول به تنهايي است. آنها در پي به حداکثر کردن مجموع منافع درزنجيره ارزش تا سطح مصرف کننده نهايي هستند. بنگاهها در فعاليتهاي پايين دستي درگير شده‌اند، يعني به سوي ارائه خدمات به مصرف کننده نهايي نيز رفته اند تا درگير فعاليتهاي اقتصادي با ارزشي گردند که در تمام سيکل توليد ايجاد مي شود. نگرش زنجيره ارزش يعني زنجيره تأمين شامل تمام فعاليتهاي مورد نياز يراي ارائه يک کالا يا خدمت به مشتري نهايي است. با اين نگرش فعاليتهاي توليد و ارسال نيز به زنجيره تأمين افزوده مي شود. بنابراين در دنياي جديد که رقابت شديد براي توليد کالا وجود دارد، توليد کنندگان به مصرف کنندگان نزديک شده اند. توليد کنندگان براي آنکه اعتماد مصرف‌کننده را به دست آورند ، علاوه برارائه محصول ، خدمات متنوعي را نيز عرضه مي دارند تا هزينه هاي استفاده از محصول و نگهدار ي آن به حداقل برسد. زنجيره تأمين عبارت است از فرايند کامل تهيه کالا و خدمات براي مصرف کننده نهايي و مديريت زنجيره تامين يعني, مديريت جريان کالا و خدمات، اطلاعات و پول براي افزايش سوددهي. در اين مقاله ضمن بررسي ابعاد و مفاهيم گوناگون مديريت زنجيره تأمين، وضعيت حوزه هاي منبع يابي ، توليد و توزيع نيز در زنجيره هاي تأمين بررسي شده و سپس روندهاي جاري وآينده در مديريت زنجيره تامين تشريح مي‌شود.

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

 

مراحل شکل گيري مديريت زنجيره تأمين

مي توان گفت مفهوم مديريت زنجيره تأمين ترکيبي از مراحل پنج گانه مديريت است. مرحله اول را مي توان به عنوان حوزه تدارکات داخلي توصيف کرد. در مرحله دوم، نگرشي نسبت به تدارکات از تمرکز زدايي سازماني به تمرکز در کارکردهاي اصلي که از نگرشهاي جديد مرتبط با بهينه سازي هزينه و خدمت به مشتري گرفته شده بود، تغيير يافت. در مرحله سوم، عرصه تدارکات به طور چشمگيري گسترش پيدا کرد و ضمن انبار داري و حمل و نقل داخلي ، ارتباط عمليات داخلي با حوزه هاي عملکردي شرکاي تجاري را در بر گرفت. همان طور که مفهوم روابط کانالي رشد کرد، در مرحله چهارم مفهوم تدارکات نيز به مديريت زنجيره تأمين تغيير پيدا کرد. امروزه با کاربردهاي فناوري اطلاعات در مديريت زنجيره تأمين، مي توان گفت که مديريت زنجيره تامين در حال وارد شدن به مرحله پنجم يعني مديريت زنجيره تامين الکترونيک است. در ادامه هر يک از مراحل پنج گانه به طور مختصر توضيح داده مي شود.
1 - مرحله اول- تمرکز زدايي تدارکات: اين مرحله در يک دوره اي از اواخر قرن نوزدهم تا اوايل دهه 1960 شکل گرفت. در طول اين دوره، حوزه لجستيک به عنو ان يک منبع مهم مزيت رقابتي شناخته نشده بود. اساساً لجستيک به عنوان يک وظيفه واسطه با مديريت موجودي و تحويل شناخته مي شد و بنگاهها احساس مي کردند که لجستيک نمي تواند باعث سودآوري شود و بنابراين، سرمايه گذاري بالا درآن ارزشمند نيست.
2 - مرحله دوم – مديريت هزينه: در اواسط دهه 1960 مشخص گرديد که وجود ساختار و هدف در لجستيک و مديريت متمرکز برآن مي تواند مزيت رقابتي را براي يک شرکت به همراه داشته باشد. مرحله دوم در مديريت زنجيره تأمين در راستاي تأمل و بررسي روي دو نقطه بحراني و اصلي شکل گرفت. کانون اول را مي توان تلاش زياد شرکتها براي متمرکز کردن فعاليتهاي لجستيک در يک سيستم مديريتي مستقل توصيف کرد. از طريق ترکيب آنچه که قبلاً يک سري فعاليتهاي پراکنده بود در يک بخش مستقل ، هزينه هاي جداگانه مرتبط با حمل و نقل، موجودي و توزيع فيزيکي کاهش مي يابد و به طور همزمان بهره وري سيستم لجستيک به عنوان يک کل افزايش مي يابد. نقطه بحراني دوم را مي توان اميدواري براي تمرکز بنگاهها براي به کار گيري مفهوم هزينه کامل در لجستيک دانست. هدف اين استراتژي تلاشي جهت حداقل کردن هزينه کل لجستيک به واسطه تمرکز بر کاهش هزينه هاي يک يا دو کارکرد خاص لجستيک از قبيل حمل ونقل يا انبار داري است.

3 - مرحله سوم- يکپارچگي کارکردها: در طول دهه 1980، مديران اجرايي شرکتها پي بردند که تمرکز بر هزينه کل لجستيک يک شيوه مثبت براي مديريت کانال توزيع است. تا اين دوره ، اغلب مديران اجرايي به لجستيک به عنوان يک فعاليت تاکتيکي نگاه مي کردند و در برنامه ريزي استراتژيک شرکت تأثير خيلي کمي داشت. در اواسط دهه 1980، شرکتها پي بردند که به واسطه بهبود پيوسته فرايند ويکپارچگي بيشتربا شرکاء لجستيک مي تواند ارزشهاي استراتژيک زيادي را ايجاد کند.
4 - مرحله چهارم- مديريت زنجيره تأمين: در طول دهه 1990، شرکتها مفاهيم لجستيک يکپارچه و مديريت کانال تأمين را براي به کارگيري واقعيات جديد بازار توسعه دادند. زنجيره تأمين فراتر از لجستيک بوده و علاوه بر آن فعاليتهاي ديگري را نيز از جمله نحوه برخورد با شرکتهايي متعدد سازنده، هدف گذاري و تعيين استراتژي هاي خريد داخلي و خارجي، ارتقاي کيفيت شرکتهاي سازنده، بازاريابي و ارائه خدمات بهتر به مشتريان متعدد شامل مي‌شود.
5 - مرحله پنجم- مديريت زنجيره تأمين الکترونيک: به کمک فناوري اطلاعات حوزه عملکردمديريت زنجيره تأمين گسترش يافته است. هدف از ايجاد مديريت زنجيره تأمين الکترونيک کاهش هزينه هاي نقل وانتقال اطلاعات و نهايتاً محصولات از يک طرف و گسترش فرصتهاي تجاري و دامنه همکاري بين شرکتها از طرف ديگر بوده است.

 

تعريف مديريت زنجيره تأمين
از چندين زاويه مي توان به مديريت زنجيره تامين نگاه کرد. به مثابه اغلب فلسفه هاي مديريت، تعاريف مديريت زنجيره تأمين نيز بايد هم اهداف استراتژيک و هم اهداف تاکتيکي را پوشش بدهد. هند فيلد و نيکولس(
Handfield & Nichols) مديريت زنجيره تأمين را از طريق تفکيک مفاهيم در دو اصطلاح ، زنجيره تأمين و مديريت زنجيره تامين تعريف مي کنند.
زنجيره تأمين شامل همه فعاليتهاي مرتبط با جريان و انتقال کالاها از مرحله مواد خام به مصرف کننده نهايي و جريانهاي اطلاعاتي مرتبط با ان است. مديريت زنجيره تأمين يعني يکپارچه سازي اين فعاليتها از طريق بهبود روابط زنجيره تأمين براي رسيدن به يک مزيت رقابتي پايدار.
آيرس(
Ayers) نيز تعاريف زير را براي زنجيره تأمين و مديريت زنجيره تأمين ارائه مي کند.زنجيره تأمين يعني، شکل دادن به فرايندهاي جريانات فيزيکي ، اطلاعاتي ، مالي و دانش به منظور ارضاي احتياجات مصرف کننده نهايي از طريق محصولات و خدمات مرتبط با تأمين کنندگان. مديريت زنجيره تأمين عبارت است از: طراحي، نگهداري و عمليات فرايندهاي زنجيره تأمين براي برآورده کردن احتياجات مصرف کنند نهايي.
به عبارت ديگر، زنجيره تأمين، شبکه اي از سازمانهاست که با ارتباطي بالا دستي ( تأمين کنندگان) به پايين دستي (توزيع کنندگان)، در فرايندها و فعاليتها درگيرند و به صورت محصولات و خدمات ارائه شده به مشتري نهايي، توليد ارزش مي کنند. مديريت زنجيره تأمين يعني يکپارچه سازي سازمانهاي درگير و هماهنگ سازي بهتر جريانهاي مواد، اطلاعات و مالي. در شکل شماره يک فرايند مديريت زنجيره تأمين به صورت ساده نشان داده شده که در آن جريان اطلاعات و مواد مشخص شده است. (شكل 1)

توليد و مديريت زنجيره تأمين
توالي تأمين کنندگان در راستاي ارضاي نياز يک مشتري، زنجيره تأمين نام دارد. زنجيره تأمين قدمتي طولاني دارد، ولي مديريت زنجيره تأمين بسيار جديد است. مديريت زنجيره تأمين عبارت است از: هدايت تمام اعضاي زنجيره تأمين به صورتي يکپارچه و هماهنگ . کاربرد اين نگرش در تمامي نواحي وظيفه اي سازمانها مانند برنامه ريزي استراتژيک، برنامه ريزي توليد، کنترل موجودي، برنامه ريزي توزيع، برنامه ريزي حمل ونقل، مکان يابي، چيدمان و ... است.

مديريت زنجيره تأمين موجب هماهنگ سازي جريانهاي مواد و اطلاعات به وسيله آخرين محصولات نرم افزاري از قبيل سيستم هاي برنامه ريزي پيشرفته(Advanced Planning Systems)، مي شود. در چند سال اخير، پيشرفت در فناوريهاي اطلاعاتي و ابزارهاي ارتباطي و همين طور روشهاي حل مدل هاي کمي بزرگ، چشم اندازهاي جديدي را براي برنامه ريزي و کنترل توليد جريانات توليد در طول يک زنجيره تأمين به وجود آورده است. يک سفارش مشتري ، پيش بيني هاي تقاضا يا گرايشهاي بازار را مي توان در فعاليتهاي مورد نياز وارد کرد و فوراً به همه قسمتها در زنجيره تأمين ارسال کرد. اين باعث مي شود تا زمان بنديهاي دقيقي ايجاد شوند که از تکميل سفارشات در سر وقت پشتيباني مي کنند.

روند جهاني مديريت زنجيره تأمين
در دهه اخير و به دنبال مديريت زنجيره تأمين الکترونيک، روند مديريت زنجيره تأمين نيز با تغييرات شديدي روبه رو گرديد، چرا که از حالت سازماني يا منطقه اي به حالت جهاني بايد تغيير کند. بدين ترتيب توليد از روش توليد استاندارد و انبوه به سمت توليد منعطف محلي سوق داده شد. لازمه اين امر نيز تغيير ساختاري آن از حالت متمرکز به حالت نيمه متمرکز و ايجاد واحدهاي استراتژيک مستقل(
Strategic Bussines Units) بوده است. تغيير ديگري که در اين روند مي‌توان مشاهده کرد افزايش سهم برون سپاري (Outsourcing) است. شرکتهاي مديريت زنجيره تأمين براي افزايش مزيت رقابتي خود در طول فرايند تأمين تمرکز خود را روي مراحلي اختصاص مي دهند که ارزش افزوده بيشتري را براي مشتري و شرکت فراهم سازد. بدين ترتيب بخشهايي با ارزش افزوده کمتر را به شرکتهاي ديگر داده و ترجيح مي‌دهند خريد خارجي كنند. بدين ترتيب نقش استراتژي هاي همکاري بسيار تعيين کننده شده است. بعضي از نتايج اين استراتژي ها به شرح زير است:

_ کاهش هزينه هاي مستقيم و غير مستقيم؛
_ کاهش هزينه هاي سرمايه گذاري؛
_ کاهش ميزان پرداخت ماليات؛
_ کاهش هزينه لجستيک؛
_ ارائه خدمات بهتر به مشتريان؛
_ افزايش مزيتهاي رقابتي با استفاده از مزيتهاي رقابتي همکاران؛
_ بهره گيري از تجربه و دانش افراد و سازمانهاي محلي.

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

-----------------------------------------------------------------------------------------------------

کاربرد شبيه‌سازي در مديريت زنجيره تأمين

هدف از مديريت زنجيره تأمين، مديريت کل زنجيره تأمين از تأمين‌کنندگان تا توليد‌کنندگان، خرده‌فروشان و مشتريان نهايي است. SCM سه هدف مهم را دنبال مي‌کند:

· کاهش حجم موجودي‌ها

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

· افزايش ميزان فروش از طريق در نظر گرفتن نيازهاي مشتريان

مديريت زنجيره تأمين روشي است براي بهبود دسترسي به مواد اوليه، ساخت محصولات و يا خدمات و انتقال آن به مشتريان. SCM داراي پنج بخش اصلي است: [1]

· برنامه‌ريزي: مديريت منابع مورد نياز براي برآوردن نيازهاي مشتريان با کيفيت مورد نظر و به شکل بهينه. اين قسمت، بخش استراتژيک SCM به شمار می‌آيد.

· منابع: انتخاب تأمين‌کنندگان مناسب، توجه به روندهاي قيمت‌گذاري، تحويل و پرداخت به آنها. رويه‌هاي مديريت انبار شامل دريافت، بازبيني و انتقال به خط توليد نيز بايد تعيين شوند.

· توليد: فعاليت‌هاي لازم براي کنترل کيفي، بسته‌بندي و آماده‌سازي جهت ارسال کالاها و خدمات

· ارسال: هماهنگ‌سازي دريافت سفارش از مشتريان و آماده سازي شبکه‌اي از انبارها و انتخاب روش‌هاي حمل‌و‌نقل

· ارجاع: بخشي براي مرجوع ساختن کالاهاي معيوب از طرف مشتريان.

يک ابزار مهم براي تحليل و بررسي زنجيره تأمين مي‌تواند شبيه‌سازي باشد. شبيه‌سازي با داشتن امکانات نمايش گرافيکي قادر است مديران را در تصميم‌گيري براي بهبود عملکرد زنجيره تأمين ياري دهد. در ادامه به سه مورد از کاربردهاي نرم‌افزارهاي شبيه‌سازي Enterprise Dynamics در مديريت زنجيره تأمين در يک کارخانه اشاره مي‌شود:

1. سيستم مرتب سازي، انجام تجارت الکترونيک: DOCData

DOCData انجام عمليات تجارت الکترونيک را براي شرکت‌هاي تجارت الکترونيک که محصولاتي از قبيل CDهاي ويدئويي مي‌فروشند، بر عهده دارد. DOCData محصولات را به بيش از 20000 مشتري در روز حمل مي‌نمايد. اين شرکت براي هر سفارش، يک صورت‌حساب تهيه نموده و محصولات جداگانه را جمع‌آوري مي‌نمايد. تمامي سفارشات بر روي تسمه نقاله قرار گرفته، تفکيک و مرتب مي‌شوند. هنگامي‌که يک سفارش تکميل گرديد، اقلام به همراه صورت‌حساب در داخل يک بسته قرار گرفته و مستقيماً به مشتري نهايي ارسال مي‌شوند.

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

شرکت Incontrol Enterprise Dynamics يک مدل شبيه‌سازي براي کل فرآيند شامل دريافت کالا، ذخيره‌سازي و فرآيند مرتب نمودن ارائه نمود. اين مدل بسيار انعطاف‌پذير بوده و توانايي مواجهه با سناريوهاي بسيار متفاوتي را داراست. براي مثال تعداد نامحدودي مشتري جديد را مي‌توان به سيستم معرفي نمود و مفاهيم لجستيک نيز مي‌توانند در سطوح مختلفي از جزئيات تغيير يابند. در حين مطالعه شبيه‌سازي، مفاهيمي جديد به منظور ايجاد بهبود بيشتر در مفاهيم لجستيکي بدست آمد. مدل شبيه‌سازي اثبات نمود که ابزاري بسيار عالي براي انجام محاسبات و مقداري نمودن مفاهيم جديد به شمار می‌رود. براي برنامه‌ريزي‌هاي تاکتيکي، مشتريان و محصولات مي‌توانند متغير باشند؛ در برنامه‌ريزي عملياتي تعداد کارمندان تعيين می‌گردند.

2. انبارداري: مرکز توزيع اروپا: XEROX – Frans Maas

Frans Maas شرکت ارائه‌دهنده خدمات لجستيکي در اروپا مي‌باشد. در ميان ساير عمليات تجاري، آنها مرکز توزيع Xerox در اروپا مي‌باشند. در طي ساليان گذشته محصولات Xerox کاملاً متحول شده‌اند. در گذشته Xerox تنها سازنده و توزيع‌کننده دستگاه‌هاي بزرگ کپي بود، ولي هم اکنون علاوه بر آن سازنده چاپگرهاي و کپي‌هاي کوچک نيز مي‌باشد. حجم فروش اين دستگاه‌هاي کوچک بسيار افزايش يافته است. اين مسئله بدين معني است که مفاهيم لجستيکي به طور عمده‌اي دستخوش تحول گرديده است.

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

شرکت Incontrol Enterprise Dynamics يک ابزار واسط را طراحي نمود که قادر بود سناريوي جديدي را در عرض يک ساعت توسط نرم‌افزار شبيه‌سازيED بسازد. با استفاده از ارتباط با يک بانک اطلاعاتي Access که حاوي تمامي اطلاعات محصولات بود و برقراري ارتباط جهت تعريف لي‌اوت در Excel، سناريوي جديد به راحتي ايجاد ‌گرديد. از بين اين سناريوها بهترين راهکار بر اساس کل زمان مورد نياز براي يک سفارش خاص انتخاب مي‌گرديد.

جهت دستيابي به بهترين راهکار در خصوص لي‌اوت، يک مدل انيميشن (با استفاده از ED) ايجاد گرديد. نمايش 3 بعدي از لي‌اوت جديد Frans Maas را قادر نمود که طرح انبار را به هر کسي از کارگر انبار تا اعضاي هيأت مديره بتواند بقبولاند. از آنجا که اين مدل شامل محصولات به طور تک‌تک اقلام بوده و هم‌چنين مدل از سفارشات “Real Life” استفاده مي‌نمايد، مدل به عنوان ابزار عملياتي به خوبي به کار گرفته ‌شد.

پس از معرفي سيستم مديريت انبار، ارتباط Online با بانک اطلاعاتي برقرار گرديد. با استفاده از اطلاعات سفارشات و دريافت‌هاي روز بعد، پيش‌بيني دقيقي از حجم کاري برآورد شد. اين مسئله Frans Maas را قادر ‌ساخت تا مقدار منابع مورد نياز از قبيل اپراتور، ليفتراک و ... براي روز بعد پيش‌بيني نمايد.

 

   دلایل شکست مهندسی مجدد نرم افزار  

نکات مهم در انجام يک پروژه مهندسي...۱.

  دلایل شکست مهندسی مجدد نرم افزار

 در سال 1999 میلادی یک گروه تحقیقاتی در وزارت دفاع آمریکا، مطالعاتی در مورد دلایل شکست مهندسی مجدد در چندین سازمان انجام دادند. دلایل آنان در قالب 10 دسته زیر گروهبندی شده است:
·   

سازمان سهواً استراتژی مهندسی مجدد ناقص و یا معیوب را می پذیرد: این استراتژی ها به علت فرضیات ضعیف یا عدم توجه به جزییات ممکن است همه گامها و جزییات در نظر نگیرند. اگر یک سازمان دانش موجود را در مورد یک سیستم نادیده بگیرد یا رها کند ممکن است نقش سیستم کمرنگ شده و یا متروگ گردد.
·   

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

 نیروی کار روی تکنولوژی قدیمی با برنامه های آموزشی نا مناسب و نا کافی پیوند خورده است: زمانیکه سخت افزار تغییر کند ممکن نیست سیستم ادامه پیدا کند. علاوه بر آن، زمانیکه سبک برنامه نویسی جدید اختیار شود فقدان آموزش مناسب ممکن است باعث شکست مهندسی مجدد در پروژه شود. در این شرایط می بایستی یک تلاش مستمر و جدی به کار برد تا مهارتهای نیروی کار موجود بهبود یابد یا نیروهای جدیدی جایگزین نیروی قبلی شود.  ترکیبی از نیروهای جدید و قدیم نیز راه حل دیگری برای تطابق با تکنولوژی جدید و جلوگیری از شکست مهندسی مجدد در سیستم سازمان است.
·     

سازمان سیستم موروثی[1] را تحت کنترل ندارد: قبل از اینکه سیستم به طور موثر مدیریت شود یک خط مبنای مدیریت پیکربندی سیستم برای کمک به سیر تکاملی منظم سیستم باید ایجاد شود. سیستم موروثی نیاز دارد که که به خوبی با درک اولویت درخواست تغییرات و تاثیرآنها روی سیستم مستند شود.
·     

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

معماری نرم افزار یک ملاحظه اولیه مهندسی مجدد نیست: شکست ممکن است وقتی یک ارزیابی منظمی از معماری نرم افزار سیستم موروثی و هدف سیستم به عنوان یک عامل محرک در توسعه رویکرد تکنیکی مهندسی مجدد وجود ندارد اتفاق بیافتد. ارزیاب معماری سیستم موروثی ممکن است تصمیم بگیرد چه استراتژیی را قبول کند.
·   

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

 برنامه ها با برنامه ریزی و تجزیه و تحلیل نا مناسب و نا کافی پی گیری می شود: پروژه ها اغلب روی مشکلات نرم افزاری سطح پایین تمرکز می کنند و مدیریت ماهرانه برنامه و جنبه های دیگر طراحی مهندسی مجدد دچار غفلت می شود.
·   

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

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



[1] Legacy System

تخمین هزینه و زمان در پروژه های نرم افزاری!


 
تخمین هزینه و زمان در پروژه‌های نرم‌افزاری

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


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



پس نخست باید اطلاعات ضروری آماده شود. نگارنده این اطلاعات را در سه دسته تقسیم کرده است:
  • اطلاعات مربوط به حوزه سیستم و نیازهای کارکردی و غیر کارکردی آن
  • اطلاعات مربوط به محیطی که سیستم در آن عملیاتی خواهد شد.
  • اطلاعات مربوط به محیط تولید و توسعه سیستم
از این سه دسته اطلاعات گروه اول مهم‌ترین است. عدم تشخیص درست نیازها و قابلیت‌های کارکردی و غیر کارکردی سیستم، عموما و به‌غایت ما را از تخمین درست هزینه و زمان مورد نیاز دور می‌کند. به همین دلیل لازمه یک برآورد مناسب، تشخیص و تعیین اولیه نیازهای سیستم در فرآیندی سازمان‌یافته است. در روش‌های سنتی ساخت‌یافته به طور معمول بخشی از فعالیت‌های مرحله‌ي امکان‌سنجی به این امر اختصاص دارد. در فرآیندهای مدرن مهندسی نرم‌افزار مانند RUP نیز یکی از فعالیت‌های مهم مرحله اول آن یعنی Inception به تعیین و تخمین نیازهای سیستم و انتظارات اولیه برمی‌گردد؛ یعنی همان اطلاعات لازم جهت برآورد هزینه و زمان پروژه نرم‌افزاری.

نکته‌ي مهم آن است که در کشور ما ایران، به طور معمول قبل از انجام چنین مرحله‌ای و صرفا بر اساس شرح مشخصات بسیار کلی سیستم؛ یعنی بدون داشتن سه بخش اطلاعات كه در بالا به آن اشاره شد، زمان و هزینه پروژه‌ استعلام و برآورد و حتا تعیین می‌شود. چنین کاری در عمل به شکست پروژه‌های نرم‌افزاری منجر می‌شود. چرا که در مسیر تولید سیستم به دلیل اختلاف فزاینده‌ای که بین برآوردهای اولیه و هزینه‌های واقعی پروژه‌ای به وجود می‌آید دو نتیجه مشخص را غیر قابل اجتناب می‌کند:
- یا هزینه تولید سیستم افزایش می‌یابد که این یعنی ضرر تولیدکننده نرم‌افزار
- و یا سیستم با قابلیت‌ها و انتظارات ناکافی و در کیفیتی نامناسب ارايه می‌شود و این یعنی ضرر کارفرما یا مشتری

پس چه باید کرد؟ چه‌گونه می‌توان اطلاعات لازم سه گانه فوق را به دست آورد؟ آیا استفاه از RFP گروه اطلاعات اول را فراهم می‌سازد؟ به این سئوال به سختی می‌توان پاسخ داد؛ چرا که بر حسب آن که RFP را چه گروهی و با چه فرمت و استانداردی تهیه کرده باشد، جواب می‌تواند متفاوت باشد.

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

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

با فرض این‌که نیازهای سیستم در قالب یوزکیس‌ها شناسایی شده اند، متخصصین RUP نیز روش‌های گوناگونی را برای تخمین هزینه و برآوردهای واقع بینانه پروژه ارايه کرده‌اند. روش دیگری که در میانه‌ي دهه‌ي 1990 ارايه شد روش Use Case Point است. در این روش با تعریف Use Case Point های سیستم و تخصیص نفر ساعت لازم برای پیاده‌سازی آن‌ها حجم فعالیت لازم تخمین زده می‌شود. هر یوزکیس شامل سناریو یا سناریوهایی است. علاوه بر UseCaseهای سیستم واسطه‌های ارتباطی یوزکیس با دنیای بیرون ازجمله برای مثال پنجره‌های ویندوز و یا صفحات وب نیز وجود دارند که طراحی و پیاده‌سازی آن خود حجم کار قابل توجهی را می‌طلبد. بنابر این قدم اول تشخیص یوزکیس‌ها و تشريح سناريوهای آن‌هاست. فرآیند تشخیص و تشریح یوزکیس‌های سیستم هر چه با دقت بیش‌تری انجام شود، برآوردهای واقعی‌تری را منتج خواهد بود. اما همان‌طور که کارشناسان RUP به خوبی می‌دانند، یوزکیس‌ها به عنوان مدلی از فعالیت‌های سیستم به طور كامل انتزاعی بوده و بسته به آن‌که چه کسی و از چه زاویه‌ای آن‌ را می‌نویسد سطوح و پیچیدگی‌های مختلفی می‌توانند داشته باشند. برای مثال می‌توان صدور چک را یک یوزکیس تلقی کرد و هم‌زمان می‌توان صدور چک را زیرسیستمی معرفی نمود که خود شامل تعداد مشخصی یوزکیس است. نتیجه آن که سطوح یوزکیس‌ها می‌توانند مختلف باشند و بنابراین در تعیین تعداد یوزکیس پوینت‌ها باید دقت بیش‌تری مبذول نمود. به هرحال بهتر است که سطوح انتزاع در تمامی سیستم از یک روال ثابتی پیروی کند، در غیر این صورت باید ضریب سطح انتزاع نیز در معادلات مربوط به Use Case Point در نظر گرفته شود


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

قبل از تشریح دقیق‌تر این روش اصطلاحات خاص این روش را بهتر بشناسیم:

آن‌چه خواننده باید بداند:



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

2. ساختار یوزکیس‌ها از سازمان به سازمان و از پروژه به پروژه متفاوت است. چیزی که اساسا در تخمین و ارزیابی موثر است. این نوشته بر مبنای ساختار ارايه شده توسط Allister Mac Lin در کتاب How To Write Effective Use Case نوشته شده است. مطالعه این کتاب را به خواننده توصیف می‌کنیم.


محدوده:
این مقاله صرفا در مورد درکUse Case Point بوده و اطلاعاتی درمورد نحوه نوشتن یوزکیس‌ها به خواننده نمی‌دهد. نوشته‌ها و مقالات بسیاری در این باب نوشته شده و در اینترنت نیز قابل دسترس است.
تاریخچه:

روش Use Case Point مبتنی بر کارustav karner که در سال 1993 به عنوان تز دانشگاهی ارايه شد. این روش امروزه به عنوان روش تخمین زمان و هزینه در برخی از ابزارهای مهندسی نرم‌افزار که از UML برای مدل‌سازی استفاده می‌کنند، پیش‌بینی شده است که از آن جمله می‌توان به ابزار نرم‌افزاری خوش‌دست Sparx System Enterprise Architect اشاره کرد.


مراحل روش یوزکیس پروینت برای تخمین


1. تعیین UAW) Unadjusted Actor Weight ): اولین قدم دسته‌بندی همه بازیگران سیستم است. در جدول زیر دسته‌بندی بازیگران آمده است. ستون دوم راهنمای تصمیم گیری در مورد نوع بازیگر بوده و نشان میدهد که بازیگر باید در کدام دسته قرار می‌شود. آخرین ستون نیز عامل پیچیدگی آن را نشان می‌دهد.




2. تعیین UUCW ( Unadjusted Use Case Point ). مرحله دوم شمارش یوزکیس‌ها و تعیین وزن آن‌ها بر حسب تعداد سناریوها و تعداد تراکنش‌های آن‌هاست.




3. تعیین مجموع UUCP (Unadjusted Use Case Point ): برای محاسبه این مقدار از فرمول روبه‌رو استفاده می‌شود: مجموع UAW + مجموع UUCW = UUCP

4. محاسبه عوامل تکنیکی و محیطی: آخرین قدم برای محاسبه پیچیدگی، تعیین و اندازه‌گیری عوامل تکنیکی و محیطی سیستم است. عوامل تکنیکی 13 مورد شناخته شده دارند هر چند می‌توان عوامل دیگری را نیز به آن اضافه نمود. به هر یک عوامل تکنیکی مقادیر 0 تا 5 نسبت داده می‌شود. مجموع عوامل تکنیکی فاکتور پیچیدگی تکنیکی پروژه را تعیین کرده و با ضرب آن در ضریب پیچیدگی، میزان پیچیدگی پروژه محاسبه می‌شود. هر عامل تکنیکی وزنی نیز دارد که میزان تاثیر آن را مشخص می‌کند.





1. محاسبه فاکتور تکنیکی

برای محاسبه فاکتور تکنیکی پروژه از معادله Tfactor =T1 +T2 + …….T12+T13 استفاده می‌گردد.

2. محاسبه ميزان پيچيدگي تكنيكي پروژه:

میزان پیچیدگی تکنیکی پروژه با فرمول TCF= 0.6 +(0.01* Tfactor)محاسبه می‌شود.


3. عامل محیطی:

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






4.مجموع عوامل محیطی از جمع مقادیر بالا محاسبه می‌شود:

یعنی:Efactor=SUM(e1….e8)

5.برای محاسبه ضریب عامل محیطی از معادله EF=1.4+(-0.03 * Efactor)استفاده می‌شود.

6. د رنهایت مقدارAUCP (Adjusted Use Case Points ) با استفاده از فرمول زیر محاسبه می‌شود؛ یعنی AUCP=UUCP * TCF * EF

با ضرب مقدار به دست آمده در نفر ساعت لازم برای انجام هر یوزکیس پوینت نفر ساعت کل لازم برای انجام پروژه به دست می‌آید. برای میزان نفر ساعت لازم برای هر Use Case Point مقادیر متفاوتی پیشنهاد شده از جمله 10، 15 و 20 و حتا 30 تا 40 نفر ساعت برای هرUse Case Point در نظر گرفته شده است. با این همه بعضی از متخصصان بیان کرده‌اند که این عدد خود به فاکتورهای محیطی مرتبط است. تجربه عملی نگارنده نشان داده که میزان 10 تا 15 نفر ساعت در محیط‌های کاری ما مناسب است.


مثال عملی برای تخمین زمان یک پروژه

برای نشان دادن چگونگی تخمین هزینه یک پروژه از یک مثال ساده استفاده می‌کنیم. ابتدا حوزه مساله:

شرکت راپیران در حال حاضر از روش دستی برای ثبت و ویرایش اطلاعات مشتریان خود و میزان اعتبار آن‌ها استفاده می‌کند. اطلاعات مشتریان به همراه اطلاعات کارت‌های اعتباری آنها در دفاتری ثبت میگردد و سپس اطلاعات کارت اعتباری آن‌ها از طریق سیستم کارت خوان که توسط بانک در اختیار شرکت گذاشته شده کنترل می‌گردد. اطلاعات مشتریان عبارت است از:

- کد مشتری

- نام مشتری

- آدرس مشتری

- تلفن مشتری

- اطلاعات معتبر کارت اعتباری مشتری

کد مشتری برای هر مشتری یکتا بوده بنا بر این کارمند پذیرش مشتریان بصورت دستی اطلاعات را کنترل و در دفتر ثبت مینماید . راپیران میخواهد فعالیتها و کنترلهای زیر در ثبت و ویرایش اطلاعات مشتریانش بصورت مکانیزه انجام شود:

- کنترل یکتایی کد مشتری

- کد مشتری نباید از 8 حرف و عدد بیشتر باشد

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

- طول شماره کارت اعتباری نباید بیش از 10 حرف یا عدد باشد

- اپراتور باید بتواند اطلاعات مشتری جدیدی را اضافه کرده و اطلاعات مشتری موجود را تغییر داده ویا آنرا حذف کند

- بانک اطلاعاتی در دفتر اطلاعات شرکت نصب شده و تنها ورود و ویرایش و حذف اطلاعات توسط اپراتور سیستم انجام میشود

- نرم افزار در میحیط ویندوز اجرا خواهد شد و سیستم عامل ویندوز XP به اینمظور استنفاده خواهد شد

یوزکیس ورود اطلاعات مشتری در سیستم مشتریان شرکت راپیران

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



تراکنش یوزکیس:تراکنش یوزکیس، واحد مجموعه فعالیت‌هایی است که به طور کامل انجام می‌شود. برای تشخیص تراکنش یوزکیس باید دید که آیا تراکنش ارزشی تولید می‌کند. در صورتی که یک فعالیت ارزشی را تولید نمی‌کند نباید آن را به عنوان تراکنش یوزکیس در نظر گرفت؛ برای مثال این‌که کاربر کامپیوتر خود را روشن می‌کند و یا این‌ که کاربر روی کلید ایجاد مشتری و یا هر کلید دیگری در پنجره ارتباطی خود کلیک می‌کند تراکنش محسوب نمی‌شود، اما کارت اعتباری مشتری توسط یک تراکنش کنترل اعتبار بررسی می‌گردد. تعدادUse Case Point ها به طور كامل بستگی به چگونگی تعریف بازیگران و تراکنش‌های تعریف شده دارد . بنا براین تشریح وتوصیف یوزکیس ها باید ازطریق الگوها و سرخطهای مشخصی انجام شود . بهترین راه برگزاری جلسه با تمامی اعضای تیم مسئول انجام پروژه قبل از نوشتن شرح یوزکیس است. عمق تشریح یوزکیس می‌تواند تا 40 درصد روی تخمین انجام شده تاثیر گذار باشد. روش و الگویی که در این‌جا ارايه می‌شود، تنها الگو نبوده و تنها برای تشریح مساله‌ي بالا ارايه شده است.

RUP

RUP

 

در فرهنگ مهندسی نرم‌افزار، فرآیند یکپارچهٔ رشنال یا آر.یو.پی. (به انگلیسی: Rational Unified Process و به اختصار: RUP) نام یک فرآیند توسعهٔ نرم‌افزار است که شرکت آی‌بی‌ام آنرا تدوین کرده است. به طور خلاصه آر.یو.پی ارائه دهنده مجموعه‌ای از روشها برای کمک به مدیریت دقیق بر روی مراحل طراحی و پیاده‌سازی نرم‌افزارهای رایانه‌ای است. این فرآیند بستر مناسبی برای تولید و توسعه نرم‌افزار در اختیار تحلیل‌گران و طراحان سیستم‌های رایانه‌ای قرار می‌دهد.
 

آر.یو.پی چیست؟

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

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

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

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

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

مهم‌ترین مزایای آر.یو.پی

  • تسهیل توسعه تکراری نرم‌افزار
  • مدیریت نیازها
  • مدل کردن تصویری نرم‌افزار
  • بازبینی کیفیت نرم‌افزار
  • کنترل تغییرات در نرم‌افزار
  • امکان استفاده از طریق وب

 

مراحل آر.یو.پی

مرحله ۱ - آغازین (Inception)

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

مرحله ۲ - تحلیل پیچیدگی (Elaboration)

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

این مرحله با پرسشهایی نظیر: در حال ساخت چه سیستمی هستیم؟ چه چیزهایی پروژه را به مخاطره می‌اندازد و چه ریسکهایی برای انجام آن وجود دارد. هر چه ریسکها بیشتر و بزرگ‌تر باشند، دقت بیشتری در انجام پروژه باید صورت گیرد.

بررسی ریسک‌ها

ریسک‌های مرتبط با نیازمندیهای سیستم

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

در همین زمان سایر نمودارهای مدلسازی نظیر نمودارهای کلاس (Class Diagrams)، نمودارهای فعالیت (Activity Diagram) و نمودارهای تقابل (Interaction Diagrams) نیز به کمک کاربران سیستم بخصوص کاربران ارشد که اطلاعات بیشتر و مهم‌تری از عملکرد سیستم دارند باید تهیه شوند.

ریسک‌های تکنولوژیکی

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

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

نمودارهای یو.ام.ال زیر در این مرحله بکار می‌آیند:

ریسک‌های منابع انسانی

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

ریسک‌های سیاسی

هرچند در نگاه اول ممکن است عجیب به نظر برسد، ولی با رشد روزافزون رایانه‌ها و سیستم‌های مبتنی بر رایانه امکان بروز تعارض میان سیستم نرم‌افزاری ساخته شده و مسائل امنیتی وجود دارد. بهتر است در مورد یوزکیس‌هایی که با مردم جامعه یا سازمانها (بخصوص سازمانهای دولتی) تعامل خواهند داشت در همین مرحله سیاستهای واضحی مشخص گردد.

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

مرحله ۳ - ساخت (Construction)

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

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

بطور خلاصه نتیجه این فاز کدنویسی و ایجاد نرم افزار است

مرحله ۴ - انتقال (Transition)

مرحله نهایی که شامل تست آزمایشی، بهبود عملکرد و آموزش کاربران است.