الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

منقاشة مشروع تخرجي " Static Tester "

بدأه wimaxmax في 16 يناير 2009 · 8 رد · 1,120 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه

تحية طيبة اخواني الأعضاء

:blush:

شاكر لكم في ماقدمتموه لي من مساعدات طوال مواضيعي السابقة في المنتدى بخصوص مشروعي

:salam:

الان خلاص مابقى على تسبيم المشروع والمناقشة سوى شهر واحد فقط

:cry:

يادوب يكفي في كتابة الرسالة

المهم انا باحط شرح لمشروعي واتمنى تساعدوني بالاقتراحات والافكار حتى يطلع مشروعي بشكل جيد وممتاز بخصوص البرمجة :blush:

بســم الله الـرحمــن الرحيــم

المشروع

StaticTester

تخصص هندسة برمجيات

التعريف

الاختبارات الاستاتيكية Static Testing :

في هذه التقنية يتم اختبار النظام البرمجي قبل مرحلة الترجمة ( Compilation ) وذلك لاكتشاف الأخطاء الاستاتيكية حيث يتم بناء برنامج يسمى Static Tester يقوم باكتشاف الأخطاء الاستاتيكية .

هذا التقرير الأول كامل في ملف Word في شرح كامل للمشروع

:download:

الان نجي نشرح الكود خطوة خطوة < المشروع كامل بس باقي بعض التحسينات اللغوية + اضافة بعض العناصر في قواعد البيانات >

شرح الدوال فقط المشروع كامل في المرفقات


{
CheckChanged(s, e);
string lexbufi = t1.Text;
p.Inputbuff = lexbufi.ToCharArray();

while (p.ibPtr < p.Inputbuff.Length)
{
t = p.LexAn();
p.ibPtr++;

}
CopyDB();
view();

}
public void Test(object s, EventArgs e)

تقرأ الموجود في ال Rich Text Box وتحول الى مجموعة من الحروف lexical وتستدعي الدالة lexAn


{
string dirApp = "C:\\StaticTester\\StaticTester\\bin\\Debug";
string orginalDBPath = Path.Combine(dirApp, OrginalDBName);
string copyDBPath = Path.Combine(dirApp, CopyDBName);
File.Copy(orginalDBPath, copyDBPath, true);

}
public static void CopyDB()

نسخ قاعدة البيانات ولكن اعتقد الفكرة تحتاج الى اجتهاد اكثر لأني احتجت بهذه الدالة حذف البيانات في قاعدة البيانات كل مايعمل البرنامج ولكن اعتقد وجود امر يسهل هذه العملية

هل يوجد امر كذلك لتصفير البيانات ؟


{
stgraph(p.symbolTable[p.stsize]);
stgraphC();
}
public void view()

230526646.jpg

هذه الدالة تستدعي دالتين كماهي موجودة في الصورة

الاولى State Transition Graph

الثانية State Transition Graph Comparator

شرح State transtion graph

الكود


{
//

olecon.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\test1.mdb";

olecon.Open();

adapt = new OleDbDataAdapter("Select * FROM STG", olecon);
commbld = new OleDbCommandBuilder(adapt);
adapt.Fill(dtTable);
//
for (int i = 0; i < p.stsize; i++)
{
if (p.symbolTable.type == p.types[0])
{
if (p.symbolTable.lexeme == "filename")
{
DataRow dr = dtTable.NewRow();
dr["ID"] = dtTable.Rows.Count;
dr[1] = "";
dtTable.Rows.Add(dr);
rowpos = dtTable.Rows.Count - 1;

if (dtTable.Rows.Count != 0)
{
dtTable.Rows[rowpos]["ID"] = rowpos + 1;
dtTable.Rows[rowpos][1] = p.symbolTable.lexeme;
adapt.Update(dtTable);
}

}

}

if (p.symbolTable.type == p.types[0])
{
if (p.symbolTable.lexeme == "Open")
{
dtTable.Rows[rowpos]["Enter1"] = rowpos + 1;
dtTable.Rows[rowpos][2] = p.symbolTable.lexeme;
adapt.Update(dtTable);

}
else if (p.symbolTable.lexeme == "Read")
{
dtTable.Rows[rowpos]["Enter2"] = rowpos + 1;
dtTable.Rows[rowpos][3] = p.symbolTable.lexeme;
adapt.Update(dtTable);

}
else if (p.symbolTable.lexeme == "Write")
{
dtTable.Rows[rowpos]["Enter2"] = rowpos + 1;
dtTable.Rows[rowpos][3] = p.symbolTable.lexeme;
adapt.Update(dtTable);

}
else if (p.symbolTable.lexeme == "Close")
{
dtTable.Rows[rowpos]["Enter3"] = rowpos + 1;
dtTable.Rows[rowpos][4] = p.symbolTable.lexeme;
adapt.Update(dtTable);

}
}
}
olecon.Close();
}
public void stgraph(SymbT st)

