تهیه نرم افزار حقوق و دستمزد
نوع فایل:ورد
تعداد صفحات:75
اندازه فایل:1.31مگابایت
فهرست مطالب
مقدمه و
فصل اول : آشنايي با نرم افزارهاي استفاده شده در سيستم حقوق و دستمزد
1-1 مطرح شدن بعنوان يك استاندارد صنعتي……………… 2
2-1 C#چيست ؟ 2
1-2-1 كد مديريت يافته 3
2-2-1 روش يادگيری C# 3
3-2-1 مفاهيم شیء گرايی در C# 4
3-1 شیء چيست؟ 4
1-3-1 کلاسه کردن اشياء مقدمه ای بر ارث بری Inheritance)) 6
2-3-1 سلسله مراتب اشياء (بررسی ارث بری در محيط شیءگرا) 7
3-3-1 انتزاع (Abstraction) 8
4-3-1 اشياء درون اشياء (مقدمه ای بر کپسولهکردن يا Encapsulation) 9
5-3-1 اشيائي با رفتارهايي متفاوت (مقدمه بر چند ريختي يا Polymorphism) 11
4-1 .NET چيست و چگونه شكل گرفت؟ 14
1-4-1 يك پلات فرم مناسب براي آينده 15
2-4-1 ايده هاي اوليه 16
3-4-1 تولد دات نت 16
4-4-1 مروري بر Frame work دات نت: 17
5-1 مفاهيم مبنايي پایگاه داده ها : 18
1-5-1منظور از کنترل و مديريت : 19
2-5-1 مفهوم داده : 22
3-5-1 مفاهيم ابتدائي 24
4-5-1 شكل كلي دستور : 25
5-5-1ذخیره تصاویر در SQL Server 25
6-1 آشنايي با نسخههاي SQL Server 2005 27
1-6-1 كدام سيستم عامل؟ 28
2-6-1 آشنايي با محيط Sqlserver management studio…………. 30
7-1 انتقال اطلاعات با Replication در SQLserver ………… 34
1-7-1 معرفي Replication ……………………………. 34
2-7-1 انتقال اطلاعات به روش ادغام (Merge) …………. 35
3-7-1 تصوير برداري از اطلاعات (snapshot)…………….. 35
4-7-1 انتقال بر اساس فرآيند (Transactional) …………. 36
5-7-1 تعريف ناشر و مشتركين ……………………….. 36
6-7-1 طرح يك مسئله……………………………… 37
7-7-1 مراحل ايجاد ناشر ………………………….. 37
8-1 مراحل ايجاد مشتركين …………………………… 38
1-8-1 روش pul (از طريق مشترك)……………………… 38
2-8-1 روش push (از طريق ناشر) …………………… 38
3-8-1 snapshot lsolation level ………………………… 39
4-8-1 باز هم دات نت ……………………………. 38
9-1 ADO.Net وارد ميشود………………………….. 40
10-1 تكنولوژي xml………………………………. 41
11-1 سرويس اعلان (Notification) …………………….. 42
12-1 سرويس گزارش گيري …………………………… 42
13-1 مديريت خطا ……………………………….. 43
فصل دوم : تجزيه و تحليل سيستم
1-2 نمودارER-MODELING. 45
2-2 نمودار دیدهای فرمها و کاربران نسبت به هم 46
3-2 تعاریف 47
4-2 کارکرد نرم افزار حقوق و دستمزد : 47
1-4-2 جدول پرسنلی (Personally) : 48
2-4-2 جدول پایانی (Final) : 48
3-4-2 تصویر اضافه کار (Ezkar) : 49
5-2 گزارش ماهانه : 49
1-5-2 فیش حقوقی : 50
2-5-2 فیلدهای جداول جدول ساعت زنی Time : 50
3-5-2 جدول پرسنلی Personally 50
4-5-2 جدول محاسباتی حقوق 51
5-5-2 تصویر اضافه کار (Ezkar) 51
6-5-2 گزارش ماهانه 51
فصل سوم : طراحي فرمها و چگونگي كاركرد نرم افزار
1-3 فرم شروع 53
1-1-3 فرم ساعت زنی 54
2-1-3 فرم ثبت کارمندان 56
3-1-3 فرم نمایش همه کاربران 57
4-1-3 محاسبه حقوق 58
2-3 فرمول های محاسبات : 59
فصل چهارم : نحوه پياده سازي سيستم
مقدمه 61
1-4 کلاس add 61
1-1-4 نحوه استفاده از کلاس add در برنامه برای اضافه کردن کارمند جدید به لیست کامندان 62
2-4 نحوه گزارش گیری با کریستال ریپورت 66
فهرست منابع 68
1 مطرح شدن بعنوان يك استاندارد صنعتی
انجمن توليدكنندگان كامپيوتر اروپا (ECMA) زبان C#را در سوم اكتبر سال 2001 بعنوان يك استاندارد پذيرفته (ECMA-334) و بدنبال آن تلاش های وسيعی برای كسب گواهی ISO نيز انجام شده است. زبان فوق در ابتدا توسط شركت مايكروسافت و بعنوان بخشی از دات نت پياده سازی و بلافاصله پس از آن توسط شركت های اينتل، هيوليت پاكارد و مايكروسافت مشتركا، جهت استاندارسازی پيشنهاد گرديد.
زبان C#بگونه ای طراحی شده است كه نه تنها وابستگی به يك Platform خاص را ندارد، بلكه در اغلب موارد وابستگی RunTime نيز ندارد. كامپايلر C#می تواند بر روی هر نوع معماری سخت افزاری طراحی و اجرا گردد. در برخی از نسخه های اوليه كامپايلر زبان فوق كه توسط برخی از شركت های جانبی ارائه شده است، كدهای C#را به بايت كدهای جاوا كمپايل می كنند. يكی از چنين كامپايلرهائی را می توان در سايت Halcyonsoft.com مشاهده نمود. بنابراين كدهای C#براحتی قابليت حمل بر روی محيط های متفاوت را دارا خواهند بود.
مشخصات تعريف شده زبان C#با ساير استاندارهای تعريف شده ECMA نظير (ECMA-335) CLI (Common Language Infrastructure) بخوبی مطابقت می نمايند. CLI قلب و روح دات نت و CLR(Common Language Runtime) است. اولين نسخه از كامپايلر زبان C#كه از CLI استفاده می كند، NET Framwork. مايكروسافت است.
با توجه به موارد گفته شده، مشخص می گردد كه اين زبان بسرعت بسمت استاندارد شدن حركت و با تاييد استانداردهای مربوطه از طرف انجمن های معتبر بين المللی و حمايت فراگير شركت های معتبر كامپيوتری در دنيا مسير خود را بسمت جهانی شدن بخوبی طی می نمايد.
2-1 C#چيست ؟
طراحان زبان C#با تاكيد و الگوبرداری مناسب از مزايای زبانهائی نظير ++C، C و جاوا و ناديده گرفتن برخی از امكانات تامل برانگيز و كم استفاده شده در هر يك از زبانهای فوق، يك زبان برنامه نويسی مدرن شی گراء را طراحی كرده اند. در مواردی، برخی از ويژگی های استفاده نشده و درست درك نشده در هر يك از زبانهای گفته شده، حذف و يا با اعمال كنترل های لازم بر روی آنها، زمينه ايجاد يك زبان آسان و ايمن برای اغلب پياده كنندگان نرم افزار بوجود آمده است. مثلا C و ++C می توانند مستقيما با استفاده از اشاره گرها عمليات دلخواه خود را در حافظه انجام دهند. وجود توانائی فوق برای نوشتن برنامه های كامپيوتری با كارائی بالا ضرورت اساسی دارد. اما در صورتيكه عملياتی اينچنين بدرستی كنترل و هدايت نگردند، خود می تواند باعث بروز مسائل (Bugs) بيشماری گردد.
طراحان زبان C#، با درك اهميت موضوع فوق، اين ويژگی را كماكان در آن گنجانده ولی بمنظور ممانعت از استفاده نادرست و ايجاد اطمينان های لازم مسئله حفاظت نيز مورد توجه قرار گرفته است. جهت استفاده از ويژگی فوق، برنامه نويسان می بايست با صراحت و به روشنی خواسته خود را از طريق استفاده از Keyword های مربوطهاعلان نمايند( فراخوانی يك توانائی و استفاده از آن).
C#بعنوان يك زبان شی گراء عالی است. اين زبان First-Class را برای مفهوم Property (Data Member) بهمراه ساير خصائص عمومی برنامه نويسی شی گراء حمايت می كند. در C و ++C و جاوا يك متد get/set اغلب برای دستيابی به ويژگی های هر Property استفاده می گردد. CLI همچنان تعريف Property را به متدهای get/ser ترجمه كرده تا بدين طريق بتواند دارای حداكثر ارتباط متقابل با ساير زبانهای برنامه نويسی باشد .C#
بصورت فطریEvents ، Declared Value، Reference Type ، Operator Overloading را نيز حمايت می كند.
1-2-1 كد مديريت يافته
با استفاده از نسخه پياده سازی شده C# توسط مايكروسافت، می توان همواره كد مديريت يافته ای را توليد كرد. يك برنامه C# پس از كامپايل، بصورت برنامه ای در خواهد آمد كه شامل دستورالعمل های تلفيق شده (CIL)Common Intermediate Language است -درست بر خلاف دستورالعمل های مختص يك ماشين خاص-.
CILگاهاً با نام MSIL (Microsoft Intermediate Language) یا به اختصار IL نيز ناميده می شود)، در مفهوم مشابه بايت كدهای جاوا بوده و شامل مجموعه ای از دستورالعمل های سطح پايين قابل فهم توسط تكنولوژی مبتنی بر CLI نظير CLR مايكروسافت خواهد بود. اين برنامه ها بدين دليل كد مديريت يافته، ناميده می شوند كه CLR مسئوليت تبديل اين دستورالعمل ها به كدهای قابل اجرا برروی ماشين و ارائه اغلب سرويس های اساسی برای كدينگ نظير : Garbage Collection، مديريت Heap و عمر مفيد يك Object و يا Type Verification را فـراهم می كند.
2-2-1 روش يادگيری C#
يادگيری اين زبان برای افراديكه دارای سابقه آشنائی با يكی از زبانهای برنامه نويسی ++C ،C و يا جاوا باشند كار مشكلی نخواهد بود، حتی افراديكه دارای آشنائی اوليه با جاوا اسكريپت و يا ديگر زبانهای برنامه نويسی نظير ويژوال بيسك می باشند، امكان پذير و راحت خواهد بود. برخی از برنامه نويسان حرفه ای بر اين باور هستند كه C# نسبت به VB.NET با اقبال بيشتر و سريعتری مواجه خواهد شد، چراكه C# نسبت به ويژوال بيسك خلاصه تر است. حتی برنامه های بزرگ و پيچيده ای كه توسط C# نوشته می گردند خواناتر، كوتاه و زيبا خواهند بود. برخی از ويژگی های ارائه شده در C# نظير Unsigned Integer، Operator OverLoading و امنيت بيشتر Type ها، در VB.NET وجود نداشته و اين امر می تواند دليلی بر فراگيرتر شدن C# نسبت به VB.NET نزد برنامه نويسان با تجربه باشد.
برای يادگيری هر يك از زبانهای حمايت شده در دات نت، می بايست از BCL (Basic Class Library) مربوط به.NET Framework شروع كرد. C# خود صرفاً دارای ۷۷ کلمه کليدی يا Keyword بوده كه برای اكثر برنامه نويسان ناآشنا نخواهند بود. در مقابل BCL، دارای ۴۵۰۰ كلاس و تعداد بيشماری متد و Property است كه برنامه نويسان C# ، می توانند از آنها برای انجام عمليات دلخواه خود استفاده نمايند. شايد يكی از مسائل قابل توجه جهت يادگيری اين زبان برای برخی از برنامه نويسان حرفه ای عدم وجود برخی از ويژگی ها و امكاناتی باشد كه در گذشته و از طريق ساير زبانهای استفاده شده، بخدمت گرفته می شدند. مثلا عدم وجود امكاناتی جهت توارث چندگانه (MI) سلسله مراتبی يك شئ.
3-2-1 مفاهيم شیء گرايی در C#
يکی از مهمترين و اصلی ترين مشکلات برای افرادی که به تازگی با محيطهای برنامه نويسی شیگرا آشنا می شوند، درک مفاهيم شيءگرائي است. در حقيقت درک مفاهيمي چون شیء و مولفه (Component) بسيار دشوار نيست، کافيست کمي به اطراف خود با دقت نگاه کنيم. ما در دنيايي از اشياء مختلف زندگی ميکنيم. تلويزيون، راديو در و پنجره، همه و همه نمونه هايی از اشياء مختلفي هستند که در اطراف ما وجود دارند. اما درک و پيادهسازی اين مفهوم در يک زبان برنامهسازی اندکی متفاوت است.
3-1 شیء چيست؟
همانطور که گفتيم، با يک ديد تصويری به سادگی می توانيد اشياء مختلفی را در اطراف خود بيابيد. تمامی اين اشياء دارای سطوح و درجه پيچيدگی متفاوتی هستند. پيچيدگی آنها به شکل ظاهری و نوع رفتار آنها بستگی دارد.
در شیء گرايی به “شکل ظاهر” در اصطلاح، صفت يا Attribute و به عملی که شیء انجام می دهد، رفتار يا Behavior می گويند.
برای مثال يک صندلی را در نظر بگيريد. صندلی صفات مختلفی دارد ولی رفتار خاصی ندارد. مثلاً پايه های صندلی جزو صفات آن بشمار می روند. با کمی دقيق تر شدن می توان از اين صفات برای توصيف صندلی استفاده کرد. بعنوان مثال تعداد پايه های صندلی می تواند عددی بين 3 تا 5 باشد. محل نشستن صندلی می تواند جملهاي در وصف جنس آن و مقدار مصرف ماده سازنده آن باشد. پشتی صندلی را نيز می توان بعنوان متغييری boolean در نظر گرفت چراکه برخی از صندلی ها فاقد پشتی هستند. با استفاده از اين سه صفت ساده، به راحتی می توان صندلی را توصيف نمود و با همين سه صفت ميتوان گونههای مختلفی از صندلی را نيز توصيف کرد.
منظور از رفتار، عملی است که يک شیء انجام می دهد. از اينرو برای صندلی نمی توان به سادگی صفات آن، رفتاری را متصور شد. مثلاً ميتوانيم بگوئيم تاشو بودن صندلی يکی از رفتارهای آن می تواند باشد، چراکه عملی است كه می تواند يک صندلی آنرا انجام دهد.
حال شیء ديگری مانند تلويزيون را در نظر بگيريد. صفاتی که می توان برای تلويزيون در نظر گرفت عبارتند از: صفحه نمايش، سازنده آن و … برای تلويزيون به راحتی می توان رفتار در نظر گرفت: خاموش و روشن شدن، تغيير کانال و کم و زياد کردن صدا. اين رفتارها بر اثر درخواست يک انسان يا همان کاربر اتفاق می افتند. شیء تلويزيون را ميتوان بصورت زير نمايش داد :
بطور کلی، يک شیء را ميتوان بوسيله صفات و رفتارهای آن بطور کامل توصيف نمود. يک شیء حتماً جسمی فيزيکی نيست، بلکه هر چيز قابل تصوری است که دارای صفت و رفتار است. در حقيقت ميتوان گفت يک شیء شبيه به يک اسم است. اگر بتوان برای اين اسم، صفت و رفتاری تعريف کرد، آن وقت تبديل به شیء می شود.
از ديد انتزاعی، زمان را نيز می توان بعنوان يک شیء در نظر گرفت. صفات زمان، ساعت، دقيقه و ثانيه هستند و گذشت زمان، رفتار آن است. در ايجاد شیء هيچ محدوديتی وجود ندارد و همه چيز به تخيل شما باز ميگردد.
در زبان C#، اشياء بوسيله کلاسها (Class) نمايش داده می شوند. داخل کلاس، صفات بصورت فيلدها ظاهر می شوند و جهت پياده سازی رفتارها از متدها استفاده می گردد.

