دسته : -علوم انسانی
فرمت فایل : word
حجم فایل : 1721 KB
تعداد صفحات : 44
بازدیدها : 234
برچسبها : پروژه تحقیق مبانی نظری
مبلغ : 4500 تومان
خرید این فایلپروژه طراحی سیستم ارزیابی مناقصه كنندگان در طرحهای عمرانی در 44 صفحه ورد قابل ویرایش
چکیده. 3
فهرست.. 4
پیشگفتار. 6
تعاریف... 7
مقدمه. 8
Tender. 8
مناقصه کننده (Bidder) 8
Proposal. 8
Proposal Evaluation. 8
Selection of Main Contractor. 8
Criteria. 8
Vendor. 8
تحلیل برنامه ارزیابی.. 9
مقدمه. 10
تعریف سیستم. 10
اهداف... 10
مخاطبین.. 10
سرویس های اصلی.. 11
امتیاز دهی.. 11
گزارش گیری.. 11
معماری سایت.. 12
واسط کاربر. 12
پایگاه داده. 12
پردازش ها 12
طراحی.. 13
مقدمه. 14
DFD سطح صفر. 14
DFD سطح یک.. 14
پیاده سازی.. 17
دیاگرام. 18
کد ایجاد Stored Procedure. 18
کد ایجاد Trigger. 20
نقشه سایت.. 24
فرم های واسط کاربر. 24
گزارش نهایی.. 41
شرکت ملی فولاد ایران در سال 1386 به منظور ساخت کارخانه احیا مستقیم فولاد با ظرفیت 800 هزار تن و واحد انباشت و برداشت با ظرفیت انباشت و برداشت 1.500.000 تن در سال ، در شرکت فولاد آذربایجان در نزدیکی شهر میانه ، استان آذربایجان غربی ایران ، اقدام به برگزاری مناقصه برای انتخاب پیمانکار شایسته این پروژه نموده است. بمنظور بررسی و ارزیابی دقیق پیشنهادات شرکت کنندگان در مناقصه و در نهایت انتخاب بهترین پیشنهاد جهت اجرای طرح شرکت مهندسین مشاور پولاد بعنوان مشاور جهت بررسی انتخاب شده است.
شرکت مذکور جهت استفاده از امکانات جدید مکانیزه کردن سیستم قبلی خود و تسریع بخشیدن به امر ارزیابی و هم چنین دستیابی به قابلیت پاسخگویی سریع پیشنهاد طراحی و برنامه نویسی "سیستم ارزیابی مدارک مناقصه را طرح کرد که مراحل طراحی و ساخت سیستم که به عنوان پروژه شرکت و سپس به عنوان پروژه کارشناسی اینجانب مطرح شده و در این مدرک گردآوری شده است.
در سیستم امتیازدهی یک سری اصطلاحات فنی به شرح زیر موجود است که در ذیل توضیح مختصری جهت هر یک ارائه می گردد:
در ابتدای کار شرکت برگزار کننده مناقصه یک مدرک شامل حداقل نیاز های مربوط به طرح مورد مناقصه را با ذکر یک سری استانداردهای موجود یا طرح های انجام شده قبلی جمع آوری می کند. این مدرک هم چنین شامل اطلاعاتی است که از نظر کارشناسان فنی شرکت برگزارکننده مناقصه باید توسط مناقصه کنندگان پر شود.
کنسرسیومی که پس از احراز صلاحیت خود موظف است Tender را خریداری نموده و مطابق مطالب خواسته شده مشخصات طرح را تعریف کند.
مدرک ارائه شده توسط مناقصه کننده که شامل معرفی خود ، تجربیات و طرح های گذشته و کلیه مشخصات پیشنهادی جهت طرح فعلی است.
عملی که طی آن مدارک ارائه شده بررسی و امتیاز دهی می شود و در نهایت در پاکت فنی مربوط به مناقصه مورد نظر به ترتیب امتیاز هریک از کنسرسیوم های مورد بررسی به مرجع اعلام نتایج ارائه می گردد.
پس از بازشدن پاکت مالی ارائه شده توسط کنسرسیوم ها و پاکت فنی ارائه شده توسط برگزار دهنده و امتیاز دهنده مناقصه، برنده مناقصه اعلام می گردد
موضوعاتی که مورد ارزیابی قرار می گیرند و خود به موضوعات ریزتر نیز تقسیم بندی می شوند و بدین ترتیب سطوح (Level) های ارزیابی را می سازند.
اصطلاحا به کارخانه فروشنده و صاحب تکنولوژی تجهیزات کلی طرح گفته می شود که نقش مهمی در ارزش طرح کلی بازی می کند.
در فصل قبل به توضیح چگونگی روند کلی شرکت و برنده شدن در مناقصه پرداخته شد. در این فصل به توضیح سیاست کلی و روند برنامه و چگونگی عمل امتیاز دهی شده است.
سیستم ارزیابی به منظور تعیین امتیاز شرکت کنندگان در مناقصه و پاسخ گویی به شکایات احتمالی تنظیم و تهیه شده است.
بمنظور اجرای صحیح ارزیابی فنی عمومی پیشنهادات و مقایسه دقیق پیشنهادهای مربوط به کنسرسیوم های شرکت کننده اقدام به تشکیل گروه های کاری در بخش های مدیریت پروژه، پروسس و ماشین آلات، تاسیسات مکانیکی، برق و ابزار دقیق، ساختمان، صنایع و کنترل پروژه، امور قراردادی، ترجمه و تدوین، منشیگری و اداری نمود. مدیریت پروژه جهت همسان سازی ارزیابی ها معیارهای ارزیابی اسناد را ابلاغ کرد که به صورت ده سرفصل در سطح 1 تعیین و سطوح 2 و 3 نیز وارد جداول ارزیابی شدند .
جداول سطح 4 بر اساس نظرات کارشناسان تهیه و بارم بندی شده و نتایج آن درجداول سطح 2 و 3 وارد گردیده و به این ترتیب ارزیابی صورت پذیرفت
کارشناسان بررسی کننده مدارک (مشاور)
ناظرین از طرف شرکت کنندگان در مناقصه (پیمانکار آتی)
مرجع ناظر و اعلام کننده امتیاز نهایی (کارفرما)
سرعت دقت و قابلیت اطمینان در امتیاز دهی و قابلیت استناد به مدارک
این بخش که معمولا بین 30 تا 35 درصد امتیاز کل پروژه را در بر می گیرد در مورد هر آیتم با توجه به لیستی که کنسرسیوم مربوطه اعلام کرده است که شامل نام کارخانه و کشور آن است در بخش امتیاز دهی ثبت می شود و پس از آن در مرحله محاسبه امتیاز از کمترین 3 عدد بدست آمده از حاصلضرب عدد امتیاز Vendor در امتیاز کشور میانگین گرفته شده و به عنوان امتیاز آن آیتم محسوب می شودو
در مورد هر آیتم با توجه به مقادیری که در جدول پشتیبان آمده است و توسط کنسرسیوم اعلام شده است با توجه به نظر کارشناس مربوطه امتیاز ثبت می شود.
امتیازات ثبت شده همگی در آخرین سطح تعیین شده توسط کارشناس ثبت شده است و در مرحله جمع بندی و گزارش گیری نهایی امتیاز هر آیتم در ارزش وزنی آیتم ضرب شده و و مجموع آن به عنوان امتیاز آیتم سطح بالاتر آن در نظر گرفته می شود و بدین ترتیب این روند تا سطح یک ادامه می یابد و امتیاز نهایی کنسرسیوم تعیین می گردد.
لازم به ذکر است که گزارش به گونه طراحی شده است که با کلیک روی امتیازات سطح بالاتر صفحه امتیازاتی باز می شود که حاصل جمع آن ها به صورت آن امتیاز محاسبه شده و بدین صورت می توان به راحتی نیاز امکان پاسخ دهی به چگونگی محاسبه امتیاز را جوابگو بود.
به عنوان مثال در مورد Vendor در آخرین سطح شخص ناظر می تواند لیست پیشنهادی کنسرسیوم شامل نام کارخانه و کشور و امتیاز حاصلضرب و میانگین را مشاهده کند.
معماری اعمال شده در برنامه Visio و با توجه به استاندارد های طراحی تعیین شده است.
فرم ها توسط برنامه Visual Basic.net 2005 نوشته شده است که کد مربوطه در فصول آتی ارائه می شود.
پایگاه داده ها در Sql server 2005 تهیه شد که شامل جداول و Viewها و Stored Procedure ها و Triggerهایی که از دو نوع نوشته شده در Sql Server و در SQL Server Business Intelligence Development Studio تنظیم شده می باشد.
گزارش ها توسط Reporting Service برنامه Sql Server تنظیم شده است.
جهت انجام امر امتیاز دهی صحیح دو Trigger که در صورت تغییرهر رکوردی در دو جدول Country و Evaluation بلافاصله اجرا می گردد، طراحی شد:
به علت آنکه در امتیاز دهی کارخانه صاحب تکنولوژی، شرکت کننده در مناقصه مختار است لیستی از کارخانه ها و کشور های مورد نظر خود را معرفی کند و در زمان ورود اطلاعات نیز تمامی لیست وارد جدول Evaluation می شود جهت امتیاز دهی لازم است مبنایی برای دادن امتیاز به آن آیتم در نظر گرفته شود.
پس از بررسی جوانب مختلف کارشناسان فنی مبنا را به صورت زیر اعلام کردند:
"امتیاز به صورت امتیازمیانگین 3 عدد کمینه حاصلضرب امتیاز کارخانه در امتیاز کشور محاسبه خواهد شد"
بدین سبب در هنگام تغییر هر رکورد که شامل سه تغییر Insert, Update , Delete می شود کد آیتم و کنسرسیوم از رکورد مورد تغییر گرفته شده و در جدول Evaluation تمامی موارد مشترک در این دو آیتم Select شده و میانگین 3 عدد کمترین حاصلضرب امتیاز کارخانه در امتیاز کشور گرفته شده و در جدول Weight ثبت می شود. (اگر آیتم موجود نباشد Insert اگر موجود باشد Update و در صورت اینکه تغییر سطر موجب حذف امتیاز شده باشد Delete صورت می پذیرد)
Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports System.Data.SqlTypes
Imports Microsoft.SqlServer.Server
Partial Public Class Triggers
' Enter existing table or view for the target and uncomment the attribute line
<Microsoft.SqlServer.Server.SqlTrigger(Name:="tblweightTrigger", Target:="Evaluation", Event:="FOR UPDATE, INSERT, DELETE")> _
Public Shared Sub tblweightTrigger()
' Replace with your own code
Dim i As Integer = 0
Dim sqlCn As New SqlConnection("Context Connection=true")
Dim sqlCm As New SqlCommand
Dim sqlTrCtx As SqlTriggerContext = SqlContext.TriggerContext
Dim spPipe As SqlPipe = SqlContext.Pipe
Dim sXml As SqlXml = sqlTrCtx.EventData()
Dim sqlDr, dr, drin As SqlDataReader
If sqlTrCtx.TriggerAction = TriggerAction.Delete Then
sqlCm.CommandText = "select tenderer,criteria from deleted"
Else
sqlCm.CommandText = "select tenderer,criteria from inserted"
End If
sqlCm.Connection = sqlCn
sqlCn.Open()
sqlDr = sqlCm.ExecuteReader
Dim criteria, tenderer As String
sqlDr.Read()
criteria = sqlDr.GetValue(1).ToString
tenderer = sqlDr.GetValue(0).ToString
sqlDr.Close()
sqlCm.CommandText = "select top(3) weightcountry*vendorweight from evaluationview where tenderer='" & tenderer & "' and criteriaid = '" & criteria & "' and weightcountry*vendorweight<>0 order by weightcountry*vendorweight"
dr = sqlCm.ExecuteReader
Dim av As Single = 0
Dim count As Integer = 0
For i = 0 To 2
If dr.Read() Then
av += CType(dr.GetValue(0), Single)
count += 1
End If
Next
av = av / count
dr.Close()
If count <> 0 Then
sqlCm.CommandText = "select * from weight where tenderer='" & tenderer & "' and criteriaid = '" & criteria & "'"
drin = sqlCm.ExecuteReader
If drin.Read Then
sqlCm.CommandText = "update weight set weight=" & av & " where tenderer='" & tenderer & "' and criteriaid = '" & criteria & "'"
Else
sqlCm.CommandText = "insert into weight(criteriaid,tenderer,weight) values('" & criteria & "','" & tenderer & "'," & av & ")"
End If
drin.Close()
sqlCm.ExecuteNonQuery()
Else
sqlCm.CommandText = "delete from weight where tenderer='" & tenderer & "' and criteriaid = '" & criteria & "'"
sqlCm.ExecuteNonQuery()
End If
sqlCn.Close()
End Sub
End Class
در مواردی این امکان وجود داشت که امتیاز کشوری تغییر کند به سبب آنکه کلیه سطوری که شامل امتیاز آن کشور هستند به صورت دستی مورد بررسی قرار نگیرند Trigger زیر نوشته شد که در آن این کار به صورت اتوماتیک در هنگام تغییر امتیاز کشور در کلیه سطور حاوی کد کشور مربوطه در جدول Evaluation صورت می پذیرد.
Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports System.Data.SqlTypes
Imports Microsoft.SqlServer.Server
Partial Public Class Triggers
' Enter existing table or view for the target and uncomment the attribute line
<Microsoft.SqlServer.Server.SqlTrigger(Name:="tblCountryTrigger", Target:="Countries", Event:="FOR UPDATE")> _
Public Shared Sub tblCountryTrigger()
' Replace with your own code
Dim sqlCn As New SqlConnection("Context Connection=true")
Dim sqlCm As New SqlCommand
Dim sqlTrCtx As SqlTriggerContext = SqlContext.TriggerContext
Dim spPipe As SqlPipe = SqlContext.Pipe
Dim sXml As SqlXml = sqlTrCtx.EventData()
sqlCm.CommandText = "select * from inserted"
Dim sqlDr As SqlDataReader
sqlCm.Connection = sqlCn
sqlCn.Open()
sqlDr = sqlCm.ExecuteReader
Dim id, eval(10000) As String
Dim i As Integer = -1
sqlDr.Read()
id = sqlDr.GetValue(0).ToString
sqlDr.Close()
sqlCm.CommandText = "select evaluationid from Evaluation where country='" & id & "'"
sqlDr = sqlCm.ExecuteReader
While sqlDr.Read
i += 1
eval(i) = sqlDr.GetValue(0).ToString
End While
sqlDr.Close()
If i <> -1 Then
For j As Integer = 0 To i
sqlCm.CommandText = "update Evaluation set country='" & id & "' where evaluationid='" & eval(j) & "'"
sqlCm.ExecuteNonQuery()
Next
End If
End Sub
End Class