summarize chapters on SW, Cheat Sheet of Software Development

summarize chapters on Software

Typology: Cheat Sheet

2022/2023

Uploaded on 06/06/2023

yasmin-sofyan
yasmin-sofyan 🇪🇬

1 / 7

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Software development : the process of taking a requirements from a user
analyzing , designing a solution to the problem, and then implementing that
solution on a computer ديفم جتنمل تايلمع ةدع للاخ نم ةلكشم ليوحت ينعي
*Programming are design and implementation part of software development
*Software development is part of software engineering
*software development is that part concerned with the creation of the actual
software بلا ءانبو سب دوكلا لغشب صتخم هد بولوفيدلا رخلاا نم ينعي ايلعف جمانر
*Developing software , Learning how to develop software correctly,
efficiently, and beautifully are hard
*Writing a lot of code lets you experiment with the styles and examples
you’ve seen in your reading.
يجيت امل كتربخ دوزيب ريتك داوكا ةباتك دكأتت كدعاسيب قيمعلا ريكفتلا نامكو ةجمربلا بتك يف أرقت
كعاتب ميتلا نم راكفا علطت فرعت كيلخيب نامكو ميمصتلا يف حيحصلا قيرطلا يلع يشام كنا
*In order to do software development well you need the following:
• A small, well integrated team. فيد لمعت ناشع ينعي صتخم دحاو لك ضعب اولمكيب تلااصتا مهنيب ريغص ميت جاتحم حيحص بولو
رتكا نيجتنم اونوكيه مهنلا ةقباس ةربخ مهدنع نوكيو هلاجم يف
, عورشملا زاجنا يف ريتك دعاسيب ناكملا سفن يف شم ولو يتح ميتلا دارفا نيب لصاوتلا*
هف ةمهم ميتلل لهسيب هد ليمعلاو ميتلا نيب لصاوتلا اماع عورشملا تابلطتم م اوفرعي ناش
رخلاا يف ينعي جتنم اوعلطي
*Larger projects and larger teams tend to be more plan-driven and follow
processes with more rules and documentation required.
اهم وا نيناوق وا ريس طخب رتكا نيمزلم اونوكيب ةريبكلا تاميتلاو تاعورشملا شريغتتبم ةتباث م
نع جمانربلا ءانب يف ربكلاا مامتهلاا نوكيب ةريغصلا تاعورشملا سكع يلع اهيلع اوشميب
Documentation
*The ability to be flexible about that process
دح ول طايتحا نيلماع يقبن نامكو كسيرلا يف مكحتن مزلا عورشملا يلع رثأت ةجاح يأ شم ينعي
كسيرلا تايلامتحا لك اهيف ةنرم زيسوربلا نوكت مزلا اذكهو تريغتا تابلطتملا وا يشم ميتلا نم
*You shouldn’t launch a software development project without a plan. شيفم هتلمع تنا يللا لك اهيف يه يللاو عورشملا ميدقت ةظحل ةمهم ةطخلا ةطخ شوهلم عورشم
ةقيقدلا ليصافتلا يتح عورشملا يف
*To know where you are at all times.
نع هيف اوملكتت جنتيم للاخ نم عورشملا يف نيف نيفل اوتلصو ميت دارفأك لوأب لوا عباتم يقبت ينعي
ورشملا تاروطت رخا هتعاتب كساتلا يف هيا لمع دحاو لكو ع
*plan-driven models don’t require these meetings
*Agile processes often require daily meetings to improve communications
among team members
pf3
pf4
pf5

Partial preview of the text

Download summarize chapters on SW and more Cheat Sheet Software Development in PDF only on Docsity!

Software development : the process of taking a requirements from a user

analyzing , designing a solution to the problem, and then implementing that

solution on a computer

*Programming are design and implementation part of software development

*Software development is part of software engineering

*software development is that part concerned with the creation of the actual

software

*Developing software , Learning how to develop software correctly,

efficiently, and beautifully are hard

*Writing a lot of code lets you experiment with the styles and examples

you’ve seen in your reading.

*In order to do software development well you need the following:

• A small, well integrated team.

*Larger projects and larger teams tend to be more plan-driven and follow

processes with more rules and documentation required.

Documentation

*The ability to be flexible about that process

*You shouldn’t launch a software development project without a plan.

*To know where you are at all times.

*plan-driven models don’t require these meetings

*Agile processes often require daily meetings to improve communications

among team members

To be brave enough to say, “hey, we’re behind!”

*The right tools and the right practices for this project

The three most important factors in choosing tools are the application type

you are writing, the target platform, and the development platform

Chapt.

Program steps:-

