Agile vs. UML Software Development Methodologies for Dynamic Market (A Comparative Study)



Similar documents
A CONSTRUCTION RESOURCES MANAGEMENT SYSTEM FOR GAZA STRIP BUILDING CONTRACTORS

CSE 435 Software Engineering. Sept 16, 2015

Agile Methodologies and Its Processes

Agile Models. Software Engineering Marco Scotto Software Engineering

How To Use Ecological Footprint Accounting In The Mena Region

Agile So)ware Development

Bottlenecks in Agile Software Development Identified Using Theory of Constraints (TOC) Principles

Using Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal

The Development of Embedded GPS-GSM Based Real Time Vehicle Tracking System

Engineering Process Software Qualities Software Architectural Design

THE RELATIONSHIP BETWEEN STRATEGIC PLANNING AND GROWTH IN SMALL INDUSTRIAL BUSINESSES IN PALESTINE CASE STUDY: THE GAZA STRIP

Agile Software Development Methodologies and Its Quality Assurance

Software Engineering. Software Development Process Models. Lecturer: Giuseppe Santucci

PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL

Development (60 ЕCTS)

Software Development Life Cycle (SDLC)

Agile Projects 7. Agile Project Management 21

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology

Software Development Process

POSITION SPECIFICATION ENTERPRISE ARCHITECT UK&I

SEEM4570 System Design and Implementation Lecture 10 Software Development Process

Implementation of Test-Bed for VoIPv6 Encryption

The Battle for the Right Features or: How to Improve Product Release Decisions? 1

Corrosion Behaviour of Aluminium Alloy 7020-T6 welded Joint in Sea Water at Different Variables

Software Engineer. To apply, please send your resume to

RUP and XP, Part I: Finding Common Ground

Sistemi ICT per il Business Networking

Principles of Software Engineering: Software Methodologies. COSI 120b, Spring 2005

CMMI - The AGILE Way By Hitesh Sanghavi

Agile Development with C#

The Best Time to Teach Software Engineering Courses in Information Technology Programs

Software Development with Agile Methods

A Capability Maturity Model (CMM)

Agile Requirements Generation Model: A Soft-structured Approach to Agile Requirements Engineering. Shvetha Soundararajan

SOFTWARE PROCESS MODELS

SIMILAR THESAURUS BASED ON ARABIC DOCUMENT: AN OVERVIEW AND COMPARISON

Agile Processes and Methodologies: A Conceptual Study

Life Cycle Models. V. Paúl Pauca. CSC Fall Department of Computer Science Wake Forest University. Object Oriented Software Engineering

Basic Trends of Modern Software Development

Practical Agile Requirements Engineering

Selecting a Software Development Methodology based on. Organizational Characteristics. Adrienne Farrell

Investigation of Adherence Degree of Agile Requirements Engineering Practices in Non-Agile Software Development Organizations

Prayer Book for. Children &

Karunya University Dept. of Information Technology

Lean vs. Agile similarities and differences Created by Stephen Barkar -

Rapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1

Software Development Process and Activities. CS 490MT/5555, Fall 2015, Yongjie Zheng

Software Requirements, Third Edition

COMPARATIVE STUDY ON SOFTWARE PROJECT MANAGEMENT MODELS

Business Analysts in an Agile World. Christian Antoine

Agile Project Management By Mark C. Layton

CSSE 372 Software Project Management: More Agile Project Management

Comparative Study of Agile Methods and Their Comparison with Heavyweight Methods in Indian Organizations

Classification of Images Using Decision Tree

Topics covered. Agile methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods

Information Management for National Guard Agribusiness Development Teams: An Agile Development Case Study

Génie Logiciel et Gestion de Projets. Software Processes Focus on Extreme Programming

Methodology: Agile development of safety critical systems Annex D1.1.d to deliverable D1.1

COMP 354 Introduction to Software Engineering

How To Plan An Agile Project

DEGENERATIVE LUMBAR SPINE DISEASE: ASSESSMENT OF CHANGES IN EPIDURAL INFUSION PRESSURE AND CLINICAL OUTCOME AFTER EPIDURAL STEROID INJECTION

The Agile Manifesto is based on 12 principles:

Vragen. Software development model. Software development model. Software development model

