Professional Documents
Culture Documents
SA Lec.2 Part 1 ارتق
SA Lec.2 Part 1 ارتق
SA Lec.2 Part 1 ارتق
2 PART1
يSystem Development Methods في المحاضرة بتاعتنا هنتكلم عن مجمزعة من ال
أيdevelop الل بنبدأ نستخدمه ل
. احنا عايزين نبنيهsoftware
وPhases تقولي أي الMethods و علشان نبنيه محتاجProduct هو عبارة عنSoftware خلينا متفقين ان أي -
. اللي احنا مفروض ننفذها و نعدي عليهاTasks
Structured Analysis :-
Traditional method for developing systems
Organized into phases
Processes Centric و بنقول عليهاSystems التقليدية اللي بنستخدمها في تطوير الmethod يعتبر من ال -
Functional اللي بتم والProcesses بمعني إانه بيشوف ال بيركز علي الprocess Oriented Method او
. عايزنهاFunctions اللي عايزين علشان ننفذهاData اللي السوفت وير محتاجها و بالتالي بنوصلRequirement
بس احنا هنا هنتكلم بشكل عام عن اهم ال5 في بعض المراجع بتقسمها الكتر من -
فيهاmethod ( تسلسلي ) ومن اشهر الsequential اللي بنفذها بشكلPhases
بالكامل قبل ماphase اللي الزم فيها إننا نخلص كلWaterfall Method هي
.more detailed اللي بعده و هنتكلم قدام بشكلphase ننتقل علي ال
Object-Oriented Analysis :-
More recently method for developing systems
Objects represent actual people, things, or events
.ً موخراSystem االكثر شيوعا ً في تطوير الmethod يعتبر من ال -
Data Oriented Method بتاعتي و ممكن نقول عليهاprocesses ومنها هقدر اول للData بتركز بشكل اكبر علي ال -
Data Part وهنا الClass Diagram ودا بنشوفه في الBehavior مع الData وهنا دمج الData Centric او
.Methods بيمثل الBehavior Part و الAttributes يتتمثل في ال
هنتكلم هنا عن ال SDLCو هنعرض ال Phasesاللي هنعدي عليها في مرحلة بناء أي .software
1- Systems Planning
System request
مرحلة ال planningبتبتدي ب requestسواء كان الطلب دا لعالج مشكلة معينة اوتعديل علي Business processمعينة و بعمل
describeبالتفاصيل عن ال problemاللي اتعملها requestوهنا بيأكد علينا اننا مش بنعمل Replacementال احنا بنعمل
improveلسوفت وير باستخدام احدث ال Toolsو Techniquesالمتاحة.
purpose of this phase is to perform a preliminary investigation - critical step
الهدف الرئيسي من المرحلة دي هي إننا بنعمل investigation studyو تعتبر من أهم الخطوات
Key part of preliminary investigation is a feasibility study
جزء أساسي من ال investigationاللي بعمله هو دراسة الجدوي مثال علي الكالم لما بعمل Economic Feasibleو بشوف ال
costوبقارنها بال Budgetالمتاحة و بشوف ال profitاللي هكسبها و اقارنها بال costو اشوف لو هكون فيه benefitوال ال ؟!
ممكن بردوا السوفت وير اللي احنا هنبنيه صعب إنه يتنفذ في الواقت الحاضر مثال علي دا زمان ستيف جوبز طلع بفكرة غريبة جدا في
واقتها " " music in your pocketوفي الواقت دا كان غير قادرعلي تطبيق الفكرة دي في ارض الواقع الن مفيش Techniques
بت supportالفكرة دي انها تتنفذ بس بعد كام سنة ظهر Media Playerفى , iPodال moralهنا ان ممكن Requirementتكون صعب
تتنفذ في الواقت الحالي فعلشان كدا ال feasibility studyمهم جدا علشان ابني السوفت وير من غير أي مشكلة.
2- Systems Analysis
Build a logical model of the new system
في المرحلة ال analysisببني logical Modelللسيسم اللي هبنيه
Perform fact-finding techniques
أهم تاسك في المرحلة دي اني بدور و بحاول اتعرف علي ال requirementsمن خالل مجموعة من fact-finding techniques
منها إننا نعمل face to face interviews, Survey and Questionnaires
Build business model, data and process models, and object models
ببدأ اعبر عن ال Requirementsبشكل Graphicallyفبنبني مجموعة من الموديلز علشان نعرف أي شكل الداتا اللي محتاجنها و أي
ال business logicاللي احنا هنفذه
Deliverable the system requirements document
ال outputمن المرحلة دي system requirements documentو هنتعرف علي محتواها فيما بعد
بنعمل هنا Simulateلل GUIاللي هستخدمه في السيستم و ببدأ احدد ال Data Designاللي من خاللها احدد شكل الداتا
.............. , Column Database , Graphically Database , Relation Databaseو بحدد نوع ال System
architectureزي مثال إنه هيكون N-Tier , 3-Tier , 2-Tierباإلضافة إني بحدد نوع التخرين للداتا بتاعتي هل هتكون
centralizedعلي ماشين واحدة وال distributedاكتر من ماشيبن
Identify input, output, and process
check result اللي هتتنفذ خاللهم وفي االخر اعملprocess اللي عايزها والoutput اللي هدخلها والinput هنا بحدد نوع ال
! هل هو اللي عايزها وال محتاج تعديل ؟output علي ال
Deliverable is the system design specification
بيكون موضح كل الحاجات اللي قولناها فوقsystem design specification من المرحلة دي بيكونOutput ال
Management and user involvement is critical
و الناس اللي في اإلدارة اللي هتستخدم السيستمEnd-User هنا بيأكد علي أهمية إننا الزم نتشارك مع ال
4- Systems Implementation
New system is constructed
implementationفي المرحلة دي ببدأ فعليا ً في بناء السيستم وبتبدا عمليه ال
Programs are written and tested
! وال ال ؟valid هل هيrequirements و نكتب االكواد و نرن الكود و نقارنة بالProgram languages بنبدأ نحدد ال
System is installed
Desktop Application , اللي هستخدمهاplatform علي الinstallation اعملهprogram بعد ما اخلص كتابة ال
Server اوLocal Machine و هيكون عليMobile Application, WEB Application
Deliverable is a completely functioning and documented information system
. بدون مشاكلRequirements كامل وبينفذ كل الSoftware System هنا بيكونoutput ال
waterfall model
assumes that the various phases of a project can be carried out and completed entirely
sequentially
زي ما اتكلمنا قبل كدا ان ال Waterfall
modelبيتنفذ بشكل sequentiallyو إننا
الزم نخلص ال phaseبالكامل بعد كدا
ننتقل لل Phaseاللي بعده و بوقف او اجمد
ال previous phaseوبعد ما اخلص كل
phaseبيطلع outputليه
-:Strengths
هنا هنتكلم علي أهم مميزات ال Waterfall model
هنا بيكون اختيار كويس جدا للناس اللي معندهاش خبرة كبيرة ألن كل حاجة بتكون واضحة بالتفاصيل الخاصة بيها شاملة كل الجوانب اللي
هيتعرضوا ليها.
Reliability and Maintainability of strict control ensures Quality, Orderly sequence of steps and
developed system.
تنفيذ ال Phasesبشكل sequentiallyدا بيساعد علي إننا نقدر نتأكد من ال Reliability, Maintainability, Qualityو تكون
بالشكل اللي عايزين ننفذه و يكون مثالي جدا.
Weaknesses
Cumbersome. Inflexible, slow, Costly and
بتكون معندهاش مرونة في التعديل إلني بعدما اخلص مرحلة مبرجعلهاش تاني ولو اضطريت اعدل بيكون مكلف و متعب جدا و كمان بتكون بطيئه الني
الزم اعمل planningللسيستم كله و بعد كدا ادخل علي ال analysisكلها و هكذا لحد ما اخلص Life Cycleفبتالي دا بياخد واقت كبير ممكن
يزيد عن سنة
:- Object-Oriented Analysis
Combine data and the processes that act on
the data into things called objects
methods وdata اللي هي الattributes هنا بمثل الداتا ب -
وبسميهاData و بدمج االتنين و لتمثيل الprocess اللي هي
Objects
علي حسب الobject و ممكن تغير من خواص الmethods اللي بحتاجها زي ما عرفنا بنسميهاprocessesال -
اللي بتنفذهBusiness logic
Agile Methods :-
يعتبر واحد من احدث ال techniqueاللي بيتم استخدامها و بتتنفذ بشكل incremental -
بيتم عمل initial versionsفي البداية كتير علشان اشوف أي اللي ممكن يتعدل او يتحسن في ال Next iteration -
بعد ما اخلص كل iterationبطلع versionجديدة في االخر بعمل integratedليهم كلهم واعمل release -
ل final product
واحدة من أهم مميزات ال Agileإنه مستعد ألي تغير يطلب واللي بيساعدة في دا إنة عبارة عن Iterative development -
وبياخد أي فيدباك من ال End-userويعدلها في ال next iterationو يطلع New Versionوهكذا لحد ما يتأكد ان كل ال
Requirementsمتنفذه تمام و مفيش أي عيب في ال IT infrastructureاللي هناقشها قدام
فكرة ال agileابتدت لما كان في تقريبا 22واحد شفالين في software engineeringبصفه عامي اجتمعوا مع بعض -
وبحثوا عن طرق جديدة لتطوير Software developmentو في االخر ولصلوا لحاجة اسمها Agile Manifesto
مش معني إني اتكلمت علي أي rulesاللي ال agileوفرها أن rulesالتانية غلط او مش مهمة ال بالعكس ممكن لو
استخدمت ال rulesالتانية عن ال Agileيكون هو الصح فالموضوع بيفرق علي نوع السيستم اللي هيتبني و التيم اللي
شغال عليه و في أوقات كتير بندمج االتنين مع بعض بأختالف درجة االهتمام .
waterfall ودا اللي كان صعب جدا في الLife cycle في أي واقت في الrequirements عنده القابلية ألي تعديل او تغير في ال
model
with a 3. Deliver working software frequently, from a couple of weeks to a couple of months,
preference to the shorter timescale.
أسابيع و طبعا دا بيرضي العميل و بيسرع من بناء السيستم4 من فترة أسبوعين لSoftware product بأستمرار بيقدم
4. Business people and developers must work together daily throughout the project.
iteration عضو في التيم اللي شغال علي بناء السيستم وبياخد رأيه في تفاصيل كتير و بياخد فيدباك منه علي كلend userبيخلي ال
support they 5. Build projects around motivated individuals. Give them the environment and
need, and trust them to get the job done.
هنا بيتوفر للتيم بيئه عمل مناسبة و بشجع التيم إنه يبني السيستم وبثق فيهم واديهم كامل الصالخحيات و هنا بيتعامل مع التيم كلة مش عبارة
one unit ان كل واحد لية تاسك و بحاسبة عليها ال مش كدا خالص التيم بيشتغل بشكل متعاون و بيتفاعله مع بعض ك
development 6. The most efficient and effective method of conveying information to and within a
team is face-to-face conversation.
او ما بين الdevelopers وend user سواء بين الface-to-face أبحاث كتير أثبتت فاعلية و كفائه التواصل اللي بيتم
وبعضهمdevelopers
deployment و خلصت وعملتلهاfeatures هنا احنا بنقيس السوفت وير إنه قد أي نفذنا
8. Agile processes promote sustainable development. The sponsors, developers, and users should be
able to maintain a constant pace indefinitely.
وان يكون ليهم هدف واحد وهو بناء السيستم في احسن شكلsponsors, developers, usersهنا بيأكد عليي العمل المتعاون بين ال
10. Simplicity--the art of maximizing the amount of work not done--is essential.
الزم نبسط أي حاجة بنفذها من غير تعقيد و نعمل maximizingللحاجات اللي مش مطلوبة منك و دا بيعقد أي تاسك بتطلب منك و بتضيع واقت كبير
teams. 11. The best architectures, requirements, and designs emerge from self-organizing
هنا التيم هو اللي بينظم نفسه وكلمهم عندهم نفس التاسك ولبهم نفس الهدف عكس فكرة تقسيم التاسكات و كل واحد يكون ليه ديدالين ويكون في عقاب
للتأخير او ان التاسك مش بتنفذ المطلوب
tunes and adjusts its 12. At regular intervals, the team reflects on how to become more effective, then
accordingly. behavior
بعد كل iterationالتيم بيعمل meetingويشوف هو أي الحاجات اللي كانت ممتازة و اخدها و هستمر عليها و بردوا بشوف أي الحاجات اللي كان
عكس التوقعات و منفذهاش تاني وهكذا بشوف أي هي الدروس المستفادة من تجربتنا في ال iteration
هنا بيقول علي طول بعد كل iterationبطلع productبيعبر عن جزء من السيستيم و كل فترة بنتج New
version
Increased stakeholders satisfied
بما إني كل شوية بطلع versionمن السيستم باخد الفيدباك من ال end userو لو في أي requirement
زيادة بنفذها في ال Next iterationو دا طبعا بيعمل حالة من الرضا للعميل اللي بنفذ كل طلباته بسهوله
من اهم المميزات إنه قابل للتعديل و التغير في أي مرحلة في ال iterationبدون أي مشكلة
التصميم مهم جدا و بيضم ال end userالن رأيه مهم جدا و الفيدباك بتاعه بتفيد ال developerاو ال
designer
Daily interaction
بيكون في تواصل وتفاعل يوميا بين جميع افراد التيم و غالبا بيكون ال في واحد من ال end userموجود
جديدة معاهم ولو في مشكلة يتم مناقشتها او requirement
#باألخالق_والعلم_نرتقي 😉 <3