بخشی از مقاله
سيستم مـالی دفـتر مـدارس خـارج از کـشور
مقـدمه :
رساله ای که اينـک در دست شـما خواننده گرامـی قـرار دارد ، حاوي مطالبـي اسـت كه شمـا را بـا
تمــامي زواياي طراحي سيستم نرم افزاري پرسنـلی و مـالی دفـتر مـدارس خـارج از کـشور آشنا مي كنـد
و نحوه ي كار با اين سيستم را به شما آموزش مي دهد .
اين پـروزه نـرم افـزاری اسـت کـه در قسمت های امــور اداری ، پرسنـلی و مـالی بخشــی از وزارتخـانه
محترم آمـوزش و پـرورش به نام دفـتر مـدارس خـارج از کـشور به کـار گرفته مي شود .
اين دفتر مديريت تمامی سرپرسـتان مدارس ايران در تمامی کشور های دنيا را بر عهـده دارد . به اين ترتيب
که هر دو سال يک بار امتحاناتی را برای اعزام معلمان به خارج از کشـور را بـرگزار می کند .
در صــورت قبولی در اين امتحان معلمان به مدت دو سال مامور به خدمـت در يکی از کشورها می شوند .
و به همراه خانواده شان از ايران عزيمت مـی کنند .
در ايـن دفـتر حقـوق معـلمـان هر دو ماه يکبـار طبـق شرايـط زندگی آنها در آن کـشور ومقطع تحصيـلی
و مـدرک و... مـحاسبه می شود و به صورت ارزهای دلار آمريكا , يوروي اروﭘـا و ين ﮊاﭘـن , به حسـاب
بانكي آنها در آن كشور واريـز می شود .
هم اکنون امور مالی دفتر مدارس خارج از کشور با سيستم های قديمی تحت Dos اداره می شـود که کار با
آن بسيار دشوار و حوصله بر است و به همين دليل ما در صدد نوشتن يك برنامه جديد برآمديم تا مشكلات
كار با آن سيستم قديمي را بهبود ببخشيم .
تمام سعی و کوشش مـا اين بوده که نرم افزار کاربردی ای طراحـی نماييم که، کمـتر دچـار مشـکل شود و
کار با آن راحت باشد . همچنـين ، قابليت بروز رسانی داشته باشد .اين نرم افزار شامل بخـش هايسـت کـه
مربـوط به امــور اداری و مـالی می گردد و هـر دوی اين بخـــش ها که در ارتباط تنگاتــنگ با يکـديگر
هستند را به يقيـن به يکديگر نزديکتر از گذشته می گـرداند .
در يــک سازمان اطلاعات تمامـي کارمندان زيـر نظـر امــور اداری می باشـد ، بمعنی آنکه وقتـی سيستـم
پرسـنلی سازمانی دستخوش تغييرات قرار می گيرد . ايـن تغـييـرات روی سيستم مـالی کـارمندان بـی تاثير
نخـواهد بود .
از اينرو بـا در شبکـه قرار گرفتن اين نرم افـزار هر تغييری در شرايط پرسنلی يک کارمند به طور اتومـاتيک
شرايط حقـوقي او را نيز تغـــييرخواهد داد .
زيرا همانطور كه در ابتداي سخن گفته شد , معلمان اعزام شده به خارج از كشـور , فقـط به مدت دو سـال
مجاز به خدمت در خارج از كشور هستنـد و بعد از دو سـال ماموريت آنـها به اتمـام مـي رسد و بايد بقـيه
خدمتشان را در مدارس داخل كشور بگذرانند .
در پايان از شما خواننده محترم استدعا داريـم که اگر خطا و کم و کاستي در اين رسالــه و برنامـه ملاحـظه
فرموديد از لطف و بخشش خود را از ما دريغ نفرماييد .
مروری بر مطالعات انجام شده
در مقدمه به اين نکته اشاره شد که يک برنامه کاربردی بايد بگونه ای طراحی و نوشته شود که کار را
بـرای کاربر يا کاربراني که از آن استفاده مي کنند ساده تر از گذشته سازد .
حال بمنظور رعايت اين اهداف ما در طراحی و نوشتن اين نـرم افزار که تحت ويندوز کار مي کند از زبان
های برنامه نويسی بـروز و پرکـاربرد و سريـعی همچـون زبـان C#و بانـک اطلاعـاتی SQL SERVER
به عنوان پايگاه داده و نيز محيط های گـزارش گيری همـاهنگ با برنامه همـچون CRYSTAL REPORT
بهره گيری نموديم .ما با استـفاده از کتاب ها و سايت هـا ی مرتبـط با نـرم افزار های مذکور تــوانستيم به
فـراگيری اين زبان ها دست يابيم .
شمـا در ادامـه مـي توانيد در فصل اول تا حدودی با زبان برنامه نويسی بـانک اطلاعاتیِ SERVER SQL
و همـچنين در فصل دوم مقداری با زبان برنامه نويسـی C# آشـنا شويد و نمونه هايی از کد های برنامه را
ببينيد . فصــل سـوم نـيز در برگيـرنده توضيحـاتی بر کل برنامه می باشد و در مورد نحـوه کار با نرم افزار
توضيحاتی را متذکر می شود .
و در پايان اين رساله شما را با منابع استفاده شده آشنا می سازيم .
فصل اول
1-1 آشنايی با زبان SQL SERVER وکاربرد آن درنرم افزارمالی دفترمدارس خارج ازکشور
زبـان SQL تنـها زبـان استـانـدارد و جـامع پيادهسـازي ، مـديريت ، نگهـداري و كـار با بانـك هاي
اطلاعاتي ميباشد كه تقريباً توسط تمامي بانك هاي اطلاعاتي كوچك و بزرگ , ﭘر كاربرد و كم كاربرد مانند
Access، SQL Server ، Oracle و DB2 پشتيباني ميشود.
طراحان و افرادي كه بنوعي با بانكهاي اطلاعاتي سروكار دارند و همچنين برنامه نويساني كه از اين بانك ها
استفاده ميكنند هركدام بايد تا اندازهاي با اين زبان آشنايي داشته باشند.
اين مقاله كه در سه قسمت تهيه شده است ميكوشد تا مفاهيم زبان SQL را در قالب يك مثال كاربردي بيان
كند . هرچند كه مفاهيم بكار رفته در اين مقاله در تمامي بانك هاي اطلاعاتي قابل پيادهسـازي ميباشند ولي
مثالهاي ارائه شــده در 2000 SQL Server مورد تست قرار گرفتهاند .
بانك اطلاعاتي كه در اين مقاله بعنوان مثال مورد استفاده قرار گرفته است بانك اطلاعاتي يك آموزشگــــاه
ميباشد كه شامل دو جدول بنامهاي teachers و students ميباشد. جدول اول اطلاعات اساتيــــد و
جدول دوم اطلاعات دانشجويان را در خود نگه ميدارد. جدول اول داراي چهار فيلد زير مـيباشد: name
يا نام از نوع text، family يا فاميل از نوع text، age يا سن از نوع عـدد ، salary يا حـقوق از نـوع
عدد. جدول دانشجويان نيز شـامل چهـار فيلد ميباشد ، سـه فيلد اول آن مشابه سه فيلد اول جدول اساتيـد
ميباشد و فيلد چهارم آن عبارتست از GPA يا معدل كه يك فيلد عددي است. زبان SQL داراي دستورات
متنــوع و نسبتاً زيادي ميباشد. به اين دستورات Clause نيز گفته ميشود.در اين مقاله و قسمتهاي بعـدي
آن تعدادي از مهمــترين Clause هاي زبان SQL مورد بررسـي قرار ميگيرند.هـدف نهايي از دادن انبوه
اطلاعات به كامپيوتر، جستجو و يافتن اطلاعات مفيد ميباشد. به اين عمل يعنــي جستجوي اطلاعــات در
بانك اطلاعاتي Query نيز گفته ميشود. اكثر دستـورات زبان SQL نـيز در هميــن راسـتا مورد استـفاده
قرار ميگيرند . در اين بين مهمترين و پركاربردترين دستور را مـيتوان دستور SELECT قلمداد كرد . اين
دسـتور جهـت انتخـاب يك يا چنـد فيلد از يـك يا چند جدول مختلـف مورد استفاده قــــرار مـيگيـرد،
فيلدهاي انتخاب شده پس از اجراي query روي صفحه نمايش داده خواهند شد. دستور SELECT همان
طوري كه گفته شد جهت انتخاب و نمايش تعدادي از فيلدهاي جداول مـــــــورد استفاده قرار مـيگيرد .
در اين حالت تمام ركـوردهـا نـمايش داده خواهند شد، ولي در بيشتر مـوارد هــــدف از نوشتـن Query
نمايش ركوردهايي است كه داراي شرايط ويژهاي مـيباشند. مثـلاً نمايش مشخصـات اساتيـدي كه بيـش از
پنـجاه سـال سن دارند . دستـور WHERE بـراي گذاشتن يك يا چند شرط به دستــــور SELECT مـورد
استفـاده قـرار مـيگيرد . با اضافـه كردن شرط به دستور SELECT تعـداد ركوردهاي خروجي ( پاســـخ )
معمولاً محدودتر ميشود .
1-2 ايجاد کردن پايگاه داده و ايمنی آن در نرم افزار
2000 SQL Server چنـدين راه مختلف برای نسخـه برداری از پايگاه داده فراهـم می آورد. سـاده
ترين راه گرفتن Backup کامل يک کپی کامل از پايگاه داده در يک نقطه زمانی خاص می باشد.
راهنمايی:SQL Server اجازه می دهد که نسخه برداريها گرفته شوند هنگامی که پايگاه داده در حال استفاده
می باشد و نياز به بستن سيستم برای نگهداری آن نيست. اگر چه انواع اصلی عمليات از طريـــق Backup
نمی تواند به انجام رسد. اينها شامل عملياتی هستند که ساختار پايگاه داده را تغيير می دهند. از قبيل ايجــاد
کردن و حذف کردن فايل ها يا ايجاد Index ها و به انجام رساندن عملياتهای مرتبط نشده به سيستم Non
Logged همچنينSQL Server دومين نوع نسخه برداری را فراهم می آورد که به طــــور Differential
Backup شناخته شده است. يک Differential Backupفقط اطلاعاتی را که از آخرين نسخه برداری کامل
تغيير پيدا کرده است ثبت می کند. امتيازات آن اين می باشد که بيشترين محيطهایDifferential Backup
از يک نسخه برداری کامل کوچکتر خواهد بود و اينکه فرآيند نسخه برداری سريعتر خواهد شد.
راهنمايی:Backups Transaction Log همچنين به شما اجازه باز گرداندن يک پايگاه داده برای يک نقطـه
زمانی خاص می دهد اين می تواند مفيد واقع شود. برای مثال يک اشتباه اپراتور باعث نادرست وارد شــدن
اطلاعات در داخل يک پايگاه داده شود.
شما مـی توانيد از يک Transaction Log برای باز گرداندن پايگـاه داده در حالتی که آن قبــلاً بوده بـرای
اضافه کردن اطلاعات غلط استفاده کنيد.
SQL Server از Transaction Log برای بازگرداندن پايگاه داده به طــور خـودکار استـفاده می کنــد.
اگر Server پذيرفته شود . شما می توانيد آن را برای نسخه برداری از داده هايتان در ترکيب با يک نسخـه
برداری کامل يا Full And Differential Backupا ستفاده کنيد . امتيـازات Transaction Log Backup
هست از بيشترين تفصيل های نتايج فايل Backup که کوچکتر از Differential Backup ياFull می باشد.
راهنمايی: در بعضی از حالات يک Transaction Log Backup ممکن بزرگتر از نسخه برداری يک پايگاه
داده شود.برای مثال اگر يک گروه کوچک از رکوردها نسبتاً به طور پی در پی تغيير داده شود در اين حالتها،
شما می توانيد همچنين يک نسخه برداری کامل يا Transaction Log Backupsبه طور متناوب بگيريــد.
زمانی در مرحله ای از SQL Server يک درخواست برای اتصـال دريافت مـی کنيم. آن از يک Login ID
عبور می کند. Login ID معرف Account می باشد که دسترسی به 2000 SQL Server را کنترل می کند.
SQL Server بررسی می کند Login ID که داده شده است معتبر باشد. سپس معين می کند که آيا Login
ID که پذيرفته شده است امتياز امنيــتی کافـی بـرای به انجام رسـاندن عمـليات درخواست شده دارد. ايـن
عمليات به عنوان authentication ناميده مـی شود. 2000 SQL Server ، authentication را از دو راه
می تواند پشتيبانی کند. آن می تواند به NT ويندوز مايـکروسافت يا امنيت ويندوز 2000 برای معـتبر کـردن
ID اطمينان کند يا آن می تواند اعتبار سازی را خودش به انجام رساند.
زمانـی که از تأييد اعتبار ويندوز (شناخته شده به عنوان امنيت مجتمع در نسخه های قبلی از SQL Server)
مدير سيستم صورتهای امنيتی برای ويندوز NT و Account های ويندوز 2000 و گروهها را می پذيرد. نرم
افزار پردازشگر ويندوز يک اتصال معتبر برای Server را درخواسـت مـی کند. يـک اتصـال معتبر از زمانی
پذيرفته خواهد شد. اگـر وينـدوز NT يا وينـدوز 2000 قبلاً يـک User را تصديق کرده باشـد. 2000 SQL
Server نياز دارد به تضمين Login ID کـه برای دسترسی پيدا کردن بهServer و پايگـاه داده فراهـم شده
است.
مهـم: زمانی که ويندوز 98 نمـی تواند ارتباطات معتبر را پشتيبـانی کند مـواردی از 2000 SQL Server که
روی وينـدوز 98 اجرا مـی گردد نمـی تواند از مـد تأييد اعتبـار ويندوز استفاده کند. نرم افزار پردازشگر يا
Client می تواند روی ويندوز 98 اجرا شود. اگر چه با استفاده از تأييـد اعتبار وينـدوز تهيه شده ، Server
خودش روی ويندوز NT يا ويندوز 2000 اجـرا می شود.
ما در طراحی بانک اطلاعاتـی نرم افزار مالی دفتر مدارس خارج از کشور برای ايمن سازی هر چـه بيشتر و
بهتر آن يک قسمت به نام کابر قرار داديم که در آن به راحتی می توان کاربـر يا کاربـران اين سيستم را زير
نظر داشت . بطوری که می توان تعداد کاربرن را افزايش و يا کاهش داد و سطوح دسترسـی آنها را ويرايش
کرد .
بـرای ويـرايش يـک رکـورد از دستـور UpDate و برای خـواندن اطلاعـات از دسـتور Select استـفاده
می کنيم . برای خواندن اطلاعات می توانيم از SQL DataReader هم استفاده کنيم، که بـرای اين منظـور
Connection را تعريف می کنيم و DataReader را به Select وصل می کنيم.
در قسمتی که ما قصد داريم کاربری را حذف کنيم ، بايد Connection را تعريف کنيم . و از دستور SQL
Delete استفاده کنيم .
فصل دوم
2-1 آشنايی با زبان C# و کاربرد آن در نرم افزار مالی دفتر مدارس خارج از کشور
زبان برنامه نويسی C# از جمله زبان های برنامه نويسی بسيار پيشرفتـه است وکـار با آن به نسبـت
زبان هايی ماننـد C و C++سـاده تر اسـت و اين سادگی نيز به عـلت نزديکـی بسيار ان به زبـان محـاوره
می باشــد .
در اين فصل به معرفي دستورالعملهاي كنترل و انتخاب در C# ميپردازيم.
2-2 بررسي دستور if و انواع مختلف آن و کاربرد آن در اين نرم افزار
مطالب اين درس نحوه تصميمگيري در يك برنامه را به شـما نشان ميدهد.اولين دستور تصميمگيري
كه مـا آن را بررسي مينماييم ، دستورالعمل if است .
همانطور كه در ورﮊن هاي قبل از زبان برنامه نويسي C با دستورات تصميم گيري آن مانند IF آشنا بوده ايد,
اين دستور داراي سه فرم كلي : تصميمگيري ساده، تصميمگيــري دوگانه، تصميمگيري چندگــانه ميباشد.
مثال 2-2-1 نمونه دستورالعمل if-else در نرم افزار
در فرم Loginکه مربـوط به بخش ورودی سيـستم است از اين دستـور استفــاده های زيـادی شـده
که به عنوان مثـال بخشی از آن را ذکـر می کنيم و در مورد آن توضيح می دهيم .
if (CurrentUser.Login(TxtUserName.Text, TxtPassword.Text) == true)
{
: () FrmMain FMain = new FrmMain
( ()if (!CurrentUser.HasAccessEnterInfo
FMain.EnterInfoMenu.Enabled = false;
if (!CurrentUser.HasAceessReports())
FMain.ReportMenu.Enabled = false;
if (!CurrentUser.HasAccessAddUser())
FMain.AddUserMenuItem.Enabled = false;
if (!CurrentUser.HasAccessChangeUser())
{
FMain.EditUserMenuItem.Enabled = false;
FMain.DeleteUserMenuItem.Enabled = false;
}
FMain.Show();
this.Hide();
{
Else
MessageBox.Show
(,MessageBoxIcon.Error ,MessageBoxButtons.OK "" Error , "نام کاربری یاکلمه عبور اشتباه است")
{
{
{
اولين دستور بصورت if (boolean expression) {statements} آورده شده اسـت. دستور if با استفاده
از كلمه كليدي if آغاز ميشود. سپس يك عبارت منطقي درون يك زوج پرانتز قرار ميگيرد . پس از بررسـي
اين عبارات منطقي دستورالعمل/دستورالعملهاي داخل كروشه اجرا ميشوند. همانطور كه مشاهده مينماييـد،
دستور if يك عبارت منطقي را بررسي ميكند. در صورتيكه مقدار اين عبارات true باشد دستورهاي داخــل
بلوك خود را اجرا مينمايد(قبلا توضيح داده شد كه دستورهايي كه داخل يك زوج كروشه {} قرار ميگيرند
در اصطلاح يك بلوك ناميده ميشوند.) و در صورتيكه مقدار آن برابر با false باشد اجراي برنامه به بعــد از
بلـوك if منتقل ميشود.
در بيشتر موارد از تصميمگيريهاي دوگانه يا چندگانه استفاده ميشود. در اين نوع تصميمگيـريها، دو يـــا
چند شرط مختلف بررسي ميشوند و در صورت true بودن يكي از آنها عمل مربوط به آن اجرا ميگــردد.
سومين دستور if در اين برنامه نشان دهنده يك تصميمگيري دوگانه است. در اين حالت درصورتيكه عبارت
منطقي دستور if برابر با true باشد دستور بعد از if اجرا ميشود و در غير اينصورت دستور بعد از else بـه
اجرا در ميآيد. در حقيقت در اين حالت ميگوئيم " اگر شرط if صحيح است دســتورات مربــوط به if را
انجام بده درغير اينصورت دستورات else را اجرا كن".
در اين مثال ابتدا دستور if چک می کند که آيا کلمه عبـور و رمز عبـور که توسط کاربر وارد شـده درسـت
است يا نه اگر درست بود با کليک کردن دکمه ورود کاربر به محيط سيستم وارد می شود و توانايی کـار بـا
سيستم را دارد و اما اگر کاربر کلمـه و رمز عبور را درست وارد نکرده باشد اجازه ورود به سيستم را ندارد
و زمانی که دکمه ورود را کليک می کند ، پنجره ای باز می شود که در آن نوشته شده ( نام کاربری يا کلمه
عبور اشتباه است.) و بايد در اينجا دکمه OK را کليک کرده تا از برنامه خارج شود .
2-3 دستور Try-Catch
مثال2-3-1 نمونه دستور Try-Catch در نرم افزار
دستـور Try-Catch در اغلـب فرم هـای ما استفـاده شده است يـکی از نمونـه های آن را که در فرم
مربــوط به سمت ها آورده شده را در اينجا ذکر مي کنيم .
try
}
this.Validate();
this.tblSematBindingSource.EndEdit();
this.tblSematTableAdapter.Update(this.db_personalDataSet.tblSemat);
{
catch
}
MessageBox.Show("خطا در ورود اطلاعات");
{
{
دستور Try-Catch کاملا شبيه دستور If-Else می باشد . بطوری که در بالای دستورات به جای If از کلمه
Try استفاده می کنيم . اگر شرط برقرار شد دستورات اجرا می شود و اگر اين شرط برقرار نبود به دستور
Catch می رود که نقش Catch شبيه else می باشد و دستورات بعد از Catch را اجرا می کند.
به عبارت ديگر همانطور که می دانيد Try به معنـای سعـی کردن است . در اين دستـور ، فرمانی که بعد از
Try آمده است حتی الامکان بايد انجام گيرد ولی اگر به هر علتی مثل يک اشکال منطقی( logicalEroor)
اجرا نشود ، برنامه به دستور Catch بر می گردد و دستور بعد از آن را اجرا می کند .
مثال2-3-2 نمونه ای از کاربرد دستور Try-Catch در فرم AddUser
در اين مثال دستور Try-Catch را داريم که در آن دستور Else-If به کار رفته .
try
{
Cnn.Open();
Rdr = Com.ExecuteReader();
if (Rdr.Read())
{
if (Rdr.GetBoolean(Rdr.GetOrdinal("AccessEnterInfo")) == true)
_AccessEnterInfo = true;
else
_AccessEnterInfo = false;
if (Rdr.GetBoolean(Rdr.GetOrdinal("AccessReports")) == true)
_AccessReports = true;
else
_AccessReports = false;
if (Rdr.GetBoolean(Rdr.GetOrdinal("AccessAddUser")) == true)
_AccessAddUser = true;
else
_AccessAddUser = false;
if (Rdr.GetBoolean(Rdr.GetOrdinal("AccessChangeUser")) == true)
_AccessChangeUser = true;
else
_AccessChangeUser = false;
return true;
}
else
return false;
}
catch
{
return false;
}
2-4 دستور if-else if … else يا if تــودرتــو
مثال 2-4-1 نمونه هايی از کاربرد if-else تو در تو در نرم افزار
در صورتيكه نياز باشد تا چندين حالت منطقي مورد بررسي قرار گيرد و دستورات مربوط به يكي از
آنها اجرا شود، از فرم تصميمگيري چندگانه استفاده مينماييم. اين نوع استفاده از دستور if در اصطلاح به if
تودرتو (Nested If) معروف است چراكه در آن از چندين دستور if مرتـبط به يكديگر استفاده شده است.
چهارمين دستور if در مثال 1-3 استفاده از if تودرتو را نشان ميدهد. در ايــن حالت نيز دستـور بـا كـلمه
كليدي if آغاز ميگردد. شرطي بررسي شده و در صورت true بودن دستورات مربوط به آن اجرا ميگـردد.
اما اگر مقدار اين عبارت منطقي false بود آنگاه شرط هاي فرعي ديگري بررسي ميشوند . اين شرط هاي
فرعي با استفاده از else if مـورد بررسي قرار ميگيرند. هر يك از اين شرطها داراي عبارات منطقي مربوط
به خود هستند كه در صورت true بودن عبارت منطــقي دستورات مربوط به آنها اجرا ميگردد و در غير
اينصورت شرط بعدي مورد بررسي قرار ميگيرد. بايد توجه كنيد كه در ساختار if تــودرتــو تنها يكي از
حالتها اتفاق ميافتد و تنها يكي از شرطها مقدار true را بازميگرداند.
در کلاسی که برای يوزر تعريف کرديم از دستور if-else تو در تو استفاده کرديم .
ClassUser اطلاعات User را از DataBase می خواندو سطـح دسترســی آن را مشخـش مـی کند. در
ايـن کـلاس 4 تابـع تعـريف شده که هـر کدام Bolean هستنـد . مثـلا اگـر کـاربر اجازه داشـته باشد به
قسمت هـای مختلف دسترسـی داشته باشـد آن تابع True می شود وگرنه False می شود.
if (Rdr.Read())
}
if (Rdr.GetBoolean(Rdr.GetOrdinal("AccessEnterInfo")) == true)
_AccessEnterInfo = true;
else
_AccessEnterInfo = false;
if (Rdr.GetBoolean(Rdr.GetOrdinal("AccessReports")) == true)
_AccessReports = true;
else
_AccessReports = false;
if (Rdr.GetBoolean(Rdr.GetOrdinal("AccessAddUser")) == true)
_AccessAddUser = true;
else
_AccessAddUser = false;
if (Rdr.GetBoolean(Rdr.GetOrdinal("AccessChangeUser")) == true)
_AccessChangeUser = true;
else
_AccessChangeUser = false;
return true;
{
else
return false;
{
فصل سوم
3-1 نحوه کار با نرم افزار بخش مالی دفتر مدارس خارج از کشور
3-1-1 بخش Login يا ورودی سيستم
در چنين برنامه هايی که اطلاعات محرمانه و شخصی مربوط به پرسنــل سازمان خاصـی مانند يك
وزارتخانه در آن نهفته است بدون شک بايد از سطح امنيتی بسيـار بالايی برخـوردار باشد .به همـين عـلت
هنگام ورود به سيســـتم دارای بخش Login است که وظيفه امنيت سيستم را به عهده دارد .
هنگامی که شما وارد محيـط اين نرم افــزار مي شــويد در ابتــدا بايـد UserName وسپــس PassWord
مخصوص ورود به برنامه را وارد کنيد تا به شما اجازه ورود به سيستم داده شود .
اگر شما کاربر مجاز ورود به سيستم بـاشيد ، به صفـحه اصـلي بـرنامه که Main نـام دارد وارد مـي شويد .
3-1-2 صفـحه اصـلي بـرنامه
حـال در صفحه ی منوی اصلی شما منوها و زير منو های متعددی را مي بينيد ، بخشی از آن منوها
و زير منو هـا مربوط به بخش پرسـنلی سازمان است و برخی ديگر مربوط به بخش امور مالي ، منويی هم
وجود دارد که مربوط به کاربران سيستم است .
با ورود به برنامه همـانطـور که در شکل 3-1-1 مـی بينيد شما دارای منوهـای پوشـه ، ورود اطلاعـات ،
امور مالی، کاربر ، اطلاعات پرسنلی و صدور حکم هستيد .
لازم به ذکر است که منوهای ورود اطلاعات و اطلاعات پرسنلی مربوط به بخش پرسنلی سازمان است و
منوی امور مالی مربوط به بخش مالی می باشد.
3-1-3 منوی ورود اطلاعات و زير منوهای آن
شکل 3-1 منوی اصلی
شما در شکل 3-1 منوی اصلی حالت باز شده منوی ورود اطلاعات را می بينيد .