A Framework For Construction Materials Supply Chain Process in the Local Construction Industry

Quality Assurance Software Development Processes

Waterfall to Agile. DFI Case Study By Nick Van, PMP

Whitepaper. Agile Methodology: An Airline Business Case YOUR SUCCESS IS OUR FOCUS. Published on: Jun-09 Author: Ramesh & Lakshmi Narasimhan

SCRUM BODY OF KNOWLEDGE (SBOK Guide)

Comparative Analysis of Different Agile Methodologies

Agile processes. Extreme Programming, an agile software development process

11 Tips to make the requirements definition process more effective and results more usable

Best-Practice Software Engineering: Software Processes to Support Project Success. Dietmar Winkler

7 Conclusions and suggestions for further research

Introduction to Agile and Scrum

Software Development Methodologies in Industry. By: Ahmad Deeb

Introduction to Software Engineering

How To Understand The Software Process

INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal

A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing.

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

Product Derivation Process and Agile Approaches: Exploring the Integration Potential

Extreme Programming: Strengths and Weaknesses

AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT

Agile Development Overview

Scrum includes a social agreement to be empirical as a Team. What do you think an empirical agreement is?

A Development of the Effectiveness Evaluation Model for Agile Software Development using the Balanced Scorecard

Phase 2 Systems Analysis. Dr. Feng-Jen Yang

Story Card Based Agile Software Development

Issues in Internet Design and Development

Exploratory Testing Dynamics

Transcription:

Agile vs. UML Software Development Methodologies for Dynamic Market (A Comparative Study) Mubarak R. Al Rashoud A thesis submitted in partial fulfillment of the requirements for the degree of Master of Science of Philosophy FACULTY OF COMPUTING AND INFORMATION TECHNOLOGY KING ABDULAZIZ UNIVERSITY, JEDDAH SAUDIA ARABIA Rabei II, ١٤٢٨H - April, ٢٠٠٧G

Agile vs. UML Software Development Methodologies for Dynamic Market (A Comparative Study) Mubarak R. Al Rashoud We certify that we have read this thesis and that in my opinion is fully adequate in scope and quality as a thesis for the degree of Master of Science of Philosophy. Thesis Supervisors: Signature Date Dr. Mahmoud Kamel (Advisor) Dr. Ibrahim Al-Bidewi (Co. Advisor)

Agile vs. UML Software Development Methodologies for Dynamic Market (A Comparative Study) Mubarak R. Al Rashoud This thesis has been approved and accepted in partial fulfillment of the requirements of the degree of Master of Science of Philosophy. Examiners: Signature Date Dr. Ahmed Balamesh (External Examiner) Dr. Osama Abulnja (Internal Examiner) Dr. Ibrahim Al-Bidewi (Advisor)

Chapter ١ Introduction The Standish group reports illustrated in ٢٠٠٣ that ١٥% of the software engineering projects had been cancelled before they ever get completed. Further results indicate ٥١% of projects had been implemented with a cost overrun of ٢٠%, with time overrun of ٨٢%, and with only ٥٢% of the required features. On the success side, the average is ٣٤% for software projects that had been completed on time and on-budget. The Standish group estimated in ٢٠٠٢ that $٥٥ billion was the lost dollar value for the failed and challenged US projects. (A challenged project is a delivered and operational project, but over-budget, over the time estimate, and offers fewer features and functions than originally specified). The rates of the succeeded, failed and challenged projects, from ١٩٩٤ until ٢٠٠٣, in United State, are shown in table ١.١ [٢٧]. Project year Succeeded Failed Challenged ١٩٩٤ ١٦% ٣١% ٥٣% ١٩٩٦ ٢٧% ٤٠% ٣٣% ١٩٩٨ ٢٦% ٢٨% ٤٦% ٢٠٠٠ ٢٨% ٢٣% ٤٩% ٢٠٠٣ ٣٤% ١٥% ٥١% Table ١.١: Succeeded, Failed and Challenged Projects Rates [٢٥] [٢٦] [٢٧]