داخل للدالة Symbol Table الجدول الذي نتج من class lexical analyser

تبحث فيه عن الكود التالي

FileStream Ma =new FileStream (filename,FileMode.Open, FileAccess.Read);

حيث هنا قد يحدث خطأمن الممكن فتح ملف ولكن دون ذكر كلمة Read or Write

من الممكن اضافة اخطاء اخرى

التكملة في الرد التالي

#2

نكمل

:blush:

الاخطاء في الدالة الساقة تخزنها في قاعدة البيانات المرفقة test1.mdb

الدالة State Transition graph compartor

الكود


{
// File Frome User

olecon.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\test1.mdb";
olecon.Open();
int i = 1;
adapt = new OleDbDataAdapter("Select * FROM STG", olecon);
commbld = new OleDbCommandBuilder(adapt);
adapt.Fill(dtTable);
// File from Language

olecon1.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Good.mdb";
olecon1.Open();
adapt1 = new OleDbDataAdapter("Select * FROM STG", olecon1);
commbld1 = new OleDbCommandBuilder(adapt1);
adapt1.Fill(dtTable1);

for (i = 1; i < 5; i++)
{
String Start = dtTable.Rows[rowpos].ToString();

olecon.Close();
String StartG = dtTable1.Rows[rowpos].ToString();
olecon1.Close();

// Compare
if (Start != StartG)
{
rowpos = dtTable.Rows.Count - 1;
StartG = dtTable1.Rows[rowpos].ToString();
if (Start != StartG)
{
if (StartG == "Read" || StartG == "Write")
{
additem("File Open but Can't Find Read or Wright");

}
else additem("Error No Found \t" + StartG + "\n");


}

}
else additem("No Found Error");
}
}
public void stgraphC()

يقارن بين ملفي قاعدة البيانات الاولى الكود اللي مدخله المستخدم الثانية الكود الصحيح للغة المسمى good.mdb

ويضيفها في List View

تم بحمد الله شرح اهم الدوال في مشروعي البااقي موجود في المرفقات المشروع كامل

لكي يعمل لابد من حفظ ملف قاعدة البيانات في القرص C:\

الان اريد منكم بعض الافكار والاقتراحات بخصوص مشروعي

اريد ايجاد اخطاء اخرى Static Error في لغة C#

تحسين الكود حتى يطلع بطريقة افضل بعض الاختصارات الممكنة في الكود

طريقة تصفير البيانات :S

سيكون في هذا الموضوع مناقشة جميع مايتعلق في مشروع تخرجي حتى يتم بحمد الله وتوفيقه والانتهاء من تسليمه ومناقشته

شكراً لكم جميعا على المشاهدة والشكر موصول مقدماً لمن قدر على مساعدتي او اعطاء بعض الاقتراحات

:ty:

مع التحية

#3

هذي ملفات المشروع

اللي يبغى يجربه

:blush:

في المرفقات

افتح ملف ال Data Base وانسخ الملفات الى القرص C

يوجد ملف مرفق باسم code .txt

هذا في الكود المجرب عليه

هل يوجد اقتراحات بخصوص ال Data Base حتى تكون افضل مما كان

مع التحية

StaticTester.zip

dataBase.zip

Code.zip

تم تعديل هذه المشاركة بواسطة wimaxmax في 16 يناير 2009 في 22:02

#4

:cry:

وينكم ليش ماحد رد

مع التحية

#5

فين ردودكم

مع التحية

#6

وينكم ليش ماتردون ؟؟؟؟؟؟

مع التحية

#7

احد يرد على الاقل

مع التحية

#8

موضوع بحثك رووووووووووووعة ممكن استعيره حق تخرجي :S امززززززززززززح

من وين خطرت لك هالفكرة؟؟

عجبني الشرح وراح انزل البرنامج واجربه ان شاء الله

تحياتي

:blush:

انا افكر اذا انا مبدع .... I think therfore I am Creative

#9

فكرة رائعه وعمل جيد ان شا الله تحصل على علامة ممتازة

مواضيع مشابهة