Speed Date Final Presentation

34
Speed Date Final Presentation

description

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

Transcript of Speed Date Final Presentation

Page 1: Speed Date Final Presentation

Speed DateFinal Presentation

Page 2: Speed Date Final Presentation

הצוות

מציגים:שמואלי • נועםיחזקאל • אביעד

מנחה:קוליקוב ויקטור

Page 3: Speed Date Final Presentation

מבואכללי

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

. השני עם אחד- , כ השיחה ניהול יכולת גם קיימת ההתכתבות ליכולת .Video Conferenceבנוסף

היעד קהלהחברתית הרשת .Facebookמשתמשי

.) נוספות) חברתיות לרשתות עצמה את להתאים גנרית יכולת לאפליקציה

Page 4: Speed Date Final Presentation

טכנולוגיים ) (1כליםפיתוח - • .Windows, Visual Studio 2008, .Net 3.5סביבת• ASP. Net - טכנולוגיה ליישומי אינטרנט בצד השרת, שפותחה על

ניתן ליצור אתרי ASP.NETידי חברת מיקרוסופט. באמצעות

אינטרנט דינמיים בשילוב נתונים מבסיסי נתונים, ולטפל בטפסים

ובמידע שנשלחים מהמשתמש.

Page 5: Speed Date Final Presentation

טכנולוגיים ) (2כלים• JavaScript מאפשר מימוש – Controls חדשים ובקשות

HTTP(Get/Post).לטובת מימוש הצ'אט ויכולת הוידיאו

• ActiveX.טכנולוגיה המאפשרת גישה לחמרת המשתמש –

• Facebook-שימוש ב – API של Facebook.

• MSI.בניית קובץ התקנה –

• Google SVN –Source Control.

Page 6: Speed Date Final Presentation

האפליקציה דרישות)' א) פרויקט

תקציר הדרישות

הצגת מידע כללי (סטטיסטיקות, אירועים, משתמשים פופולאריים).•

שמירת נתוני המשתמש (הירשמות לאפליקציה, עדכון פרטים אישיים).•

שמירת סטטיסטיקה אישית (מספר דייטים, דירוגים).•

).Cookie תמיכה בקונפיגורציות חיפוש שונות (נשמר כ-•

חיפוש משתמשים.•

יציאה לדייט קצוב בזמן.•

Page 7: Speed Date Final Presentation

בוידיאו תמיכה למשתמש תהיה היכולת לנהל שיחת וידיאו עם משתמש אחר.•

למשתמש תהיה היכולת לבטל את האפשרות של הצד השני לצפות בו •

(ע"י סגירת המצלמה דרך התכנה).

– מקרים של שגיאות (לאחד המשתמשים אין Error Handling תמיכה ב-•

מצלמת רשת מותקנת, אחד המשתמשים בוחר לסגור את המצלמה וכו').

, ActiveX, המשתמש יוכל לאשר או לאשר התקנת Security תמיכה ב-•

דבר שיאפשר גישה למצלמת הרשת הביתית.

האפליקציה ) ( 1דרישות)' ב) פרויקט

Page 8: Speed Date Final Presentation

 - ל Facebookחיבור

.Facebook המשתמש יוכל למצוא את האפליקציה בחיפוש אפליקציות •

.Facebok המשתמש יוכל להירשם לאפליקציה דרך •

, המשתמש יוכל לתת או לא לתת הרשאות Security תמיכה ב-•

לאפליקציה לפרסם בעמוד הפרופיל שלו.

אירועים מיוחדים יפורסמו בעמוד הפרופיל של המשתמש (במידה ויאשר •

זאת).

האפליקציה ) ( 2דרישות)' ב) פרויקט

Page 9: Speed Date Final Presentation

על מבט

- ה Clientצד

GUI

- ה ServerצדBusiness

Logic

Client ConfigurationServer Configuration

Common Utilities

Data Base

Data Access

Page 10: Speed Date Final Presentation

השכבות תאור

• Data Base Layer-שכבת ה –DB המכילה את כל טבלאות

הנתונים.

• Data Access Layer-שכבת הקישור עם ה -DB.

• Business Logic Layer שכבת הלוגיקה, מחזיקה את –

האובייקטים האפליקטיביים הרלוונטיים לשרת.

• GUI Layer-שכבה הנמצאת בצד ה - Client-המייצגת את ה ,GUI.

Page 11: Speed Date Final Presentation

Error Handling) למפתח)

Logger• , בעיות – ביעילות לפתור המפתחים לנו לאפשר המטרה