The most important aspect of the Standish researches is discovering why projects fail. To do this, the Standish group surveyed many IT executive managers for their opinions, about why projects are challenged and why they are cancelled. The results of the survey concluded that the three major reasons that cause projects to be challenged are: lack of user inputs, incomplete requirements, and changing requirements. While the three major factors that cause projects to be cancelled are: incomplete requirements, lack of user involvement and lack of resources [٢٦]. These reasons are extremely clear and appeared in the dynamic market environment. In this environment Time To Market (TTM) pressure increases, and at the same time, market changes fast. This causes high requirements volatility with taken into consideration to fully satisfy the customers' requirements [٢٠]. Working under such circumstances is the most challenging task for the development team. Instable requirements can break the software architecture, especially if the used software methodology is not able to cope and response to the dynamic changes. Software projects under time criticality may collapse if the product is not delivered in the due time, or if the delivered product dose not satisfies all customer needs. One of the major project management decisions, to control these problems, is the "selection of the project s software development methodology that helps coping with the challenges, and prevents many potential dynamic project problems" [١٥]. Many software development methodologies are found in the software world. Table ١.٢ shows the most well-known development methodologies. Table ١.٢: The Most Famous Development Methodologies [١٥], [٢١] A development methodology that is suitable for one project may not be appropriate for another. This depends on the project conditions and the development

environment. In [١٥], a process model selection frame has been proposed, which the project manager can use as a systematic guide for choosing the project s process model. The authors have illustrated how the different software development methodologies react to the main software development failure factors. This thesis presents in chapter ٢, a comparative study between two specific development approaches. It compares between the planned methodologies, which have a coupling relation with UML analysis and design techniques, and agile methodologies. This study presents the advantages and disadvantages of using the two approaches in the dynamic market environment. As it had been stated in [٩], the agile methodologies differ from planned methodologies in that agile methodologies are more adaptive to the external market factors than planned methodologies, which assume precise prediction of the project behavior. Another difference is that agile methodologies are more people oriented, whilst planned methodologies are process oriented. Authors in [٣] and [١٠] have shown that planned methodologies employ a lot of heavy and complex design techniques using UML. All of design activities are totally separated from the implementation activity. This makes planned methodologies too heavy to keep up with the pace of dynamic software development projects. Developing in the planned approaches is like a black box to the customer. This means validation is done when the customer starts working with the product during acceptance phases. The results of that is the increasing of the cost of changes of requirements during development process Agile methodologies control this problem by simplifying the design process and almost couple it with the coding effort. They allow delivering the product in an incremental manner. The customer is involved in the development effort. This gives agile methodologies the ability to change quickly according to the external factors without any obvious cost. Therefore "when the project under development is extremely changeable, because of the markets factor, and continuously changes its requirements, then agile methodologies are suitable and better to be used over planned methodologies" [١٥]. As it is stated in [١٦], in addition to their high response to the dynamic factors, agile methodologies increase the product quality and team productivity. This fact has been gained by comparing the results of developing two versions of Sabre Airline Solutions. First version had been implemented using a traditional method, while the

other version had been implemented using XP (one of the agile methods). As in [٦], XP methodology makes awareness development and maintenance less effortful on a software development team. The author gained this knowledge, by studying two development teams within the same organization, the first team utilized the Extreme Programming (XP) methodology, and the other used the traditional methodologies. In spite of this, some studies indicate that agile and traditional approaches provide roughly the same results in terms of product quality, as it is stated in [٦]. The proposed agile practices in software development vary, but they share common characteristics such as iterative development, working in frequent consultation with the customer, and developing the project in a set of frequent releases. extreme Programming (XP) is one of the widely used agile methodologies. XP is a software development approach that advocates rapid iterations, rigorously tested code, working closely with end users and applies the simplicity and lightness in its planning and design efforts. XP conducts release planning by performing what is called planning game. "The customer presents the desired requirements to the developer with the knowledge of the importance of the requirements. Then the developer estimates the requirements. This approach of XP planning may be efficient when there is only one customer, and when there are no constraints that control the prioritization of requirements. "But the situation is different when there are competing stakeholder interests" [٨]. In this case many point of views and opinions are raised, which lead to conflicts among different stakeholders. On the other hand, technical constraints have clear effects in the planning process. For example, it is not possible to start implementing a requirement unless the prerequisite requirements are already finished, even though they are less valuable to the customer. These different variables present at the beginning of each release when release plan is produced. Therefore, a technique has to be found to optimize the selection of the requirements that would be implemented in each release. The release planning problem is addressed and illustrated by many authors. In [١٤], a cost-value approach for prioritizing requirements has been developed. The Analytic Hierarchy Process (AHP) has been used to compare the customer alternatives in a stepwise fashion, and measure their contribution to the customer objectives. In [٨], a

