مطلوب إنشاء تطبيق سطح مكتب بسيط بلغة جافا وكوتلن

وصف المشروع

* Java GUI لإدارة المشاريع - Java (10%): استخدم Java لإنشاء تطبيق سطح مكتب بواجهة مستخدم رسومية تمكن المستخدم من إعداد وتحرير وحذف المشاريع ومهامها. يجب أن يبدو التطبيق ممتعًا وسهل الاستخدام.

* فئات المجال والرسم البياني - Kotlin (10%) إنشاء فئات المجال والكيانات لتمثيل المهام في المشروع كرسم بياني. إنشاء بنية موجهة للكائنات تدعم تطبيق Java GUI. يجب عليك تطبيق فصل الاهتمامات للتأكد من أن تطبيق Java GUI يحتوي فقط على الوظائف المرتبطة بواجهة المستخدم، ويتم تعيين جميع المسؤوليات الأخرى إلى المجال وفئات الكيان. يجب تنفيذ هذه الفئات في Kotlin ودمجها في Java GUI. إذا كنت ترغب في ذلك، يمكنك تنفيذ الثبات لبيانات المشروع والفريق، لذلك لا يتعين عليك إعادة إدخالها في كل مرة تقوم فيها بتشغيل التطبيق. إذا كان الأمر كذلك، فالأمر متروك لك لتقرر كيف تريد حفظ المعلومات (على سبيل المثال، حفظها في ملف أو في قاعدة البيانات).

* مصفوفة الجوار - Kotlin (10٪) تتيح لك مصفوفة الجوار تمثيل رسم بياني (موجه وغير موجه). افترض أن الرسم البياني يحتوي على رؤوس n. يمكنك استخدام مصفوفة ثنائية الأبعاد n × n لتمثيل الحواف. كل عنصر في القائمة هو 0 أو 1، حيث يوجد 1 إذا كانت هناك حافة من قمة إلى أخرى أو 0 إذا لم يكن هناك. في هذه المهمة، يتم تمثيل المشروع كرسم بياني موجه ويجب عليك كتابة خوارزمية تحول بنية الرسم البياني كائني التوجه إلى مصفوفة مجاورة. يجب دمج هذه الخوارزمية في Java GUl، بحيث يمكن للمستخدم عرض مصفوفة الجوار لمشروع معين.

د) التحكم في الإصدار (10%) يجب عليك استخدام Git لإرسال التقدم المحرز في الكود الخاص بك مرة واحدة على الأقل في الأسبوع. ستجد في صفحة Moodle الخاصة بالدورة التدريبية إرشادات حول كيفية استخدام Azure DevOps لإعداد مستودع Git للتعليمات البرمجية الخاصة بك وكيفية دمج ذلك مع Android Studio وVisual Studio. يجب عليك تضمين جميع أعضاء المجموعة للتأكد من أنه يمكنك العمل بشكل تعاوني على التعليمات البرمجية

التقرير (10%)

كتابة تقرير يتكون من جميع الأقسام التالية:

* القسم 1. (2%) جدول موجز يحتوي على قائمة مرجعية بالميزات التي تمكنت من تنفيذها. يرجى الرجوع إلى قائمة الميزات الواردة أعلاه في المواصفات. قم بتضمين رابط إلى مستودع Git الخاص بك.

* القسم 2. (3%) لقطات شاشة توضح كل من الميزات التي قمت بتنفيذها. قم بإدراج تسميات توضيحية أو تعليقات توضيحية لتوضيح الميزات التي يتم عرضها.

* القسم 3. (3%) قائمة التعليمات البرمجية لأي ملفات تعليمات برمجية كتبتها. لا تحتاج إلى تضمين التعليمات البرمجية التي تم إنشاؤها. يرجى تسمية الرمز بوضوح، بحيث يشير إلى الملف المصدر ولغة البرمجة. الرجاء ملاحظة أنه يجب عليك تضمين الكود الفعلي، وليس أسماء الملفات فقط.

by English