. באפליקציה שימוש כדי תוך להתעורר שעלולות אפשריותהכניסה • בעת ללוג כתיבה תתבצע עיקרית מתודה בכל

והיציאה.•. מרכזיות פעולות תכתבנה• , באופן ופרטיה השגיאה מיקום ייכתב שגיאה של במקרה

מדויק.

Page 12: Speed Date Final Presentation

- ה Flow (1)תאורשל Facebookמשתמש • אפליקציה .Dateמחפש ים-התוצאה ‘• מופיעה התוצאות Israel Speedברשימת

Dating’• , לא או לאפשר יכול המשתמש לאפליקציה הכניסה עם

בדף ) הודעות פרסום לאפליקציה הרשאות לאפשרהפרופיל(.

•. לאפליקציה רישום מבצע המשתמשירצה • איתם משתמשים של חיפוש מבצע המשתמש

לשוחח.•. אחר משתמש עם שיחה יוזם המשתמש•. הבקשה את מאשר השני המשתמש

Page 13: Speed Date Final Presentation

- ה Flow (2)תאורשל – • התראה מקבלים המשתמשים Install“שני

activeX.”•. מתבצע ההתקנה ותהליך מאשרים המשתמשיםשלו • הרשת מצלמת את מפעיל מהמשתמשים אחד כל

. התכנה דרךהמאפשר • כפתור על לוחץ מהמשתמשים אחד כל

. השני במשתמש צפייה

Page 14: Speed Date Final Presentation

(1וידיאו )תאור

: חלקים מכמה מורכבשל ActiveXאובייקט • הביתית הרשת למצלמת גישה המאפשר

המשתמש. •- ה .Serverצד המצלמה – מופעלת בו צד•- ה , Clientצד בצד – הביתית הרשת למצלמת המתחבר הצופה הצד

.Serverה-• Java Scripts- ה – עולם בין -Webחיבור .ActiveXל

תפקיד " לאפשר זה ובכלל הוידיאו טכנולוגית את לאפשר נועדו ל הנ החלקים

.) הביתית ) הרשת למצלמת גישה המשתמש של לחמרה גישה

Page 15: Speed Date Final Presentation

(2וידיאו ) Class Diagram

Page 16: Speed Date Final Presentation

(3וידיאו ) ActiveX

תאור: חלקים מכמה מורכב

• Security Interface - ה – שאובייקט מנת על הדרושות האבטחה הגדרות את מכילActiveX. בהמשך – יוסבר כבטוח ייחשב

• ActiveX Interface - ל – ייחודי מזהה ייחודי( GUIDזה )Interfaceמתן מזהה ומתן . ממומשת מתודה לכל

•: המתודות פרוט• RunServer. מרחוק – בה לצפייה אפשרות ומתן המצלמה הפעלת• RunClient. ' אט – לצ השותף של למצלמה התחברות• SetMyIp - ה – כתובת .IPשמירת המשתמש של• SetPartnerIP - ה – כתובת .IPשמירת ' אט לצ השותף של

• ActiveX Class - ה – שני את . Interfacesמממש " המתודות את שממש וכמובן ל הנ

- ל והתממשקות תקשורת מאפשר למעשה הזה .DLLהאובייקט הוידיאו של

Page 17: Speed Date Final Presentation

(4וידיאו ) ActiveX המשך

התקנהיוצר Setupבניית • - MSIאשר ה כל את של DLL’sהמכיל

- ה ואת - DLLהוידאו ה .ActiveXשל בהם משתמש אשר- Scriptיצירת • ה קובץ את מתקין .MSIאשרקובץ • - Infיצירת ה " Internet Explorerאותו לקרוא " יודע

- ה את להתקין המשתמש שעל הודעה להקפיץ .ActiveXובכך• " קובץ בתוך ל הנ הקבצים כל .CABאריזת• - ה בדף אובייקט - HTMLיצירת ה - GUIDעם ה של הייחודי

ActiveX - ה קובץ .CABומיקום

Page 18: Speed Date Final Presentation

(5וידיאו ) - ה תאור - Serverצד- ב רצה למעשה -Serverהמצלמה ה, שלנו זהו Serverבמקרה

. המצלמה מופעלת בו המחשבלמשתמשים Threadנוצר ומחכה המצלמה את מאתחל אשר

. למצלמה יתחברו אשר

Page 19: Speed Date Final Presentation

(6וידיאו ) - ה עיקריים- Serverצד אובייקטיםCloseCameraForm- ה - שכבת את -UIמייצגת ה צד את, Serverשל מריצה

- כ עצמה .Threadהמצלמה המצלמה, את לסגור למשתמש מאפשרת וכמוכן