1 - Conception 2 - Requirements gathering/exploration/modeling 3 - Design 4 - Coding and debugging 5 - Testing 6 - Release 7 - Maintenance/software evolution 8 - Retirement

  • life cycle model types - : 1 - first type, the project team will generally do a complete life cycle – at least steps 2 through 7 “plan-driven” وده غالبا بيحصل في مشاريع 2 - the second type, which is more prevalent these days, the project team will generally do a partial life cycle – usually steps 3 through 5 “agile” وده بيحصل في *plan-driven models: − the process tends to be stricter in terms of process steps and when releases happen. − clearly defined phases , and more requirements for sign-off on completion of a phase before moving on to the next phase − Plan-driven models require more documentation of each phase and verification of completion of each work product.
  • These tend to work well for government contracts for new software with well-defined deliverables. نتهية ومتطلباتها منتهيةالزم المرحلة تكون م الملخص ده مودل بتمشي فيه علي معايير ثابتة توثيق المستندات مهم+ قبل ما تدخل علي المرحلة اللي بعدها + العقود بتاعة المشروع تكون رسمية مع تسليمات نهائية محددة The agile models are inherently incremental, and make the assumption that small, frequent releases produce a more robust product than larger, less frequent ones. عكس الكالم اللي فوق انك بتعمل اطالق لنسخ ابتدائية عن المنتج وكل نسخة انت بتزود عليها متطلب من اللي عايزه العميل بغض النظر عن التوثيق والكالم ده االهتمام االكبر بيكون متسلط علي الكود علي البرنامج ومرونته
  • Code and Fix: بيكون بين مرحلة بداية الكود وتسليم الفيرجن وده خطأ في الكود بيقع فيه معظمنا بسبب ان مفيش مستند امشي ده تصليح الي خطا في الكود ده قبل أي شئ تاني عشان الفيرجن تكون شغالة عليه او ما شابه عشان كده انك بعمل

4 .Short iteration cycles and frequent releases: XP typically uses release cycles in the range of just a few months and each release is composed of several iterations, each on the order of 4–6 weeks. مرة 100 شرحتها *Risk is the most basic problem in xp *Managing risk is a very difficult and time-consuming management problem

  • حاجات : 4 وعشان اتحكم في الريسك الزم اتحكم كويس في
  • cost , time , quality , features شارحين نفسهم In XP there are the following four core values that enable it to work: Communication , Simplicity, Feedback , Courage المتطلباتالجراءة في اتخاذ القرار وتوضيح *The 15 Principles of XP:- 1.Rapid feedback: Get feedback as quickly as possible. 2.Assume simplicity: Focus on today’s task and solve it in the simplest way possible. 3.Incremental change: Integrate your new code into the system every day. 4.Embracing change:تكون متوقع ان يحصل تغيير في المتطلبات مثال وتكون مجهز لده 5.Quality work 6.Teach learning: Teach how to learn to do testing, refactoring, and coding 7.Small initial investment: on small teams manage the resources carefully and conservatively 8.Play to win:- 9.Concrete experiments: Every abstract decision should be tested. 10.Open, honest communication: You have to be able to criticize constructively and be able to deliver bad news as well as good. 11.Work with people’s instincts, not against them: People generally like to win, like working with others, like being part of a team 12 .Accepted responsibility: The team as a whole is responsible for the product أي غلطة هتتنفخ انت 13.Local adaptation: Change XP to fit your local circumstances and project. 14.Travel light: The team and process work should be few, simple, and valuable. 15.Honest measurement: Measure at the right level of detail Lec Four basic activities:- Coding ,Testing , Listening , Designing. ي هي انك بتسمع من اليوزر هوا عايز ايه في المشروع اتهرسوا شرح ماعدا التالتة والل The planning game : Develop the scope of the next release by combining business priorities and technical estimates. والمالية بتعمل تحديد لنطاق الفرجن اللي بعدها بواسطة اولويات العمل مع الحسابات الزمنية Metaphor: “A simple shared story of how the whole system works.” عبارة عن تلخيص للمشروع يعني زي اللي انا بتزفت اعمله دلوقتي Refactoring: Restructure the system to make it simpler – remove redundancy, eliminate unnecessary layers of code, or to add flexibility. يعني بترجع للكود اللي انت عملته عشان تحسن فيه تزيل وتغير تصلح تحسن الجرافكس كده يعني Collective ownership: The team owns everything, implying that anyone can change anything at any time متاح ليك تعمل أي حاجة في أي وقت

Continuous integration : Integrate and build every time a task is finished, possibly several times a day التاسك اللي تخلص تلزقها في المشروع 40 - hour week: Work a regular 40-hour week. Never work a second week in a row with overtime. The XP philosophy has a lot in common with many of Tom DeMarco‟s

. تأدي بنفس الكفاءةساعة مش هـ 40 دي فلسفة واحد بيقول لو اشتغلت اكتر من On-site customer=customer involvement شرحتها فوق Coding standards : team must have coding standards and everyone must adhere to them. XP life cycle:- 1 - Conception 2 - Requirements gathering/exploration/modeling 3 - Design 4 - Coding and debugging 5 - Testing 6 - Release 7 - Maintenance/software evolution 8 - Retirement 9 - Exploration: استكشاف واستخراج المتطلبات من اليوزر 10 - Planning game 11 - Implement: 12 - Productizingتعمل تيست علي الفيرجن: 13 - Maintenance/evolution: 14 - Death: من متطلبات تقفل المشروع علي كده وتسلمه وخالصده لما يبقي اليوزر خلص كل اللي عنده The second agile methodology we‟ll look at is Scrum. Scrum :derives its name from rugby, where a scrum is a means of restarting play after a rules infraction.معلومة وارد تيجي في االمتحان رغم تفاهتها *Scrum is more of a management approach than XPيعني الفرق ان االسكرم التحكم فيها احسن: *Scrum uses teams of no more than 10 developers *Sprint or iteration of between one and four weeks االسكرم عبارة عن مجموعة من االسبرنتس كل اسبرنت بيطلع منه فيرجن للمنتج "من االخر يعني" The product backlog : is the prioritized list of all the requirements for the project; it is created by the scrum team and the product owner. عبارة عن مجموعة من المتطلبات مترتبة حسب االولوية مستند يعني Scrum projects are facilitated by a ScrumMaster whose job it is to manage the backlogs, run the daily Scrum meetings, and to protect the team from outside influences during the sprint. The scrum master is usually not a developer. االسكرم ماستر ده عامل زي مدير المشروع المايسترو اللي بيدير ويشرف ومش بيكون ديفولوبر Scrum projects have a daily scrum meeting, which is a stand-up meeting of 15– 30 minutes duration where the entire team discusses sprint progress. زي الميتنج اللي اتكلمت عليها فوق بيناقشوا هما وصلوا لحد فين "خلي بالك من المدة" The daily Scrum meeting :allows the team to share information and track sprint progress Before the first sprint starts, طة بنجيب اللي هيا المتطلبات نشوف مين اعلي في االولوية نبدأ اول اسبرنت بيه وبعد ما بيكون فيه خطة محطو تخلص الماستر بيشوف تاني اعلي اولوية ويبدأ وهكذا After the last scheduled sprint, a final sprint is done to bring closure to the project. وع اخر اسبرنت هيا اللي بنهي بيها المشر Lec Project management tasks :- 1 - project planning : بيكون التخطيط مستمر طول فترة المشروع

Take weekends, vacations, sick days, training, and slack into account when you’re making the schedule. تعمل حساب االجازات وكده You can’t schedule a developer to work on two tasks at the same time. ماتخليش مبرمج يشتغل علي تاسكين في نفس الوقت Project Oversight اشراف تحفيز تشجيع تحكم من اول لحظة لحد نهاية المشروع دي بقي شغالنة البروجكت مانجر مدير المشروع يعني Status Reviews and Presentations : تقولهم ايه اللي حصل في البروجكت وكل لما تخلص المشروع محتاج تعمل ريفيو وبرسنتيشن لل ستيك هولدرز ,الريبورت ده بيكون بعد كل مرحلة تقول فيهاتر فورمال يعنير كل ما الريفيو يكون رسمي اك مايكون المشروع كبي لخبر السئ قبل الجيد والسئ الزم تكون سريع في اخباره للمسؤلين ملخص اللي حصل خليك امين في كالمك قول ا Presentation الزم يبقي تركيزتعرف تتعامل معاه خلي محتوي الشريحة او السليد مختصر حضر بوربوينت محترم الزم تكون ب نقاط قوة السليد غير مكتملة زي ما قولتوخلي الحاضرين عليك مش علي السليد Defect:- “error”,”bugs” As a developer :- االخطاء اللي بتحصل للمبرمج 1.Introduce as few defects as possible into the code you write. 2.Find as many of them as you can before releasing the code. Defect levels:- Fatal: causes the product to crash, or a fundamental piece of functionality doesn’t work. المنتج نفسه فيه وظيفة او كله مش شغال Severe: A major piece of functionality doesn’t work, and there is no workaround for it that the user can perform. ية للمنتج باظت ومفيش حل بيرضي اليوزرالوظيفة االساس Serious: A piece of functionality doesn’t work, but there is a workaround for it that the customer can perform. منتج مش شغالة بس فيه حل بديل يرضي اليوزرللوظيفة Annoying: A minor defect or error in the documentation that may annoy the user, but doesn’t affect how the program works. المنتجخطأ بسيط في مستند ممكن يضايق اليوزر بس مش هيأثرعلي New Feature Request: This isn’t a defect, but a request for the product to do something new ديفيكتده حاجة زي متطلب اضافي اليوزر عايزه في المنتج ومايعتبرش ظمات بتحاولتنين او اخطر اتنين ومعظم المنانت مش بتقدر تطلع منتج نهائي اللي هما اول ا 2 و 1 في الديفيكت ليفيل ده 3 تزيل الديفيكت اللي هوا ليفيل