ثانیا : طریقة التطویر الارتقائي :
ویمكن توضیحھا بالشكل التالي :
عملیة التطویر في ھذه الطریقة تبدا من المستثمر الذي یقوم بوضع الخطوط العریضة للنظ ام وم ن ثم تق وم الش ركة بعملی ة التحلی ل
للنظام الحالي سواء اكان ی دوي ام ال ي حت ى تص ل ال ى مواص فات النظ ام الجدی د وتح دد المتطلب ات والقی ود النظ ام وبالت الي نحص ل
على نسخة اولیة للنظام وق د یك ون النظ ام الق دیم ھ و النس خة الاولی ة للنظ ام الجدی د ف ي ھ ذه الطریقةوبع د ذل ك یمكنن ا ان ننتق ل ال ى
التطویر Developmentفتصبح لدینا نسخة نسمیھا بالوسیطة ومن ثم الاختبار للنظام والاختبار ھو اختبار للش روط الموض وعة
في النظام اي ھ ل ی ؤدي الوظ ائف والاغراض المح ددة ل ھ مس بقا ف ان ك ان نع م فننتق ل ال ى النس خة النھائی ة والا فنع ود ال ى مرحل ة
التطویر وبالتالي تصبح لدینا نسخة وسیطة اخرى فلذلك سمیناھا نسخ وسیطة اي قد تكون اكثر من نسخة ومن ثم نعود الى مرحلة
الاختبار مرة اخرى وھكذا حتى یتم وضع النسخة النھائیة للنظام .
والمسؤل عن عملیة الانتقال من مرحلة الاختبار الى الوسیطة او النھائیة ھو رئیس الفریق في التظویر .
ومن مزایا ھذه الطریقة الانتقال من مرحلة الى اخرى دون تخوف او اي خسارة لفریق العمل لان النسخة النھائیة ھ ي الت ي س وف
تسلم للمستثمر او طالب النظام.
ثالثا : الطریقة التزایدیةIncremental Development:
:Define Requirements .1تحدید متطلبات جدیدة على نظام قدیم قائم.
:Design System Increment .2تصمیم النظام الجدید )وفق خطوات ھندسة البرمجیات.(
:Assign Requirements to Increment .3تخصیص تلك المتطلبات على النظام الجدید )على الانظم ة الفرعی ة
التي تم اضافتھا في مرحلة التصمیم.(
:Develop System Increment .4تطویر ما تم اضافتھ في النظام القدیم )كتابة الكود البرمجي.(
:Test Increment .5اختبار تلك الزیادة في النظام.
:Integrate System Increment .6تجمیع النظام لوضع نظام كلي متكامل.
:Validate System .7اختبار النظام الكلي
:Final System .8انتاج النظام النھائي.
نلاحظ في الطریقة السابقة انھا تتمیز باننا نقوم بتطویر نظام واض افة وض ائف او متطلب ات علی ھ وبالت الي ف أن ك ل مرحل ة ی تم فیھ ا
اضافة شيء جدید وعند الوصول الى المرحة السابعة وھي اختبار النظام فاننا نقوم باختبار النظام فان كان النظ ام مك تملا وق د حق ق
كل الشروط التي وضعت لھ وخالي من الاخطاء فاننا نق وم بوض ع النس خة النھائی ة للنظ ام، ام ا ان ك ان ھن اك أي نق ص او خل ل بع د
اختبار النظام فانھ یمكننا ان نعود الى المرحلة الرابعة وھي تطویر النظام من اجل معالجة تلك الاخطاء ونستمر ھكذا حتى نص ل ال ى
النسخة النھائیة.
الواجب السادس و السابع : رسم الدوال المثلثیة او أي معادلة اخرى
على سبیل المثال المعادلة التالیةY=X
ویمكن توضیحھا بالشكل التالي :
عملیة التطویر في ھذه الطریقة تبدا من المستثمر الذي یقوم بوضع الخطوط العریضة للنظ ام وم ن ثم تق وم الش ركة بعملی ة التحلی ل
للنظام الحالي سواء اكان ی دوي ام ال ي حت ى تص ل ال ى مواص فات النظ ام الجدی د وتح دد المتطلب ات والقی ود النظ ام وبالت الي نحص ل
على نسخة اولیة للنظام وق د یك ون النظ ام الق دیم ھ و النس خة الاولی ة للنظ ام الجدی د ف ي ھ ذه الطریقةوبع د ذل ك یمكنن ا ان ننتق ل ال ى
التطویر Developmentفتصبح لدینا نسخة نسمیھا بالوسیطة ومن ثم الاختبار للنظام والاختبار ھو اختبار للش روط الموض وعة
في النظام اي ھ ل ی ؤدي الوظ ائف والاغراض المح ددة ل ھ مس بقا ف ان ك ان نع م فننتق ل ال ى النس خة النھائی ة والا فنع ود ال ى مرحل ة
التطویر وبالتالي تصبح لدینا نسخة وسیطة اخرى فلذلك سمیناھا نسخ وسیطة اي قد تكون اكثر من نسخة ومن ثم نعود الى مرحلة
الاختبار مرة اخرى وھكذا حتى یتم وضع النسخة النھائیة للنظام .
والمسؤل عن عملیة الانتقال من مرحلة الاختبار الى الوسیطة او النھائیة ھو رئیس الفریق في التظویر .
ومن مزایا ھذه الطریقة الانتقال من مرحلة الى اخرى دون تخوف او اي خسارة لفریق العمل لان النسخة النھائیة ھ ي الت ي س وف
تسلم للمستثمر او طالب النظام.
ثالثا : الطریقة التزایدیةIncremental Development:
:Define Requirements .1تحدید متطلبات جدیدة على نظام قدیم قائم.
:Design System Increment .2تصمیم النظام الجدید )وفق خطوات ھندسة البرمجیات.(
:Assign Requirements to Increment .3تخصیص تلك المتطلبات على النظام الجدید )على الانظم ة الفرعی ة
التي تم اضافتھا في مرحلة التصمیم.(
:Develop System Increment .4تطویر ما تم اضافتھ في النظام القدیم )كتابة الكود البرمجي.(
:Test Increment .5اختبار تلك الزیادة في النظام.
:Integrate System Increment .6تجمیع النظام لوضع نظام كلي متكامل.
:Validate System .7اختبار النظام الكلي
:Final System .8انتاج النظام النھائي.
نلاحظ في الطریقة السابقة انھا تتمیز باننا نقوم بتطویر نظام واض افة وض ائف او متطلب ات علی ھ وبالت الي ف أن ك ل مرحل ة ی تم فیھ ا
اضافة شيء جدید وعند الوصول الى المرحة السابعة وھي اختبار النظام فاننا نقوم باختبار النظام فان كان النظ ام مك تملا وق د حق ق
كل الشروط التي وضعت لھ وخالي من الاخطاء فاننا نق وم بوض ع النس خة النھائی ة للنظ ام، ام ا ان ك ان ھن اك أي نق ص او خل ل بع د
اختبار النظام فانھ یمكننا ان نعود الى المرحلة الرابعة وھي تطویر النظام من اجل معالجة تلك الاخطاء ونستمر ھكذا حتى نص ل ال ى
النسخة النھائیة.
الواجب السادس و السابع : رسم الدوال المثلثیة او أي معادلة اخرى
على سبیل المثال المعادلة التالیةY=X
Imports System.Drawing.PrintingImports System.Drawing.Drawing2DPublic Class Form1Dim p1 As Integer = 0Dim p2 As Integer = 0Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesTimer1.TickDim gr As Graphics = Me.CreateGraphicsDim toDegree As Single = -22 / 7 / 180
gr.ScaleTransform(0.5, 0.5)If p1 < 820 Thengr.DrawEllipse(Pens.Black, 100, p1, 1, 1)
gr.DrawEllipse(Pens.Black, p1, 200, 1, 1)End Ifp1 += 1If p1 < 720 Then
If ListBox1.SelectedIndex = 0 Thengr.DrawEllipse(Pens.Red, p1 + 100, CInt(Math.Sin(p1 * toDegree) * 100 + 200), 1, 1)ElseIf ListBox1.SelectedIndex = 1 Thengr.DrawEllipse(Pens.Red, p1 + 100, CInt(Math.Cos(p1 * toDegree) * 100 + 200), 1, 1)ElseIf ListBox1.SelectedIndex = 2 Thengr.DrawEllipse(Pens.Red, p1 + 100, CInt(Math.Tan(p1 * toDegree) * 100 + 200), 1, 1)ElseIf ListBox1.SelectedIndex = 3 Thengr.DrawEllipse(Pens.Red, p1 + 100, CInt(1 / Math.Tan(p1 * toDegree) * 100 + 200),
1, 1)ElseIf ListBox1.SelectedIndex = 4 Then
For Each l As Control In ControlsIf TypeOf l Is Label Then l.Visible = False
Nextgr.DrawEllipse(Pens.Red, p1 + 100, CInt(-p1 ^ 2 * 0.05 + 200), 1, 1)
p2 -= 1
gr.DrawEllipse(Pens.Red, p2 + 100, CInt(-p1 ^ 2 * 0.05 + 200), 1, 1)End If
End If
End Sub
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles ListBox1.SelectedIndexChanged
p2 = 0
p1 = 0Me.Refresh()
Timer1.Enabled = True
For Each l As Control In ControlsIf TypeOf l Is Label Then l.Visible = True
Nextputlabels()End Sub
Private Sub putlabels()
l1.Location = New Point(55, 120)
l1.Text = 0
l2.Location = New Point(90, 120)
l2.Text = 90
l3.Location = New Point(128, 120)
l3.Text = 180
l4.Location = New Point(170, 120)
l4.Text = 270
l5.Location = New Point(225, 120)
l5.Text = 360End Sub
End Class
gr.ScaleTransform(0.5, 0.5)If p1 < 820 Thengr.DrawEllipse(Pens.Black, 100, p1, 1, 1)
gr.DrawEllipse(Pens.Black, p1, 200, 1, 1)End Ifp1 += 1If p1 < 720 Then
If ListBox1.SelectedIndex = 0 Thengr.DrawEllipse(Pens.Red, p1 + 100, CInt(Math.Sin(p1 * toDegree) * 100 + 200), 1, 1)ElseIf ListBox1.SelectedIndex = 1 Thengr.DrawEllipse(Pens.Red, p1 + 100, CInt(Math.Cos(p1 * toDegree) * 100 + 200), 1, 1)ElseIf ListBox1.SelectedIndex = 2 Thengr.DrawEllipse(Pens.Red, p1 + 100, CInt(Math.Tan(p1 * toDegree) * 100 + 200), 1, 1)ElseIf ListBox1.SelectedIndex = 3 Thengr.DrawEllipse(Pens.Red, p1 + 100, CInt(1 / Math.Tan(p1 * toDegree) * 100 + 200),
1, 1)ElseIf ListBox1.SelectedIndex = 4 Then
For Each l As Control In ControlsIf TypeOf l Is Label Then l.Visible = False
Nextgr.DrawEllipse(Pens.Red, p1 + 100, CInt(-p1 ^ 2 * 0.05 + 200), 1, 1)
p2 -= 1
gr.DrawEllipse(Pens.Red, p2 + 100, CInt(-p1 ^ 2 * 0.05 + 200), 1, 1)End If
End If
End Sub
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles ListBox1.SelectedIndexChanged
p2 = 0
p1 = 0Me.Refresh()
Timer1.Enabled = True
For Each l As Control In ControlsIf TypeOf l Is Label Then l.Visible = True
Nextputlabels()End Sub
Private Sub putlabels()
l1.Location = New Point(55, 120)
l1.Text = 0
l2.Location = New Point(90, 120)
l2.Text = 90
l3.Location = New Point(128, 120)
l3.Text = 180
l4.Location = New Point(170, 120)
l4.Text = 270
l5.Location = New Point(225, 120)
l5.Text = 360End Sub
End Class