CWebCamServer- ה - צד של הלוגיקה שכבת את מייצגת זו .Serverמחלקה- ה כתובת לפי המצלמה את להריץ .IPמאפשרת במחלקה השמורה

, , למצלמה מתחברים אשר משתמשים לשרת מוכנה היא מופעלת שהמצלמה ברגעלהם , Frameולשלוח כל- כאשר .Frameים תמונה הינו

של גדול מספר .Frameשליחת וידיאו- של תחושה למשתמש נותנת ים

Capture - מצלמת שהמצלמה הנוכחית התמונה את ללכוד אחראית זו מחלקהכתמונת .Bitmapולהחזירה

. וידיאו, של תחושה למשתמש נותנת ותדירה רצופה גישה כאמור

Direct Showספריית .Open Sourceזהו בו והשתמשנו שהורדנו

- ה של .APIהמספק dllהוא Open Sourceהתוצר המצלמה מול לעבודה נוח

Page 20: Speed Date Final Presentation

(7וידיאו ) - ה תאור - Clientצד

- ה צד .Clientזהו המצלמה, שידורי את שמקבל הצדומקבל Threadנוצר מרוחקת למצלמה מתחבר -Frameאשר

ים.

Page 21: Speed Date Final Presentation

(8וידיאו ) - ה עיקריים– Clientצד אובייקטים

VideoForm- ה - שכבת את מייצגת זו -UIמחלקה ה צד מריצה, ClientשלThread. מרוחקת למצלמה המתחבר

, בתדירות מתעדכנת התמונה מרוחקת ממצלמה תמונה רואה המשתמש. , וידיאו של תחושה למשתמש שמקנה מה גבוהה מאוד

CWebCamClient- ה - צד של הלוגיקה שכבת את מייצגת זו .Clientמחלקהכתובת באמצעות מרוחקת למצלמה להתחבר מאפשרת זו -IPמחלקה .Portו

, מתקבלים הגישה .Frameבאמצעות רצופים- ים- ה ממנה UIשכבת ומבקשת הלוגיקה לשכבת , Frameפונה הפניה- ים

. ותדירה רציפה בצורה מתבצעת- ה , UIשכבת המשתמש כך באמצעות למשתמש המוצגת התמונה את מחליפה

. , וידיאו של תחושה אנימציה של תחושה מקבל

Page 22: Speed Date Final Presentation

(9וידיאו ) Java Scripts

תאור- ה האובייקטים בין -Webהתקשורת ה- אובייקט לבין מתבצעת ActiveXים

.Java Scriptsבאמצעות

העיקריים התפקידים פירוט• - ה לאובייקט רפרנס .ActiveXקבלת• . משתמשים לשרת שמוכנה למצב והבאתה המצלמה אתחול•. מרוחקת למצלמה האזנה

Page 23: Speed Date Final Presentation

(10וידיאו ) - ה לעולם Webחיבור

תאור- ל מתחבר הוידיאו -Webכאמור ה אובייקט .ActiveXבאמצעות

- , ' ה אובייקט האם בדיקה מתבצעת אט צ תחילת מותקן ActiveXבעת. המשתמש במחשב

, שעליו התראה מקבל המשתמש מותקן שלא מחזירה והבדיקה במידה.Speed Date Video Pluginלהתקין ההתקנה בתהליך מתחיל והוא

, ממשיך והמשתמש התראה שום קופצת לא שמותקן מחזירה והבדיקה במידה. שלו השוטפת בעבודה

ChatRoom - - ה אובייקט את למשתמש, ActiveXמכיל מאפשר וכמוכן. המרוחקת למצלמה ולהתחבר עצמו של המצלמה את להפעיל

CDBChat- ה - כתובת את לקבל האפשרות את השני IPנותן המשתמש של) השיחה) מתבצעת מולו

Page 24: Speed Date Final Presentation

Facebook (1)תאור

- , כ רצה האפליקציה הקודם .Stand Aloneבפרויקט , להשתמש" ניתן היה השרת לכתובת ישירה כניסה י ע

באפליקציה.לבין האפליקציה בין חיבור נוצר זה בפרויקט

Facebook ,להשתמש ניתן לא מעתה כלומר- כ בה, Stand Aloneבאפליקציה להשתמש אלא

.Facebook Applicationכ-

Page 25: Speed Date Final Presentation

Facebook (2)Class Diagram

Page 26: Speed Date Final Presentation

Facebook (3)התשתית

מעל מעטפת לספק נועדה להשתמש, Facebookהתשתית לנו לסייע בכדי.Facebookשל APIב- נוחה בצורה