* Java GUI for Project Management - Java (10%):
Use Java to create a desktop application with a graphical user interface which enables a user to set up, edit and delete projects and their tasks.
The application should look pleasant and be easy to use.

* Domain Classes and Graph - Kotlin (10%)
Create domain and entity classes to represent the tasks in a project as a graph. Create an object-oriented structure supporting the Java GUI application. You should apply separation of concern to ensure that the Java GUI application contains only the user-interface related functionality, and all other responsibility is assigned to the domain and entity classes. These classes should be implemented in Kotlin and integrated into the Java GUI.
If you wish, you can implement persistence for the project and team data, so you don't have to reenter this every time you run the application. If so, it is up to you to decide how you wish to save the information (e.g. save it to file or to database).

* Adjacency Matrix - Kotlin (10%)
An adjacency matrix allows you to represent a graph (directed of undirected).
Assume that the graph has n vertices. You can use a two-dimensional n × n matrix to represent edges.
Each element in the list is 0 or 1, where there is a 1 if there is an edge from one vertex to another or 0 if there is not.
In this assignment, a project is represented as a directed graph and you should write an algorithm which converts the object-oriented graph structure into an adjacency matrix.
This algorithm should be integrated into the Java GUl, so that it is possible for a user to view the adjacency matrix of a given project.

d) Version Control (10%)
You must use Git to submit the progress of your code at least once per week. On the course Moodle page you will find instructions on how to use Azure DevOps to set up a Git repository for your code and how to integrate this with Android Studio and Visual Studio.
You must include all group members to ensure that you can work collaboratively on the code

Report (10%)

Write a report consisting of all the following sections:

* Section 1. (2%) A concise table containing a checklist of the features you have been able to implement.
Please refer to the features list given above in the specification. Include a link to your Git repository.

* Section 2. (3%) Screenshots demonstrating each of the features that you have implemented. Give captions or annotations to explain which features are being demonstrated.

* Section 3. (3%) Code listing of any code files you have written. You do not need to include generated code. Please clearly label the code, so it indicates the source file and programming language.
Please note that you must include the actual code, not just file names.

أضف عرضك الآن

العروض المقدمة

Ahmed H.

السلام عليكم يمكنني تنفيذ هذا المشروع والعمل علي تسليمه في الموعد الذي تم تحديده أو أقل من ذلك، لقد قمت ببناء تطبيقات جوال ومواقع ويب وبرامج desktop من قبل، لذل...

يمكنني القيام بهذه المهمة باحترافية ولكني أقترح القيام بذلك باستخدام PyQt5 وpython لسطح المكتب من أجل قابلية التوسع التي يوفرها هذا الإطار لاستخدام CSS وتخصيص ا...

اسلام عيكم انا زيدان مطور تطبيقات تعمل على كلن من ios ,Android, بستخدام اطار العمل flutter واملك خبرة الاتقل عن ثلاث سنوات في المجال وايضن املك خلفيه كبيرة في ا...

قبولك لهذا العرض يعتبر اتفاقاً بينك وبين المستقل وسيبقى موقع مستقل وسيطاً بينكما حتى تسليم المشروع. لن تتمكن من تغيير العرض أو إلغائه لاحقًا لذلك تأكد من اختيارك للعرض المناسب باتّباع النصائح التالية:

  • راجع صفحة حساب المستقل الذي اخترته واطّلع على أعماله السابقة
  • إن كانت هناك تفاصيل غير مذكورة في المشروع، فتواصل مع المستقل وأخبره بها أولًا
  • بإمكانك أن تتواصل مع المستقل وتسأله عن أية أمور تحتاجها
  • احرص دائمًا على إبقاء التواصل مع المستقل داخل الموقع قدر الإمكان وذلك لضمان حقوقك
  • لا تتردد من التواصل معنا ان احتجت لأي مساعدة، نحن نحب مساعدتك!

المستقل غير متاح لاستلام مشاريع، يمكنك ارسال تنبيه له لقبول العرض وإعادة المحاولة بعد بضعة ساعات، أو اختيار عرضاً من مستقل آخر.