hybrid approach called e-release planning has been proposed, which combines the strengths of computational intelligence with human intelligence supported. In [١٢], a method called EVOLVE has been presented. This method is aimed at the continuous planning of incremental software development based on genetic algorithms. It has been stated that, in the release planning process, three main considerations should be taken into account; the technical precedence inherent in the requirements, the typically conflicting priorities as determined by the representative stakeholders, as well as the balance between required and available effort. In [١٣], an evaluation of methods for prioritizing software requirements has been illustrated. Six different methods for prioritizing software requirements have been evaluated (AHP, hierarchy AHP, Minimal spanning tree, Bubble sort, Binary search tree and Priority groups). The evaluation was based on the quality requirements for a telephony system. All six methods have been used individually on separate occasions to prioritize the requirements. The analytic hierarchy process has been found to be the most promising method, although it may be problematic to scale-up. In [٢٤], an approach for improving existing methods for release planning has been presented. This has been achieved by handling the uncertainty of data using fuzzy logic. The fuzziness with, respect to the effort estimates, effort capacity constraints and the different objectives related to cost, benefit and quality, has been considered. The satisfaction of traditional constraints on effort been performed using a fuzzy system, to obtain an overall satisfaction level of a solution. XP process is discussed generally in chapter ٣ of this thesis, with more concentration on planning activity. A framework for XP is provided. This framework is composed of a set of algorithms that represent the different XP processes. The release planning problem is discussed, and illustrated formally. This thesis proposes a fuzzy decision maker (FDM) based model to solve the release planning problem. The main function of the proposed FDM is to optimize the decision of which requirements (user stories in XP) should be delivered in each release. The proposed FDM takes into consideration many factors to achieve the optimal planning process; i) stakeholders individual importance, ii) the values and the priorities of different stories, for the different stakeholders, iii) precedence and coupling constrains between the different user stories, iv) risk that could be faced to deliver each story, and v) maximum effort for each release.

An engineering configuration management (ECM) system has been taken as a case study, to clear out all discussed concepts. The ECM has been implemented using XP, taking into consideration the prioritization for user stories using the proposed FDM. This case study is discussed in details in chapter ٤ of this thesis. The conclusions and the further studies are shown in chapter ٥.

المستخلص م ن أكب ر التح دیات الت ي تواج ھ تط ویر الب رامج ھ و التط ویر تح ت ت ا ثیر الا س واق الدینامیكی ة الت ي تتمی ز بالس رعة والتس ابق ف ي ط رح المن تج إل ى الا س واق مم ا ی و دي إل ى ع دم اس تقرار وع دم ثب وت المتطلب ات. ھ ذه العوام ل ق د ت و دي إل ى فش ل عملی ة التط ویر وخصوص ا إذا ل م ی تم اختی ار طریق ة التطویر المناسبة لعوامل السوق الدینامیكیة. لذا فا ن ھ م ن أھ م الق رارات الت ي یتخ ذھا م دیر المش روع ھو اختی ار طریق ة التط ویر المناس بة. المط ورون ال ذین یس تخدمون الط رق الس ریعة ی د عون أن ھ ذه الطرق ھي الطرق المعجزة التي تستطیع التعامل م ع الس وق الدینامیكی ة. وم ن جھ ة أخ رى ف ان ھ ذا الفری ق م ن المب رمجین ی د عي أن الط رق التقلیدی ة- المعتم دة عل ى التخط یط طوی ل الا ج ل وعل ى لغ ة النمذجة الموحدة -(UML) غیر قادرة على التعامل مع سرعة الا س واق الدینامیكی ة. ھ ذه الا طروح ة تق دم مقارن ھ ب ین ھ اتین الط ریقتین م ن ع دة زوای ا : التحلی ل التص میم كلف ة التغیی ر وكیفی ة اعتب ار الم وارد البش ریة. الدراس ة توض ح كی ف أن الط رق الس ریعة لھ ا س رعھ ف ي الا س تجابھ لمتغی رات الا س واق. وكم ا توض ح الدراس ة رد فع ل ك ل م ن الط ریقتین لعوام ل الفش ل الموج ودة ف ي الا س واق الدینامیكیة. بالا ضافة إلى ذلك فا ن ھذه الا طروحة تسل ط الضوء على سرعة اس تجابة الط رق الس ریعة عن طریق مناقشة المعالجات المختلفة التي عن طریقھا یتم التطویر بطریقة البرمج ة الفاي ق ة الس رعة (XP) (التي تعد من أشھر طرق البرمجة السریعة) حیث یتم تقدیم إطار عم ل متكام ل لھ ذه الطریق ة. توجد بعض نقاط ضعف متعلقة بطریقة البرمجة الفاي قة السرعة وذلك من ناحیة إمكانی ة اس تخدامھا عل ى مش اریع متع ددة الزب اي ن وم ن ناحی ة ع دم تا ص یل عملی ة التخط یط ل ذلك ی تم ع رض مش كلة التخط یط ف ي البرمج ة الفاي ق ة الس رعة عرض ا مو ص لا ث م ی تم تق دیم نم وذج یعتم د بالدرج ة الا ول ى عل ى ص ناعة الق رار باس تخدام المنط ق الض بابي وذل ك للحص ول عل ى عملی ة التخط یط المثل ى وخصوصا عندما تك ون ھن اك أولوی ات مختلف ة لع دد م ن الزب اي ن. ھ ذا النم وذج أعط ى نت اي ج جی ده عن دما ت م اس تخدامھ ف ي تط ویر نظ ام إدارة التش كیلات حی ث وج د أن الزب اي ن حص لوا عل ى أھ م المتطلبات من النسخة الا ولى للبرن امج وت م إض افة وتع دیل بع ض المتطلب ات لاحق ا م ن دون أي كلف ة تذكر.

ABSTRACT In the software development, the most challenging task is to develop projects under the pressure of the dynamic market - where (Time To Market (TTM) and requirements instability) - could fail the development process. Therefore, the project management should choose the development methodology that can control the problems associated with the dynamic market. The enthusiastic programmers in agile methodologies argue that planned methodologies are heavy to cope with the rapid changes of the dynamic market, because they strongly emphasize on the planning process by incorporating a lot of detailed design techniques like UML. The enthusiastic programmers in agile methods claim that agile is a miracle approach that has solutions for all problems related to the dynamic market. They also claim that agile achieves higher flexibility and better to satisfy actual customer requirements by developing and delivering the software product in an incremental fashion, as well as, it avoids any development overheads. This thesis presents a comparative study to compare between planned methodologies _ which have strong coupling relationship with UML analysis and design techniques _ and agile methodologies. The comparison contains many issues such as analysis, design, human resource, cost of the changes of the requirements and communication. The comparison also shows how the lightness of the agile methodologies gives better responses to the different problems related to the dynamic market. Also the study illustrates that the agile minimizes the cost of the changes of the requirements during the development process. Furthermore, the thesis focuses on the lightness of the agile methodologies planning by discussing extreme Programming (XP) process. First, a framework of the traditional XP is presented. This framework presents a sequence of processes that build the XP project. A set of algorithms are presented to describe the different XP processes. There are many limitations of the traditional XP release planning, such as its limited scale and its informality. In this thesis, the release planning problem is presented formally. The most factors that have clear affects in the release planning are considered, which are the priority of the requirements, their values, their risks, the effort needed to implement them and the precedence and coupling among them. If there are many stakeholders, the priorities and values of the requirements should be taken from the perspective of each stakeholder. To solve the release planning problem, a Fuzzy decision maker (FDM) is designed and

implemented. The main function of the proposed FDM is to optimize the decision of which requirements (user stories in XP) should be delivered in each release. The FDM takes into consideration the opinions and point-views of the different stakeholders The suggested FDM is tested in the generation of the XP release planning for the Engineering Configuration Management (ECM) system which is taken as a case study. It is found that customers have had the most important features of the system in the early releases. Many requirements have been added in the middle of the project, others have been removed, without any additional cost.

TABLE OF CONTENTS ABSTRACT ACKNOWLEDGEMENT TABLE OF CONTENTS LIST OF TABLES LIST OF SYMPOLS i ii iii V Vi I Introduction ٩ ٢ Planned Methodologies vs. Agile Methodologies ١٥ ٢.١ Introduction ١٦ ٢.٢ Agile and Planned Methodologies Requirements Analysis ١٨ ٢.٢.١ Nature of Requirements ١٩ ٢.٢.٢ Planned Methodologies and Requirements Analysis ٢٠ ٢.٢.٣ Agile Methodologies and Requirements Analysis ٢٤ ٢.٣ Designs in Agile and Planned Methodologies ٢٥ ٢.٣.١ Planned Methodologies and Design ٢٦ ٢.٣.٢ Agile Methodologies and Design ٢٧ ٢.٤ Agile / Planned Methodologies and Human Resources ٢٩ ٢.٤.١ People Orientation or Process Orientation ٢٩ ٢.٤.٢ Communications Among the Members of the Development Team ٣٠ ٢.٥ Development under dynamic market ٣١ ٣ Optimizing extreme Programming Release Planning ٣٦ ٣.١ Introduction ٣٧ ٣.١.١ XP Common Values ٣٨ ٣.١.٢ XP ١٢ Practices ٣٩ ٣.٢ XP Process Framework ٤٠ ٣.٢.١ XP Planning ٤١ ٣.٢.١.١ Release Planning ٤١ ٣.٢.١.١.١ Release Planning: Exploration Phase ٤٢ ٣.٢.١.١.٢ Release Planning: Planning phase ٤٥ ٣.٢.١.٢ Iteration Planning ٥٠ ٣.٢.١.٢.١ Tasks Brainstorming ٥١ ٣.٢.١.٢.٢ Tasks Accepting ٥٢ ٣.٢.٢ XP Construction Process ٥٢ ٣.٢.٣ Limitations of Traditional XP Process ٥٣ ٣.٣ Formulation Problem of XP Release Planning ٥٦ ٣.٣.١ Release Planning Variables ٥٦ ٣.٣.٢ Problem Statement for Software Release Planning ٥٨ ٣.٤ XP Release Planning Using Fuzzy theory ٥٩ ٣.٤.١ Basic Concepts of Fuzzy System ٦٠ ٣.٤.١.١ Fuzzy Logic and Fuzzy Sets ٦٠ ٣.٤.١.٢. Fuzzy numbers ٦١ ٣.٤.١.٣. IF THEN Rules ٦١

٣.٤.١.٤ Fuzzy Inference System ٣.٤.٢ Fuzzy Decision Maker (FDM) Based Model ٣.٤.٢.١ Specifying coupling and precedence constraints ٣.٤.٢.٢ User Story Ranking Process (USRP) ٣.٤.٢.٣ Marinating USFRs ٣.٤.٢.٤ Scope Algorithm Refinement ٤ Case Study ٤.١ System Vision ٤.٢ System Metaphors ٤.٣ Release ١: Release Planning ٤.٣.١ Exploration Phase ٤.٣.٢ Planning Phase ٤.٤ Release ١: Iterations Planning ٤.٤.١ Tasks Brainstorming ٤.٤.٢ Tasks Accepting ٤.٥ Release ١: Constructions Processes ٤.٥.١ Design ٤.٥.٢ Unit Test ٤.٥.٣ Refactoring. ٤.٥.٤ Functional Test ٤.٥.٥ Deployment ٤.٥.٦ Rescoping of Release١. ٤.٦ Release ٢: Release Planning ٥ Conclusions AND Further Studies ٥.١ Conclusion ٥.٢ Further Study Appendix A List of Figures List of References ٦١ ٦٢ ٦٢ ٦٣ ٧٢ ٧٣ ٧٥ ٧٦ ٧٨ ٧٩ ٧٩ ٨٠ ٨٥ ٨٥ ٨٥ ٨٥ ٨٦ ٨٦ ٨٦ ٨٧ ٨٧ ٨٧ ٨٨ ٩١ ٩٢ ٩٤ ٩٥ ٩٩ ١٠١