« August 2005 | ص?حه اصلی | December 2005 »
اخلاق حر�?ه ای 2October 2, 2005 04:34 AM
در ادامه راستای مطلب اخلاق حر�?ه ای ، به صورت کاملا تصاد�?ی و در هنگام مرور یک کتاب، به مطلبی بر خوردم در خور تقدیر که واقعا از خواندن آن لذت بردم و بد ندیدم ارجاعی بدهم خوانندگان را به این مطلب خوب. این مطلب در مورد اخلاق حر�?ه ای در کامپیوتر است و قواعد اخلاقی لازم برای اعضاء ACM.
امیدوارم به زودی بتوانم ترجمه این مطلب را به صورت سریالی در وبلاگ بنویسم اما قبل از آن توصیه می کنم با مراجعه به متن اصلی به آدرس http://www.acm.org/constitution/code.html از خواندن آن لذت ببرید.
پیشنهاد می کنم درنگ نکنید و روی آدرس بالا کلیک کنید، ضرر نخواهید کرد...!
همین!
Ali Vahed | 04:34 AM | Comment(s)(2) | Trakback(1)
منابع درس مهندسي نرم افزار 1October 1, 2005 02:43 AM
یک دانشجوي گرامی در توضيحات مطلبي که پيشتر با عنوان استاد �?ول چارت در وبلاگ نوشته بودم از منابع موجود براي درس مهندسي نرم ا�?زار 1 پرسيده بود. براي پاسخگويي، بهتر ديدم در مطلبي مستقل به برخي کتابهاي موجود در اين زمينه اشاره کنم.
نکته اول :متاس�?انه در هنگام نگارش اين مطلب به سيلابس درسي وزارت علوم مشخص شده براي اين درس، دسترسي نداشتم و تنها مبنا را بر کتابهايي که مي شناسم گذاشتم.
نکته دوم: کتابهايي که به آنها اشاره مي شود ، برخي کتابهايي هستند که من با توجه به سر�?صل دروسي که براي تدريس اين درس تعيين کرده ام است�?اده مي کنم. مدرسان ديگري ممکن است با توجه به اولويتهايشان کتب ديگري را است�?اده کنند (حتي کساني را مي شناسم که از کتاب پرسمن که مرجعي است براي مهندسي نرم ا�?زار 2 به صورت کامل در تدريس اين درس است�?اده مي کنند و يا ديگراني که در اين درس صر�?ا يک متدولوژي را آموزش مي دهند.) که این صر�?ا یک ت�?اوت سلیقه است در تدریس و گرنه محتوی تقریبا برای همه یکی است.
بنابراين قبل از پرداختن به �?هرست کتابها مناسب مي دانم در مورد محتوي درس مهندسي نرم ا�?زار 1 از ديد خود توضيحاتي ارائه کنم.
درس مهندسي نرم ا�?زار 1 از چهار بخش تشکيل شده است:
بخش اول : مباني مهندسي نرم ا�?زار: شامل مروري بر تعاري�? سيستمها و �?رآيندهاي توسعه نرم ا�?زار و تعاري�? تحليل سيستمها و نيز روشها و منابع جمع آوري اطلاعات در سازمانها (اين بخش حدود يک سوم زمان ترم را به خود اختصاص مي دهد)
بخش دوم : روش تحليل و طراحي ساختيا�?ته : در اين بخش مروري بر روش تحليل و طراحي ساختيا�?ته سيستمها (SSADM:Structured System Analysis & Design) به عنوان يک نمونه از اين روشها خواهد شد.
بحش سوم : بررسي روشهاي تحليل و طراحي شيء گرا : در اين بخش پس از مروري بر م�?اهيم شيء گرايي و نيز مرور تاريخچه روشها، نگاهي مختصر به روش يکپارچه (RUP:Rational Unified Process) مي شود.
بخش چهارم : با توجه به زمان باقيمانده در صورت امکان به روشهاي تهيه پيشنهاد پروژه (Proposal) و نيز درخواست پيشنهاد براي پروژه (RFP) پرداخته مي شود.
اما کتب مورد است�?اده �?ارسي:
در اين زمينه کتابهاي زيادي به �?ارسي منتشر شده است که به برخي از آنها اشاره مي شود:
1- مهندس صادقي، ايرج، "تجزيه و تحليل و طراحي سيستمها" ، نشر آتيه، 1377
کتابي که م�?اهيم پايه و مبنا را به خوبي پوشش داده است.
2- مهندس صادقي، ايرج، "مهندسي نرم ا�?زار 1و2" , نشر گسترش علوم پايه، 1381
آقاي مهندس صادقي در اين دو جلد کتاب ديگر با محور قراردادن موضوعات درسي اين دو درس مطالب متنوعي را پوشش داده اند.
3- ذاکري، بتول، "روشهاي ساختيا�?ته تجزيه و تحليل و طراحي سيستمهاي اطلاعاتي" ، سازمان مديريت صنعتي، 77
اين کتاب، کتاب محبوب خيلي از استادان در تدريس اين درس است که به شکل خوبي م�?اهيم پايه و نيز م�?اهيم عمومي روشهاي ساختيا�?ته را پوشش داده است.
4- شرکت �?رگوسن و سازمان مديريت صنعتي، "متدولوژي توسعه سيستمهاي اطلاعاتي"، سازمان مديريت صنعتي، 75
در اين کتاب با اين وجود که صر�?ا به روشهاي ساختيا�?ته توجه شده است اما به دليل آوردن �?رمها و قالب هاي استاندارد در تهيه گزارشات مي توان به عنوان منبع خوبي مورد است�?اده قرار گيرد.
5-دکتر پارسا، سعيد، "تحليل و طراحي سيستمها (UML-SSADM) در مهندسي نرم ا�?زار" ، جلد اول، دانشگاه علم و صنعت، چاپ ششم 1382
دراين کتاب دامنه متنوعي از موضوعات درس شامل روشهاي ساختيا�?ته و شيء گرا پوشش داده شده است. هر چند ضمن توجه خاص به روشهاي ساختيا�?ته، مباني تحليل و طراحي به شکل مختصري ارائه شده است.
6-هوريس کيوويچ، ايگور ترجمه مهندس عين ا... جع�?رنژاد قمي، "تحليل و طراحي سيستمها"، نشر علوم رايانه، ويرايش پنجم ، 1382
در اين ترجمه �?ارسي از اين کتاب معر�? ، به مطالب درس به شکل خوبي پرداخته شده است. کتاب اصلي به زبان انگليسي از پر است�?اده ترين کتابها در تدريس دوره هاي مشابه در دانشگاه هاي مختل�? دنيا مي باشد.
7- ويور، �?ليپ ، ترجمه همکاران سيستم، "روش تحليل و طراحي ساختيا�?ته SSADM" جلد 1و 2 ، نشر ويدا ، 1377
اين کتاب براي تدريس بخش دوم درس بيشتر مورد توجه است. در اين کتاب کل روش SSADM به همراه يک مورد کاربري و به شکل ساختيا�?ته ارائه شده است.
8-روحاني رانکوهي، سيد محمد تقي و اميري، يوس�?، "ساخت نرم ا�?زار شيء گرا"، انتشارات جلوه ، 1378
اين کتاب هر چند در زمينه ديگري نوشته شده است اما �?صول ابتدايي آن براي پرداختن به م�?اهيم شيء گرايي (OOC:Object Oriented Concepts) بسيار خوب است.
و کتب انگليسي:
از بين ده ها کتاب منتشر شده در اين زمينه مي توان به موارد زير اشاره کرد:
9-
Hawryszkiewycz, I. (2001) Introduction to Systems Analysis and Design, 5th Ed., French’s Forest, NSW: Prentice Hall.
10-
Kendall, K.E. and Kendall, J.E. (2002) Systems Analysis and Design, 5th. Ed., Upper Saddle River, New Jersey: Prentice-Hall.
11-
Shelly,G., Cashman, T., and Rosenblatt, H. (2002) Systems Analysis and Design, 5th Ed., Boston, MA.: Thomson Learning.
12-
Whitten, JL, Bentley, LD & Dittman, KC 2001, Systems analysis and design methods, 5th edn, Irwin/McGraw-Hill, Boston, Massachusetts.
13-
Jacobson, Ivar, Booch Grady & Rumbaugh James,(1999) The Unified Software Development Process, Addison-wesley
14-
PressmaN Roger,(1997) , Software Engineering, Mc Graw Hill
کتاب اول چنانچه در بخش کتاب هاي �?ارسي اشاره شد، کتاب بسيار خوبي است در اين زمينه که به همه مطالب به شکل مناسب اشاره شده است.
کتاب دوم به شيوه اي جالب و خواندني م�?اهيم بسيار زيادي را در اين زمينه ارائه نموده است. از نکات جالب اين کتاب آوردن کاريکاتور هاي مرتبط با هر بخش مي باشد که خواننده را به خواندن متن کتاب ترغيب مي کند.
کتاب سوم نيز از جمله کتابهاي پرطر�?دار در زمينه تجزيه و تحليل سيستمها است.
نکته جالب توجه در مورد کتاب چهارم ، شيوه ارائه م�?اهيم مي باشد. در اين کتاب کليه �?رآيندها و �?عاليتهاي مرتبط با تحليل و طراحي سيستمها، ا�?راد مرتبط و محصولات هر بخش را در يک نمودار عمومي ترسيم کرده است و بخش به بخش آنها را توضيح مي دهد.
در کتاب پنجم از �?هرست کتب انگليسي روش يکپارچه، معرو�? ترين و کاملترين روش تجزيه و تحليل شيء گرا ، معر�?ي و به آن اشاره شده است.
کتاب آخر با وجوديکه مي تواند به عنوان مرجعي براي درس مهندسي نرم ا�?زار 2 تلقي شود اما مي توان بخشهايي از آن را به صورت خلاصه و مقدماتي در درس مهندسي نرم ا�?زار 1 (بويژه در بخش هاي مديريت پروژه) بکار برد.
توصيه شخصي من:
از بين کتب �?وق شخصا کتاب آقاي هوريس کيوويچ (شماره 6 و يا 9) و نيز کتاب آقايان کندال، کندال (مورد شماره 10) را به عنوان کتابهايي که به صورت عمومي و بدون توجه ويژه به يک متدولوژي خاص اشاره دارد بيشتر مي پسندم و براي آشنايي با روش ساختيا�?ته SSADM کتاب آقاي ويور (مورد 7) و براي روش شيء گراي RUP کتاب سه ت�?نگدار شيء گرايي! ( کتاب شماره 13) را توصيه مي کنم.
نکته مهم 1: نگارش کتب و سال انتشار لزوما آخرين نسخه نيست. بلکه آني است که در اختيارم بود. برخي کتابها (علي الخصوص کتابهاي لاتين �?هرست) در نگارش هاي جديدتر نیز منتشر شده اند.
نکته مهم 2: اين تنها منابعي است که به صورت کتاب هاي اختصاصي منتشر شده اند و يا ارتباط زيادي با موضوع درس دارند. در مورد بسياري از مطالب رجوع به مقاله هاي خوب و نيز کتب ديگر در زمينه هاي نرم ا�?زار، �?نآوري اطلاعات، طراحي پايگاه داده و ... ضروري است.
نکته مهم 3: برخلا�? تصور رايج در برخي دانشگاه ها، درس مهندسي نرم ا�?زار1و 2 را دروس ح�?ظي نمي دانم. بلکه دروسي مي دانم که همزمان با بيان مطالب علمي و آکادميک، بايستي مثال ها و موارد کاربري را از دنياي واقع ذکر نمود و با انجام کار عملي (يک پروژه تحليل سيستم در يک سازمان دولتي و يا خصوصي ) دانشجويان را عملا با اين م�?اهيم آشنا نمود.
نکته مهم 4: اگر نتوانستيد با اين درس رابطه برقرار کنيد و از آن خوشتان نيامد و يا نمره کم گر�?تيد اصلا نگران نباشيد! قرار نيست همه مهندسين نرم ا�?زار تحليل گر بشوند!
همين!