SOFTWARE ENGINEERING
SOFTWARE ENGINEERING (SE)ھندسة البرامجیات
مقدمة عن ھندسة البرمجیات :
في الاربعینات والخمسینات ظھرت ما یسمى البرمجیات او Softwareومع التدرج بدأت تظھر الانظمة التي تقوم بترتیب وتنظ یم
اعمال الالة لیلبي احتیاجات المستخدم والمقصود بھا ھي انظمة التشغیل ، حی ث ك ان الانس ان ـ إن ص ح الق ول ـ إذا اراد ان یس تخدم
أي نظام فكان یجب علیھ أن یخاطب كل جزء ولیس كم ا ھ و الی وم حی ث اص بح الی وم المس تخدم یتعام ل م ع الب رامج ذات المس توى
. High Level Language العالي
ومع تطور الحواسیب بدأت تظھر لغات البرمجة المختلفة وانظمة التشغیل البسیطة واستمر ھ ذا التط ور ف ي وتی رة متس ارعة حت ى
وص لنا إل ى أن ظھ رت مش كلة جدی دة وھ ي م ا نس میھ ازم ة البرامجی ات ) (Software Crisisوھ ي انخف اض س عر المع دات
Hardwareمقابل ارتفاع البرامجیات بل قد یصل الحال إلى أن یصیر سعر البرامجیات اكبر من سعر المعدات .
ومن الاسباب التي ادت إلى ارتفاع سعر ألـ Softwareوبالتالي ضھور ھذه الازمة التالي :
-1الاحتفاض بالحقوق الفكریة للبرامج قبل المبرمجین أو الشركات العاملة في ھذا المجال .
-2السعر المرتفع الذي یضعھ المبرمج لنفسھ .
-3الكم الھائل من البرامجیات الموجودة في سوق العمل والتي لا یحكمھا قانون .
-4عدم وجود مھندسي البرامجیات ) (Software Engineerأو ندرتھم في سوق العمل .
: Software Engineer مواصفات ألـ
( أو أي تخص صComputer Sciences ,Information Technology )- ش ھادة متخصص ة ف ي مج ال الحاس وب1
حاسوبي .
-2خبرة لا تقل عن سنة في مجال التخصص)انشاء وتصمیم الانظمة الحاسوبیة .(
-3التحدیث المستمر لمعلوماتك والمتابعة الدائمة لكل جدید .
الفرق بین ألـ
لعلنا ذكرنا سابقا البرامجیات و ألـ Softwareبدون أي تمییز الا أن ھناك فرق رئیسي وھو أن ألـ Softwareھي برامج
جاھزة للاستخدام وموثقة والاعتمادیة فیھا تكون عالیة ، أما بالنسبة للبرامجیات فھي برامج تكون معدة من المبرمج ولكنھ ا لیس ت
نھائیة أي انھا برامج مبدئیة ویكون الھدف فیھا ھ و المب رمج ) لا یس تطیع التعام ل معھ ا الا المن تج لھ ا ( ، م ع العل م ان مرحل ة أل ـ
Computers Programsاو البرامجیات تكون مرحلیة ومن ثم تتحول الى Softwareفور الانتھاء منھا .
ویمكننا الان ان نعرف الـ Softwareانھا مجموعة من الانظمة البرمجیة المستقلة والمترابطة مع بعضھا البعض وموثقة .
والمقصود ھنا بالمستقلة : أي لكل برنامج كیانھ الخاص .
واما المقصود بالمترابطة : أي أن بینھا قنوات ربط .
: (SEٍٍُ) Software Engineering ماھو ألـ
یمكنن ا أن نع رف ھندس ة البرمجی ات بانھ ا : ف رع م ن ف روع المعرف ة والت ي تھ تم بانت اج وص ناعة وتط ویر أل ـ Software
)البرامجیات( بشرط أن تكون الجودة عالیة واقل تكلفة وتسلم في الوقت المناسب .
أي أن ھذه المادة یمكننا م ن خلالھ ا معرف ة م ن أن النظ ام ذات ج ودة عالی ة أو منخفظ ة وبالت الي یمك ن أن یح دد الس عر لھ ا وك ذلك
الالتزام بمواعید التسلیم وكیفیة تحدید الفترة الزمنیة لذلك وفق معاییر معینة .
معلومات عن بحث المادة :
المحاور الاساسیة للبحوث :
-1المقارنة بین لغتین برمجیتین أو اكثر من لغة برمجیة مثل لغتي JAVAو # Cأو ++ Cن
أو بین عدة تطبیقات لغویة لقواعد البیانات مثل Oracleو . SQL server
-2ألـ Compilersوماھي مكوناتھ .
-3تصمیم نظام برمجي وفق معاییر المادة .
صندوق النص الذكي:
یقوم ھذا الصندوق بایجاد ناتج العملیات الحسالبیة بمجرد الكتابة علیھ وعن د الض غط عل ى ال زر = ف ي لوح ة المف اتیح یض ھر الن اتج
بجانب المعادلة الریاضیة ون استخدام أي من الادوات الا صندوق النص ھذا
Private Sub TextBox13_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox13.KeyPress
Dim s As String = TextBox13.Text
Dim a, b As Integer
Dim c As String
Try
If e.KeyChar = "=" Then
For x As Byte = 0 To TextBox13.Text.Length - 1
If s(x) = "+" Then
a = s.Substring(0, s.IndexOf("+"))
b = s.Substring(s.IndexOf("+") + 1, s.Length - s.IndexOf("+") -1)
c = a + b
TextBox13.Text += "=" + c
e.Handled = True
ElseIf s(x) = "-" Then
a = s.Substring(0, s.IndexOf("-"))
b = s.Substring(s.IndexOf("-")+1, s.Length _ - s.IndexOf("-") -1)
c = a - b
TextBox13.Text += "=" + c
e.Handled = True
ElseIf s(x) = "*" Then
a = s.Substring(0, s.IndexOf("*"))
b = s.Substring(s.IndexOf("*")+1, s.Length _ - s.IndexOf("*") -1)
c = a * b
TextBox13.Text += "=" + c
e.Handled = True
ElseIf s(x) = "/" Then
a = s.Substring(0, s.IndexOf("/"))
b = s.Substring(s.IndexOf("/")+1, s.Length _ - s.IndexOf("/") -1)
c = a / b
TextBox13.Text += "=" + c
e.Handled = True
End If
Next
End If
Catch ex As Exception
,"هنـاك خطـأ" ,"يجب علیك التاكد من ان القیم المدخلة هي ارقام"(MessageBox.Show
MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
SOFTWARE ENGINEERING (SE)ھندسة البرامجیات
مقدمة عن ھندسة البرمجیات :
في الاربعینات والخمسینات ظھرت ما یسمى البرمجیات او Softwareومع التدرج بدأت تظھر الانظمة التي تقوم بترتیب وتنظ یم
اعمال الالة لیلبي احتیاجات المستخدم والمقصود بھا ھي انظمة التشغیل ، حی ث ك ان الانس ان ـ إن ص ح الق ول ـ إذا اراد ان یس تخدم
أي نظام فكان یجب علیھ أن یخاطب كل جزء ولیس كم ا ھ و الی وم حی ث اص بح الی وم المس تخدم یتعام ل م ع الب رامج ذات المس توى
. High Level Language العالي
ومع تطور الحواسیب بدأت تظھر لغات البرمجة المختلفة وانظمة التشغیل البسیطة واستمر ھ ذا التط ور ف ي وتی رة متس ارعة حت ى
وص لنا إل ى أن ظھ رت مش كلة جدی دة وھ ي م ا نس میھ ازم ة البرامجی ات ) (Software Crisisوھ ي انخف اض س عر المع دات
Hardwareمقابل ارتفاع البرامجیات بل قد یصل الحال إلى أن یصیر سعر البرامجیات اكبر من سعر المعدات .
ومن الاسباب التي ادت إلى ارتفاع سعر ألـ Softwareوبالتالي ضھور ھذه الازمة التالي :
-1الاحتفاض بالحقوق الفكریة للبرامج قبل المبرمجین أو الشركات العاملة في ھذا المجال .
-2السعر المرتفع الذي یضعھ المبرمج لنفسھ .
-3الكم الھائل من البرامجیات الموجودة في سوق العمل والتي لا یحكمھا قانون .
-4عدم وجود مھندسي البرامجیات ) (Software Engineerأو ندرتھم في سوق العمل .
: Software Engineer مواصفات ألـ
( أو أي تخص صComputer Sciences ,Information Technology )- ش ھادة متخصص ة ف ي مج ال الحاس وب1
حاسوبي .
-2خبرة لا تقل عن سنة في مجال التخصص)انشاء وتصمیم الانظمة الحاسوبیة .(
-3التحدیث المستمر لمعلوماتك والمتابعة الدائمة لكل جدید .
الفرق بین ألـ
لعلنا ذكرنا سابقا البرامجیات و ألـ Softwareبدون أي تمییز الا أن ھناك فرق رئیسي وھو أن ألـ Softwareھي برامج
جاھزة للاستخدام وموثقة والاعتمادیة فیھا تكون عالیة ، أما بالنسبة للبرامجیات فھي برامج تكون معدة من المبرمج ولكنھ ا لیس ت
نھائیة أي انھا برامج مبدئیة ویكون الھدف فیھا ھ و المب رمج ) لا یس تطیع التعام ل معھ ا الا المن تج لھ ا ( ، م ع العل م ان مرحل ة أل ـ
Computers Programsاو البرامجیات تكون مرحلیة ومن ثم تتحول الى Softwareفور الانتھاء منھا .
ویمكننا الان ان نعرف الـ Softwareانھا مجموعة من الانظمة البرمجیة المستقلة والمترابطة مع بعضھا البعض وموثقة .
والمقصود ھنا بالمستقلة : أي لكل برنامج كیانھ الخاص .
واما المقصود بالمترابطة : أي أن بینھا قنوات ربط .
: (SEٍٍُ) Software Engineering ماھو ألـ
یمكنن ا أن نع رف ھندس ة البرمجی ات بانھ ا : ف رع م ن ف روع المعرف ة والت ي تھ تم بانت اج وص ناعة وتط ویر أل ـ Software
)البرامجیات( بشرط أن تكون الجودة عالیة واقل تكلفة وتسلم في الوقت المناسب .
أي أن ھذه المادة یمكننا م ن خلالھ ا معرف ة م ن أن النظ ام ذات ج ودة عالی ة أو منخفظ ة وبالت الي یمك ن أن یح دد الس عر لھ ا وك ذلك
الالتزام بمواعید التسلیم وكیفیة تحدید الفترة الزمنیة لذلك وفق معاییر معینة .
معلومات عن بحث المادة :
المحاور الاساسیة للبحوث :
-1المقارنة بین لغتین برمجیتین أو اكثر من لغة برمجیة مثل لغتي JAVAو # Cأو ++ Cن
أو بین عدة تطبیقات لغویة لقواعد البیانات مثل Oracleو . SQL server
-2ألـ Compilersوماھي مكوناتھ .
-3تصمیم نظام برمجي وفق معاییر المادة .
صندوق النص الذكي:
یقوم ھذا الصندوق بایجاد ناتج العملیات الحسالبیة بمجرد الكتابة علیھ وعن د الض غط عل ى ال زر = ف ي لوح ة المف اتیح یض ھر الن اتج
بجانب المعادلة الریاضیة ون استخدام أي من الادوات الا صندوق النص ھذا
Private Sub TextBox13_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox13.KeyPress
Dim s As String = TextBox13.Text
Dim a, b As Integer
Dim c As String
Try
If e.KeyChar = "=" Then
For x As Byte = 0 To TextBox13.Text.Length - 1
If s(x) = "+" Then
a = s.Substring(0, s.IndexOf("+"))
b = s.Substring(s.IndexOf("+") + 1, s.Length - s.IndexOf("+") -1)
c = a + b
TextBox13.Text += "=" + c
e.Handled = True
ElseIf s(x) = "-" Then
a = s.Substring(0, s.IndexOf("-"))
b = s.Substring(s.IndexOf("-")+1, s.Length _ - s.IndexOf("-") -1)
c = a - b
TextBox13.Text += "=" + c
e.Handled = True
ElseIf s(x) = "*" Then
a = s.Substring(0, s.IndexOf("*"))
b = s.Substring(s.IndexOf("*")+1, s.Length _ - s.IndexOf("*") -1)
c = a * b
TextBox13.Text += "=" + c
e.Handled = True
ElseIf s(x) = "/" Then
a = s.Substring(0, s.IndexOf("/"))
b = s.Substring(s.IndexOf("/")+1, s.Length _ - s.IndexOf("/") -1)
c = a / b
TextBox13.Text += "=" + c
e.Handled = True
End If
Next
End If
Catch ex As Exception
,"هنـاك خطـأ" ,"يجب علیك التاكد من ان القیم المدخلة هي ارقام"(MessageBox.Show
MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub