رساله ای که اینک در دست شما خواننده گرامی قرار دارد ، حاوی مطالبی است که شما را با
تمامی زوایای طراحی سیستم نرم افزاری پرسنلی و مالی دفتر مدارس خارج از کشور آشنا می کند
و نحوه ی کار با این سیستم را به شما آموزش می دهد .
این پروزه نرم افزاری است که در قسمت های امور اداری ، پرسنلی و مالی بخشی از وزارتخانه
محترم آموزش و پرورش به نام دفتر مدارس خارج از کشور به کار گرفته می شود .
این دفتر مدیریت تمامی سرپرستان مدارس ایران در تمامی کشور های دنیا را بر عهده دارد .
به این ترتیب
که هر دو سال یک بار امتحاناتی را برای اعزام معلمان به خارج از کشور را برگزار می کند .
در صورت قبولی در این امتحان معلمان به مدت دو سال مامور به خدمت در یکی از کشورها می شوند .
و به همراه خانواده شان از ایران عزیمت می کنند .
در این دفتر حقوق معلمان هر دو ماه یکبار طبق شرایط زندگی آنها در آن کشور ومقطع تحصیلی
و مدرک و...
محاسبه می شود و به صورت ارزهای دلار آمریکا , یوروی اروﭘا و ین ﮊاﭘن , به حساب
بانکی آنها در آن کشور واریز می شود .
هم اکنون امور مالی دفتر مدارس خارج از کشور با سیستم های قدیمی تحت Dos اداره می شود که کار با
آن بسیار دشوار و حوصله بر است و به همین دلیل ما در صدد نوشتن یک برنامه جدید برآمدیم تا مشکلات
کار با آن سیستم قدیمی را بهبود ببخشیم .
تمام سعی و کوشش ما این بوده که نرم افزار کاربردی ای طراحی نماییم که، کمتر دچار مشکل شود و
کار با آن راحت باشد .
همچنین ، قابلیت بروز رسانی داشته باشد .این نرم افزار شامل بخش هایست که
مربوط به امور اداری و مالی می گردد و هر دوی این بخش ها که در ارتباط تنگاتنگ با یکدیگر
هستند را به یقین به یکدیگر نزدیکتر از گذشته می گرداند .
در یک سازمان اطلاعات تمامی کارمندان زیر نظر امور اداری می باشد ، بمعنی آنکه وقتی سیستم
پرسنلی سازمانی دستخوش تغییرات قرار می گیرد .
این تغییرات روی سیستم مالی کارمندان بی تاثیر
نخواهد بود .
از اینرو با در شبکه قرار گرفتن این نرم افزار هر تغییری در شرایط پرسنلی یک کارمند به طور اتوماتیک
شرایط حقوقی او را نیز تغییرخواهد داد .
زیرا همانطور که در ابتدای سخن گفته شد , معلمان اعزام شده به خارج از کشور , فقط به مدت دو سال
مجاز به خدمت در خارج از کشور هستند و بعد از دو سال ماموریت آنها به اتمام می رسد و باید بقیه
خدمتشان را در مدارس داخل کشور بگذرانند .
در پایان از شما خواننده محترم استدعا داریم که اگر خطا و کم و کاستی در این رساله و برنامه ملاحظه
فرمودید از لطف و بخشش خود را از ما دریغ نفرمایید .
مروری بر مطالعات انجام شده
در مقدمه به این نکته اشاره شد که یک برنامه کاربردی باید بگونه ای طراحی و نوشته شود که کار را
برای کاربر یا کاربرانی که از آن استفاده می کنند ساده تر از گذشته سازد .
حال بمنظور رعایت این اهداف ما در طراحی و نوشتن این نرم افزار که تحت ویندوز کار می کند از زبان
های برنامه نویسی بروز و پرکاربرد و سریعی همچون زبان C#و بانک اطلاعاتی SQL SERVER
به عنوان پایگاه داده و نیز محیط های گزارش گیری هماهنگ با برنامه همچون CRYSTAL REPORT
بهره گیری نمودیم .ما با استفاده از کتاب ها و سایت ها ی مرتبط با نرم افزار های مذکور توانستیم به
فراگیری این زبان ها دست یابیم .
شما در ادامه می توانید در فصل اول تا حدودی با زبان برنامه نویسی بانک اطلاعاتیِ SERVER SQL
و همچنین در فصل دوم مقداری با زبان برنامه نویسی C# آشنا شوید و نمونه هایی از کد های برنامه را
ببینید .
فصل سوم نیز در برگیرنده توضیحاتی بر کل برنامه می باشد و در مورد نحوه کار با نرم افزار
توضیحاتی را متذکر می شود .
و در پایان این رساله شما را با منابع استفاده شده آشنا می سازیم .
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که مربـوط به بخش ورودی