הקדמהמטרות הפרויקטתיאור המערכתמטלות להגשה
דגשיםJDK1.7.0הוספת
– תרגול 2 תכנות מתקדם 89-2111
Clever DropBoxClever DropBox
אליהו חלסצ'י
89-21189-211 22תכנות מתקדם תכנות מתקדם 1תרגול מספר
2010-2011תשע"א
הקדמהמטרות הפרויקטתיאור המערכתמטלות להגשה
דגשיםJDK1.7.0הוספת
– תרגול 2 תכנות מתקדם 89-2111
הקדמה
בסמסטר א' הגשתם מטלות:" ובהדרגה איך צריךשהגדירו את ה "•
עברו לניסוח חופשי יותר שהגדיר רק את "מה צריך"
החלוקה להגשות היתה קשיחה•רמת החופשיות שלכם עלתה בהדרגה אך •
נותרה די קטנהbottom upעבדתם בצורת •
הקדמהמטרות הפרויקטתיאור המערכתמטלות להגשה
דגשיםJDK1.7.0הוספת
– תרגול 2 תכנות מתקדם 89-2111
הקדמה
מטלות הקורס:
פרויקט אחד גדול•
(milestonesהגשה בשני חלקים )•
עובדים על התרגיל בזוגות )לא שלשות(•
Top downגישת •
שימוש בכלים ובשיטות מהתעשייה•
צריךמה ועל designשליטה שלכם על ה •
הקדמהמטרות הפרויקטתיאור המערכתמטלות להגשה
דגשיםJDK1.7.0הוספת
– תרגול 2 תכנות מתקדם 89-2111
מטרות הפרויקטתיקייה משותפת המסנכרנת קבצים אוטומטית על פני
האינטרנט לכמה משתמשיםtop downעבודה בשיטת •high level designעבודה ע"פ •version controlעבודה כחלק מצוות תכנות ושימוש ב •
git או ב mercurialבונוס לשימוש ב –
ביצוע בדיקות קוד תוך כדי בניית הפרויקט•library \ plug-inשימוש ב •שימוש בכלים נוספים שנלמד במהלך הסמסטר•התמודדות עם הגדרות מתווספות לפרויקט•
הקדמהמטרות הפרויקטתיאור המערכתמטלות להגשה
דגשיםJDK1.7.0הוספת
– תרגול 2 תכנות מתקדם 89-2111
תיאור המערכת
Clever DropBox:dropboxתיקייה מקומית מוגדרת כתיקיית •כאשר נעשה שם שינוי כלשהו לקבצים•
העתקה, מחיקה, העברה, שינוי שם, שינוי תוכן וכו'–
על המערכת לזהות את השינוי•ולעדכן את שאר המשתמשים המשתפים •
תיקייה זו בשינוי שקרהכך שלכל המשתמשים תהיה תיקייה זו •
מעודכנת ומסונכרנת
הקדמהמטרות הפרויקטתיאור המערכתמטלות להגשה
דגשיםJDK1.7.0הוספת
– תרגול 2 תכנות מתקדם 89-2111
תיאור המערכת
המערכת מורכבת ממס' רכיבים•שרת•
תוכנה המאזינה לפניותיהם של קליינטים–מחזיק מס' תיקיות משותפות ומיהם המשתפים–הקליינט מודיע על שינוי בתיקייה משותפת כלשהי–השרת מעדכן את התיקייה אצלו בשינוי שארע–ומודיע למשתפים שיש עדכון–
למעשה מודיע להם שהם לא מסונכרנים•
להורדה של הקבציםweb interfaceהשרת מספק –
הקדמהמטרות הפרויקטתיאור המערכתמטלות להגשה
דגשיםJDK1.7.0הוספת
– תרגול 2 תכנות מתקדם 89-2111
תיאור המערכתמחשב אישי )קליינט(•
ברקע שמאזין לדיווחים של מערכת ההפעלה שירותמריץ –DropBoxעל שינויים בתיקיית ה
•Event driven )פרטים בסוף המצגת(JDK 7דורש •
בכל שינוי הוא דואג שהשרת יהיה מסונכרן–יש לנהל את העדכונים של השרת בצורה חכמה•
...plug-inהגדרות משתמש, –
השירות אף מאזין לשרת למקרה של קבלת הודעה של –חוסר סנכרון
במקרה זה השירות יעדכן את התיקייה ע"פ הנתונים הקיימים •בשרת
יש לחשוב מהי הארכיטקטורה שעל פיה הקליינט יידע על שינויים•
הקדמהמטרות הפרויקטתיאור המערכתמטלות להגשה
דגשיםJDK1.7.0הוספת
– תרגול 2 תכנות מתקדם 89-2111
תיאור המערכת??clever DropBox ב cleverאז מה •כדי למצוא קובץ לא נחפש אותו בתיקיות שבתוך •
DropBoxלמעשה כל הקבצים נמצאים שם בצורה שטוחה•במקום, ננהל מערכת תגיות לקבצים שעל פיהן ניתן •
למצוא קבצים מבוקשיםכל קובץ חדש מקבל תיוג אוטומטי )או מס' תיוגים(•plug-inהתיוג נקבע ע"פ מדיניות שאותחלה כ • כאלו3עליכם ליצור לפחות •
הקדמהמטרות הפרויקטתיאור המערכתמטלות להגשה
דגשיםJDK1.7.0הוספת
– תרגול 2 תכנות מתקדם 89-2111
תיאור המערכת בפועל עליכם להחזיק טבלה הממפה תיוג •
לרשימת הקבצים שהתיוג הזה חל עליהםלמה לא להיפך?–
, זו תהיה hashingאת הטבלה ניתן לממש באמצעות •עבודה מיותרת
באמצעות מסד נתוניםבמקום, עליכם לעבוד מעל •ORM - Hibernateשכבת
כך, תוכלו למצוא בקלות חיתוכים כגון • ולא שייכים ל ”BIU“" ול workכל הקבצים השייכים ל "–
"2006"
הקדמהמטרות הפרויקטתיאור המערכתמטלות להגשה
דגשיםJDK1.7.0הוספת
– תרגול 2 תכנות מתקדם 89-2111
תיאור המערכתפרט לשירות עליכם ליצור:
•GUI המאפשר את חיפוש הקבצים ע"פ תיוגים DropBoxבתיקיית ה
•GUIקטן המהווה שלט רחוק עבור השירות המאפשר להפעיל, לעצור, להמשיך ולהפסיק את השירות–
נושאים למחשבה:•כיצד יודעים מתי תוכן של קובץ השתנה?–מה עשוי להתווסף לפרויקט?–
הקדמהמטרות הפרויקטתיאור המערכתמטלות להגשה
דגשיםJDK1.7.0הוספת
– תרגול 2 תכנות מתקדם 89-2111
מטלות להגשה ותשתית קוד:designמטלה ראשונה
high-level designעליכם להגיש תרשים • design לכל אחת מתתי המערכות, ע"פ umlתרשימי •
patternsעליכם לתאר אלו תוספות עתידיות צפיתם והיכן •
designהשארתם להם מקום ב כשהמימוש הפנימי רק interfacesתשתית הקוד – •
מדפיס למסך שביצע את המוטל עליוכשמריצים את הקוד צריך לראות בהדפסות למסך •
את אתחול המחלקות השונות שיצרתם
הקדמהמטרות הפרויקטתיאור המערכתמטלות להגשה
דגשיםJDK1.7.0הוספת
– תרגול 2 תכנות מתקדם 89-2111
מטלות להגשה
מטלה שנייה: יתפרסמו תוספותdesignלאחר הגשת ה •
לפרויקט, עליכם להשלים את המוצרבכוונה לא נאמר לכם מראש מתי יבואו •
השינויים כדי שלא תחכו עם כתיבת הקודעליכם לבצע בדיקות יחידה כדי לוודא •
שהחלקים השונים אכן עובדיםעליכם להגיש דו"ח פרויקט ע"פ הפורמט שינתן •
בהמשך
הקדמהמטרות הפרויקטתיאור המערכתמטלות להגשה
דגשיםJDK1.7.0הוספת
– תרגול 2 תכנות מתקדם 89-2111
דגשים
לצורך אחידות בבדיקה ושימוש בכלים •scala או ב javaמסוימים התרגיל ייכתב ב
ניתן ואף רצוי להשתמש בכלים מוכנים• וניתן להשתמש GUI orientedהתוכנית אינה •
net beansבעורכים וויזואליים כגון העורך של swingל
ואף version controlעליכם להשתמש ב •להציג זאת בדו"ח הפרויקט
mercurial או gitבונוס ל –
הקדמהמטרות הפרויקטתיאור המערכתמטלות להגשה
דגשיםJDK1.7.0הוספת
– תרגול 2 תכנות מתקדם 89-2111
דגשיםעליכם לחלק את העבודה בצורה הוגנת•
תצטרכו לפרט על כך בדו"ח–אתם עשויים לגשת להגן על הפרויקט–
תכננו מראש את העבודה על פני הסמסטר לתוך לוח •זמנים
תשאירו טווח ביטחון, ותשדלו לעמוד בזמנים •שקבעתם
אם בכל שבוע תעבדו קצת על הפרויקט ולא תחכו •לרגע האחרון – לא תהיה לכם בעיה של זמנים
ניתן להסתכל על התרגולים כדי לנחש איזה חומר •יתווסף לפרויקט, ולתכנן את העבודה בהתאם
הקדמהמטרות הפרויקטתיאור המערכתמטלות להגשה
דגשיםJDK1.7.0הוספת
– תרגול 2 תכנות מתקדם 89-2111
JDK1.7.0הוספת
/https://jdk7.dev.java.netהורדה מתוך •
Latest JDK 7 binary snapshotsנבחר ב •
נבחר את הגרסא המתאימה למערכת •(bit 64ההפעלה שלנו )יש גרסאות גם ל
לדוגמא עבור לינוקס נוריד את•jdk-7-ea-bin-b85-linux-i586-04_mar_2010.bin
ועבור חלונות נוריד את•jdk-7-ea-bin-b85-windows-i586-04_mar_2010.exe
הקדמהמטרות הפרויקטתיאור המערכתמטלות להגשה
דגשיםJDK1.7.0הוספת
– תרגול 2 תכנות מתקדם 89-2111
JDK1.7.0הוספת
התקנהwizardעבור חלונות ייפתח לנו •
עבור לינוקס נבצע את הצעדים הבאים:• במקום בו שמרנו את הקובץterminalנפתח את ה –sh jdk-7-ea-bin-b85-linux-i586-04_mar_2010.binנפעיל: –
לאישורyes ליציאה ו Qתנאי הרישיון יופיעו נלחץ –jdk1.7.0ההתקנה תיצור לנו את התיקייה –עדיף לפתוח לה את כל ההרשאות ע"י–
chmod 777 jdk1.7.0 –Rאפשר להעביר את התיקייה לאן שרוצים–
הקדמהמטרות הפרויקטתיאור המערכתמטלות להגשה
דגשיםJDK1.7.0הוספת
– תרגול 2 תכנות מתקדם 89-2111
JDK1.7.0הוספת
, ונרצה eclipseניצור פרויקט חדש ב •1.7 ב JRE 1.6להחליף את ה
לכן נכנס למאפייני הפרויקט לתוך ה •build path ונבצע remove ל JRE1.6
הקדמהמטרות הפרויקטתיאור המערכתמטלות להגשה
דגשיםJDK1.7.0הוספת
– תרגול 2 תכנות מתקדם 89-2111
JDK1.7.0הוספת
add libraryכעת נבחר •
בחלון שיפתח נבחר• JRE System Library
הקדמהמטרות הפרויקטתיאור המערכתמטלות להגשה
דגשיםJDK1.7.0הוספת
– תרגול 2 תכנות מתקדם 89-2111
JDK1.7.0הוספת
Alternate JREנסמן את •
installed JREsונלחץ על •
הקדמהמטרות הפרויקטתיאור המערכתמטלות להגשה
דגשיםJDK1.7.0הוספת
– תרגול 2 תכנות מתקדם 89-2111
JDK1.7.0הוספת
אם אין לנו את האופציה לבחור •add אז נלחץ על JRE 1.7.0את
next ונלחץ standard VMנבחר •
הקדמהמטרות הפרויקטתיאור המערכתמטלות להגשה
דגשיםJDK1.7.0הוספת
– תרגול 2 תכנות מתקדם 89-2111
JDK1.7.0הוספת
directoryנלחץ על •
בלינוקס נבחר את מיקום התיקייה •jdk1.7.0שבחרנו קודם
בחלונות נבחר את•C:\Program Files\Java\jre7
הקדמהמטרות הפרויקטתיאור המערכתמטלות להגשה
דגשיםJDK1.7.0הוספת
– תרגול 2 תכנות מתקדם 89-2111
JDK1.7.0הוספת
ונאשרjdk1.7.0כעת נסמן את •
נוודא שגם בחלון הקודם ה •alternate jre הוא jdk1.7.0
הקדמהמטרות הפרויקטתיאור המערכתמטלות להגשה
דגשיםJDK1.7.0הוספת
– תרגול 2 תכנות מתקדם 89-2111
JDK1.7.0הוספת
JREכעת הפרויקט שלנו מוגדר לעבוד עם • ולכן אנו יכולים להשתמש בכל 1.7.0בגרסא
javaהכלים החדשים שנוספו \ השתפרו ב
המאפשרות לנו האזנה NIOבפרט בספריות •יעילה למערכת ההפעלה
מגיעה גם עם תיקייה בשם ubuntuהגרסא ל •sample ובה דוגמאות קוד מועילות ביותר
לפרויקט )ניתן גם למצוא אותן באינטרנט(
Top Related