FBManager - עם מחלקה . Singletonשל Design Patternsזוהי:Singletonה- ומאפשרת לאפליקציה המתחבר משתמש כל עבור הוא

•- ה לאובייקט .Singletonגישהתהליך • -Loginביצוע .Facebookל לאפליקציה • הרשאות נתן המשתמש האם בדיקההמשתמש • בפרופיל הודעות פרסום

Page 27: Speed Date Final Presentation

Facebook (4)- ב APIשימוש

ב - " שימוש ".Facebook Tool Kit 3.0מתבצעמכילה הזו של ) APIהחבילה מול( DLLתוצר , Facebookלעבודה

- ה עם לעבוד כיצד הממחישות דוגמאות .APIוכמוכן

- ה באמצעות מתבצע :IFrameCanvasSessionהבא Interfaceהשימוש:Interfaceזהו , לבצע לנו מאפשר משתמש של התחברות לכל המוגדר•- ל התחברות .Facebookפעולתלאפליקציה APIלקבל • נתן המשתמש האם לוודא אפשר באמצעותו אשר

הרשאות.המשתמש APIלקבל • בפרופיל הודעות לפרסם יהיה אפשר באמצעותו אשר

Page 28: Speed Date Final Presentation

Facebook (5)בתשתית שימוש

- ה בתשתית המשתמשות המחלקות .Facebookתאור השימוש וצורך

Default , שני - הזה לדף האפליקציה עליית בעת שנטען הראשון הדף זהו: חשובים תפקידים

•- ב -Loginלטפל .Facebookל • , להפנות לא ואם לאפליקציה הרשאות העניק המשתמש האם לבדוק

. המתאימות ההרשאות את ייתן בו ללינק אותו

CDBChat , שהמשתמש – פעילות כל הדייטים כל את המנהלת המחלקה זוהי. , שלו, הפרופיל בדף תפורסם לדייטים הקשורה מבצע

Page 29: Speed Date Final Presentation

מרכזית ) בעיה (1תאורהבעיה תאור

של מסויימות וגרסאות ההפעלה ממערכות - Internet Explorerבחלק ה, התקנת לאחרActiveX באמצעות שלו ולמאפיינים למתודות לפנות ניתן - Java Scriptלא ה .Webמחלון

לפתרון וניסיון הבעיה מיקודהכל Registry Keysהשוואת • בהם המחשבים לבין קיימת הבעיה שבהם המחשבים בין

. כשורה עובד- Hello Worldפשוט )“ActiveXקידוד • ה”( .DLL’sללא ובדיקה הוידאו של• MSDN.• Google) הרבה )

Page 30: Speed Date Final Presentation

מרכזית בעיה (2 )תאורהפתרון צורת

. Interfaceיצירת • מתן נממש אותן מתודות - IDעם ו מתודה לכל - GUIDספציפי ל ספציפיInterface - . ה. מתודה לכל ייחודי מזהה יצרנו זו שמממש Classהוא ActiveXבצורהInterface. זה

- Security Interfaceיצירת • ה . ActiveXאשר את מגדירים אנו בעצם כאן אותו גם יממש - ה אובייקט של הנדרשות האבטחה - ActiveXהגדרות ב שמוסבר כך MSDNכפי ידי ועל

- ב כבטוח ייחשב .Internet Explorerהאובייקט כראוי ויוצג• - ה - ActiveXרישום כ ההתקנה אל Com Deviceבזמן לגישה הרשאות מתן כך ידי ועל

. שלו והמתודות האובייקטקובץ • - Infיצירת ה התקנת בזמן מותקנת ActiveXאשר והאם מותקן כבר האם מזהה הוא

. יותר ישנה גרסה

Page 31: Speed Date Final Presentation

להמשך מבט

חלק מימשנו בו המשך פרויקט לעשות הזכות בחלקנו נפלה: הקודם הפרויקט מרעיונות

•( ' אט צ בוידיאו (Web-Camתמיכה•- ל .Facebookחיבור

, את ישדרגו אשר ליישום שניתנים רעיונות כמה עוד יש כן כמו) הבא ) בשקף האפליקציה

Page 32: Speed Date Final Presentation

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

Page 33: Speed Date Final Presentation

? למדנו מההמון...

• Design , פירות - את קצרנו המשך מפרויקט כחלק נכון. הראשון הפרויקט

•- ב .ActiveXשימוש• MSI. התקנה - בניית•- ב .Facebookשל APIשימוש•. קיים מוצר של יכולות הרחבת

Page 34: Speed Date Final Presentation

שאלות...