1 / 18

שנקר – הנדסת תוכנה, שנה ד' הצגת פרויקטי גמר מערכת לניהול זמן ומשימות

שנקר – הנדסת תוכנה, שנה ד' הצגת פרויקטי גמר מערכת לניהול זמן ומשימות מוגש ע"י ליאור ויצמן ואמיר רוזן מנחה: ד"ר אשר וילק. תוכן ההרצאה. תיאור הצורך פתרונות קיימים / זהות המחקרים הקיימים מהות הבעיה הצגת הפתרון סדר פעולות התוכנית ואלגוריתמים מרכזיים רעיון ('קונספט') התיכון

raiden
Download Presentation

שנקר – הנדסת תוכנה, שנה ד' הצגת פרויקטי גמר מערכת לניהול זמן ומשימות

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. שנקר – הנדסת תוכנה, שנה ד' הצגת פרויקטי גמר מערכת לניהול זמן ומשימות מוגש ע"י ליאור ויצמן ואמיר רוזן מנחה: ד"ר אשר וילק

  2. תוכן ההרצאה • תיאור הצורך • פתרונות קיימים / זהות המחקרים הקיימים • מהות הבעיה • הצגת הפתרון • סדר פעולות התוכנית ואלגוריתמים מרכזיים • רעיון ('קונספט') התיכון • שיטות וכלים לפתרון • סטאטוס התקדמות והישגים עד כה • תוצאות Proof Of Concept

  3. תיאור הצורך לכולם יש הרבה משימות לבצע, אך כאשר הזמן מוגבל והמשימות רבות ולעיתים תלויות אילוצים, ניהולן הינה משימה קשה ולא תמיד אפשרית. הצורך הוא לקבוע ביעילות מה לבצע ומתי לבצע ניהול הזמן הינה משימה מתמשכת אשר קובעת במידה רבה את יעילותנו. למרות זאת, מעטים מקדישים לכך את הזמן ומעטים עוד יותר מסוגלים לבצע זאת ביעילות. השיטות הטבעיות שרובנו מפעילים, למשל "מה שבא אחרון מטופל ראשון" או "מה שנראה לנו כדחוף ביותר מטופל קודם", ייתכן ויתנו, אם בכלל, פתרון לא אופטימאלי.

  4. כמה מסובך לסדר 44 משימות? • 44 משימות לאורך 4 ימים • לכל משימה גבול התחלה וגבול סיום וכן אורך משימה (קיימות חפיפות) • 10 משימות מוגדרות חייבות להתבצע לפני 10 משימות מוגדרות אחרות • 10 משימות מוגדרות חייבות להתבצע אחרי 10 משימות מוגדרות אחרות • לכל משימה עדיפות בין 1 (נמוך) ל-5 (גבוה)

  5. כמה מסובך לסדר 44 משימות? כמה זמן ייקח לך לסדר באופן תקין את 44 המשימות כך שכל משימה תתחיל ותסתיים בגבולותיה, אילוצי הקדימויות יתקיימו וכן עדיפות הביצוע תמוקסם?

  6. פתרונות קיימים / זהות המחקרים הקיימים • יומנים אלקטרונים מודרניים כמו MS-Outlook, Google Calendar ו- Yahoo Calendar לא מספקים תזמון אוטומטי של משימות ועל המשתמשים לקבוע את זמני המשימות ולפתור את האילוצים בעצמם. • מחקרים קיימים: • A Genetic Algorithm for Resource-Constrained Scheduling by Matthew Bartschi Wall • PExA - An Intelligent Personal Assistant for Task and Time Management by Karen Myers • Managing personal tasks with time constraints & preferences by Ioannis Refanidis • SELFPLAER: An Intelligent Web-based Calendar Application by Anastasios Alexiadis

  7. מהות הבעיה • הגדרה פורמאלית של הבעיה: • בהינתן סט של משימות, סט של אילוצים (זמן, קדימות וזמינות) וסט של מדדים, מהי הדרך הטובה ביותר לסדר ולתזמן את המשימות כך שכל האילוצים יתקיימו והמדדים יהיו מקסימאליים? • הבעיה נחלקת ל-4 תתי בעיות עיקריות: • סידור - קביעה וסידור המשימות • תזמון - קביעת זמן סופי לביצוע • קיום האילוצים • מקסום המדדים • היבטים נוספים של הבעיה: • מוגדרת כבעיות NP-Hard. • התמודדות עם שינויים בתכנון תוך שמירה על תזמון דינאמי. • יש לזהות מצבים בהם לא קיימת "היתכנות" (Feasibility) לתזמן.

  8. הצגת הפתרון TiMe הינו ישום המאפשר למשתמש לנהל את זמנו ומשימותיו בצורה יעילה. בהינתן סט של משימות, סט של אילוצים וסט של מדדים, TiMeיסדר ויתזמן את המשימות כך שכל האילוצים יתקיימו והמדדים יהיו מקסימאליים. TiMe משתמש בטכניקות תזמון המאפשרות שינוי מינימאלי בתזמון במקרה של שינוי בתכנון. היבטים טכנולוגיים: ישום WEB ארכיטקטורת שרת/לקוח C# & ASP.NET 3.5 Linq 2 SQL, WCF, WF SQL Server 2005 אלגוריתמים מרכזיים: בדיקת היתכנות וסידור ראשוני Simulated Annealing Genetic Algorithm סדר הפעולות: תכנון סידור תזמון

  9. סדר פעולות התוכנית ואלגוריתמים מרכזיים תכנון המשימות ע"י המשתמש המשתמש מגדיר לכל משימה: זמן התחלה, זמן סיום, אורך, עדיפות, מיקום וקדימויות (אילוצים). בדיקה והשגת התכנות תזמון (Feasibility) TiMe מסדר את משימות תוך קיום אילוצים במידה וניתן ע"י שימוש במתודות מדויקות וקבועות אשר מבטיחות מציאת סידור תקין במידה וזה קיים. Simulated Annealing אלגוריתם האיוריסטי ואקראי מעולם הכימיה המציע גישה יעילה מבחינת סיבוכיות הפתרון למציאת סידור "טוב", אף כי לאו דווקא הטוב ביותר (האופטימאלי). Genetic Algorithm אלגוריתם האיוריסטי ואקראי המדמה את תהליך האבולוציה בוחן ביעילות את מרחב הפתרון של הבעיה. נעשה שימוש באלגוריתם מתאמץ לשמירה על שונות גבוהה באוכלוסיית הפתרונות.

  10. הצגת הפתרון – רעיון ('קונספט') התיכון

  11. הצגת הפתרון – רעיון ('קונספט') התיכון

  12. הצגת הפתרון – רעיון ('קונספט') התיכון

  13. שיטות וכלים לפתרון • Waterfall model • Object Oriented Programming • Design Patterns Driven • SOA • AOP • AI Algorithms • Developing test cases using scenarios (Testing using scenarios approach) • State of the art technology (.NET 3.5, SQL Server 2005 etc)

  14. סטאטוס התקדמות והישגים עד כה • הגדרת דרישות הלקוח כולל דרישות פונקציונאליות (התנהגות, תהליכים וביצועים וכד'). • ניתוח דרישות ובחינת משמעותן ההנדסית. • בניית קונספט המערכת כולל פירוט הדרישות בהיבט התוכנה, ארכיטקטורה לוגית וכד' • תכן הכולל ארכיטקטורה, ממשקים, מבני נתונים, אלגוריתמים ותוכנית בדיקות. • שלב נוכחי - קידוד מודולי התוכנה וביצוע בדיקות היחידה. • שילוב המודולים וביצוע בדיקות שילוב. • אוגוסט 2008 - הגשת טיוטא ראשונה • עריכת שינויים ושיפורים • * פעילויות אימות מתבצעות בתום כל שלב, מוודאות שהפעילות השיגה את יעדיה ושתוצריה תקינים.

  15. Proof Of Concept • מטרת ה-POC היתה לממש בהצלחה את האלגוריתמים ולאמת את פוטנציאל המענה המוצע לצורך הקיים. • נבדקו מגוון של בעיות תזמון: • - בעיית ישימות אילוצי קדימויות • - בעיית ישימות זמנים • - בעיית מקסום מדדים • תוצאות ה-POC: בדיקת היתכנות וסידור ראשוני Simulated Annealing תזמון סידור תכנון 144% שיפור במדדים מה- Worst case מוזן ע"י המשתמש (Worst Case scenario) 150% שיפור במדדים מה- Worst case

  16. Proof Of Concept שלב התכנון – המשימות מוזנות ע"י המשתמש ונעשה שימוש ב-Worst Case scenario לאחר מכן מתבצעת בדיקת היתכנות וסידור ראשוני

  17. Proof Of Concept שלב הסידור – השיג 144% שיפור במדדים מה-Worst Case scenario לאחר מכן Simulated Annealing

  18. Proof Of Concept שלב הסידור – השיג 150% שיפור במדדים מה-Worst Case scenario לאחר מכן מתבצעת בדיקת היתכנות וסידור ראשוני

More Related