1 / 32

Speed Date Final Presentation

Speed Date Final Presentation. הצוות. מציגים: נועם שמואלי אביעד יחזקאל מנחה: ויקטור קוליקוב. מבוא. כללי Speed Date הינה שיטה להכיר אנשים בדרך מהירה. הדבר נעשה באמצעות מפגש קצוב בזמן בו יכולים שני הצדדים ליזום ולנהל שיחה אחד עם השני. קהל היעד

kedem
Download Presentation

Speed Date Final 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. Speed Date Final Presentation

  2. הצוות • מציגים: • נועם שמואלי • אביעד יחזקאל • מנחה: • ויקטור קוליקוב

  3. מבוא • כללי • Speed Date הינה שיטה להכיר אנשים בדרך מהירה. • הדבר נעשה באמצעות מפגש קצוב בזמן בו יכולים שני הצדדים ליזום ולנהל שיחה אחד עם השני. • קהל היעד • כל משתמשי הרשתות החברתיות (Open Social).

  4. כלים טכנולוגיים • סביבת פיתוח - Windows, Visual Studio 2008, .Net 3.5 • NUnit - כלי בדיקות אוטומטי • ASP. Net - טכנולוגיה ליישומי אינטרנט בצד השרת, שפותחה על ידי חברת מיקרוסופט. באמצעות ASP.NET ניתן ליצור אתרי אינטרנט דינמיים בשילוב נתונים מבסיסי נתונים, ולטפל בטפסים ובמידע שנשלחים מהמשתמש. • Ajax - - Asynchronous JavaScript And XML טכניקה ליצירת יישומי דפדפן אינטראקטיביים המבוססים על קוד המורץ במסגרת דף HTML בודד, ולא כיישום מרובה דפים, כמקובל בסביבת הווב. מטרתה העיקרית של הטכניקה היא שיפור חוויית המשתמש והאצת מהירות הטעינה של דפי האינטרנט, מאחר והיא מאפשרת לעדכן רק חלקים מבוקשים בדף האינטרנט, ללא צורך לטעון את הדף כולו מחדש במחשבו של המשתמש.

  5. כלים טכנולוגיים (המשך) • Ajax Controls - חבילה המספקת ממשקים גרפיים נוחים וידידותיים • JavaScript – מימשנו Controls חדשים שהיינו צריכים וכמו כן מימשנו בקשות HTTP(Get/Post) על מנת לממש צ'אט • Microsoft SQL Server – אחסון ה-Data Base • IIS Server -Internet Information Servicesהוא ערכה של כלים מבוססי אינטרנט עבור שרתים שרצים בסביבת Windows. בחרנו להשתמש דווקא ב- IIS מכיוון ש- ASP רצה על Server זה • Google SVN –Source Control

  6. דרישות האפליקציה • הצגת מידע כללי • למשתמש יוצג הסבר כללי על האפליקציה. • המשתמש יוכל לחזות בסטטיסטיקה האישית שלו (פירוט בהמשך). • המשתמש יוכל לקבל מידע על אירועים מיוחדים שהתרחשו בזמן האחרון. • המשתמש יוכל לקבל מידע לגבי המשתמשים הפופולאריים. • שמירת נתוני המשתמש • המשתמש יוכל להירשם לאפליקציה. • המשתמש יוכל להוסיף\לעדכן\למחוק פרטים אישיים.

  7. דרישות האפליקציה • (המשך) • שמירת סטטיסטיקה אישית • עבור כל משתמש תישמר סטטיסטיקה אשר תכלול פרטים כגון: מספר דייטים אליהם יצא, דירוג חוש הומור, דירוג רמת עניין וכו' • הגדרת קונפיגורציית חיפוש • המשתמש יוכל להגדיר קונפיגורציות חיפוש שונות. • המשתמש יוכל לצפות\לעדכן קונפיגורציות קיימות. • קונפיגורציית החיפוש תכלול את כל הפרמטרים האפשריים לפיהם ניתן לבצע חיפוש. • הגדרות הקונפיגורציות ישמרו במחשב המשתמש כ-Cookie.

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

  9. דרישות האפליקציה • (המשך) • קונפיגורציה טכנית • הקונפיגורציה תישמר בקובץ XML בשרת. • הקונפיגורציה תכלול את כל הפרמטרים הניתנים להגדרה. • למשתמשי האפליקציה תוגדר הרשאה. • רק משתמשים עם הרשאת Administrator יורשו לצפות ולעדכן מידע זה. • שינוי בקונפיגורציה הוא דינמי, כלומר אין צורך בהורדת האפליקציה מהשרת והפעלתה מחדש וכמו כן השינוי הוא מיידי (המשתמשים לא יצטרכו להתחבר מחדש לאפליקציה).

  10. מבט על Server Configuration Client Configuration צד ה-Server צד ה-Client Business Logic GUI Data Access Data Base Common Utilities

  11. Data Base Layer • תאור • זו שכבת ה-DB, אשר מכילה את כל טבלאות הנתונים איתם עובדת האפליקציה. • השתמשנו בטכנולגיית ASP. Net אשר מספקת שירותי טבלאות נתונים בסיסיים, להם הוספנו טבלאות נוספות שהיינו צריכים על מנת לתת מענה לדרישות האפליקציה. • תפקיד • שומרת את הנתונים בטבלאות בצורה אמינה. • מספקת נתונים לפי שאילתות שהגדרנו.

  12. Data Base Layer • תרשים סכמטי

  13. Data Base Layer • תרשים סכמטי ASP. Net DB

  14. Data Access Layer תאור שכבת הקישור עם ה-DB. תפקיד אחראית על כל התקשורת של שכבת הלוגיקה מול שכבת ה-Data Base, אחראית לספק נתונים על סמך שאילתות.

  15. Data Access Layer השירותים העיקריים • הוספת משתמשים חדשים • שליפת ועדכון פרטים אישיים של המשתמש • שליפת ועדכון פרטי סטטיסטיקה של המשתמש • שליפת והוספת סיפורי דייטים • שליפת והוספת "יוצאים" פופולאריים • שליפת רשימת משתמשים מחוברים

  16. Business Logic Layer תאור שכבה המחזיקה את האובייקטים האפליקטיביים הרלוונטיים לשרת תפקיד אחראית לרכז את כל המידע שמגיע מה-DB כאובייקטים איתם יהיה נוח לעבוד.

  17. Business Logic Layer השירותים העיקריים • רישום משתמש חדש • שליפת ועדכון פרטים אישיים של המשתמש • שליפת ועדכון פרטי סטטיסטיקה של המשתמש • חיפוש משתמשים • שליפת והוספת סיפורי דייטים • שליפת והוספת "יוצאים" פופולאריים • שליפת רשימת משתמשים מחוברים

  18. Business Logic Layer Class Diagram

  19. Business Logic Layer אובייקטים עיקריים CAppModel– המחלקה הראשית המנהלת את התקשורת מול שכבת ה-DB. CUser - משתמש. CPersonal – נתונים אישיים של המשתמש. CAppearance– נתוני מראה חיצוני. CSearch– קונפיגורציית חיפוש. CStatistic – סטטיסטיקה של משתמש. CNews – ארוע של דייט. CSecurity – פרטים של משתמש לצורך הזדהות.

  20. GUI Layer • תאור • שכבה הנמצאת בצד ה-Client, המייצגת את ה-GUI • תפקיד • אחראית למימוש ה-GUI (המסכים הגרפיים אותם יראה המשתמש)

  21. GUI Layer Class Diagram

  22. GUI Layer אובייקטים עיקריים • MainForm - דף המממש את ה-GUI הראשי • MainTabControl– ה-Tab הראשי המכיל את המידע הכללי • ProfilePersonalControl– הפרטים האישיים • ProfileAppearanceControl– נתוני המראה החיצוני • SearchResultControl– חיפוש משתמשים • SearchSettingsControl – הגדרת קונפיגורציית חיפושTechnicalSettingsControl– הגדרת קונפיגורציית השרת (נגיש רק למשתמשים עם הרשאת Administrator) • ChatRoomForm– נפרט בהמשך • FillScoresOnEndChatForm– דירוג משתמשים

  23. Error Handling (למשתמש) • מנגנון זה נועד להתריע בפני המשתמש על שגיאות שהתרחשו בזמן השימוש, למשל: • אי הזנת ערך שדה חובה. • הזנת ערך בפורמט לא חוקי (למשל תאריך). • על כל פעולה אותה מבצע המשתמש הוא יקבל חיווי הצלחה או כישלון (המובן למשתמש). • מימוש המנגנון התבצע באמצעות מימושים מוכנים של Asp .Net – RegularExpressionValidator ו- RequiredFieldValidator.

  24. Error Handling (למפתח) • Logger • המטרה – לאפשר לנו, המפתחים לפתור ביעילות בעיות אפשריות שעלולות להתעורר תוך כדי שימוש באפליקציה. • בכל מתודה עיקרית תתבצע כתיבה ללוג בעת הכניסה והיציאה. • תכתבנה פעולות מרכזיות. • במקרה של שגיאה, ייכתב מיקום השגיאה ופרטיה באופן מדויק.

  25. Chat • תאור • מורכב מ- 2 שכבות: • בצד ה- Client – נמצא GUI שמייצג חדר צ'אט בין 2 משתמשים. • בצד ה- Server – נמצאות המחלקות שממשות את הצ'אט עצמו. • הקשר בין 2 השכבות נעשה באמצעות Javascript (שרץ בצד ה- Client) המיישם בקשות Http – Get/Post. • תפקיד • השכבות נועדו לספק שירותי צ'אט בין משתמשים שונים.

  26. Chat (המשך) • Class Diagram

  27. Chat (המשך) אובייקטים עיקריים • בצד ה- Server: • CChatHandler – המחלקה הראשית המנהלת את התקשורת מול ה- Client באמצעות תגובות לבקשות Http (Get/Post). • CDBChat– מחלקה המחזיקה את כל חדרי הצ'אט הפעילים ואחראית לסגור חדרי צ'אט שלא בשימוש (על ידי pings מדומים למשתמשים השונים). • כמו כן תפקיד מחלקה זו הוא יצירת הקשר בין המשתמשים שונים. • CUserDetailsChat– תפקיד מחלקה זו הוא לדאוג למימוש תקין של חדרי הצ'אט השונים – Multi Threading. • CChatRoom – מחלקה המממשת חדר צ'אט בין שני משתמשים.

  28. Chat (המשך) אובייקטים עיקריים • בצד ה- Client: • ChatRoomForm – ממשק גרפי של חדר צ'אט בין שני משתמשים שונים. • כמו כן דף זה מריץ את פונקציות ה- Javascript השונות אשר מבצעות בקשות Http(Get/Post) (באמצעותן מתנהל תהליך הצ'אט). • Pulling script - Javascript אשר תפקידו לדגום בקשות חדשות לצ'אט, להקפיץ ממשק גרפי המאפשר פעולת אישור או דחייה.

  29. מבט להמשך תוך כדי מימוש הפרויקט עלו לא מעט רעיונות, חלקם מומשו וחלקם נדחו לפרויקט הבא מפאת התכולות הרבות.

  30. מבט להמשך – רעיונות • תמיכה בוידיאו צ'אט (Web-Cam) • חיבור לפייסבוק • מתן אפשרות שליחת הודעות למשתמשים לא מחוברים • פורום • צ'אט בעיצוב מיוחד - רקע הצ'אט לפי "מיקום" הדייט • Popup blocker • קרדיטים ודירוגים שונים – תקציב • יצירת Calendar אשר יכיל את רשימת הדייטים בעבר\הווה\עתיד • ממשק מייל – קבלת התראות למייל • תמיכה בשפות – אנגלית / עברית / רוסית

  31. מה למדנו? • המון... • Design לפי שכבות. • עבודה מול DB– בנייתDB, הגדרת שאילתות וביצוען. • שיטות נוספות לאחסון נתונים – Xml, Cookies. • שפות: C#, Javascript, Html. • תכנות אתרים בצורה דינמית – ASP .Net. • טכנולוגיות Ajax. • התקנת שרת Web. • עיצובים גרפיים - CSS. • עבודה בצוות פיתוח.

  32. שאלות...

More Related