Download as pdf
Download as pdf
You are on page 1of 58
pique Tunisienne ‘Ninistore do TEncoignamant Supéneur et da ta Rocherche Scientifique Diretin Générale des Ceudes Tebnalgiques ISET de Fades Département Technologies de Finkrmatique Hea Ty et a aly Hal ll 639 Rap iS lel jal Lala 5) ot Re a a gal Rey he Nes see} Son Rapport de Projet de Fin d'Etudes LICENCE APPLIQUEE EN TECHNOLOGIES DE L'INFORMATIQUE PARCOURS: DEVELOPPEMENT DES SYSTEMES D’INFORMATIONS (DSI) Plateforme WEB pour la Gestion de la Relation Client Entreprise: ‘SINORFI Réalisé par: Rym DAKHLI Code PFE: DSI-18-17 ‘Encadré par: Encadreur(s) entreprise: M. Mohamed Tawfik WERFELLI Encadreur(s) ISET: M. Riadh GHLALA Année universitaire : 2017/2018 Adresse: Rue €1 Quods, BP 172 - 2098 - Radés Téléphone : 71 460 100 Fax : 71 442 322 Site Web : www icete rnu.tn A) -2O9BLTRaie snl gg sil 74442322 <5 71 460100 24! wwwleetrrnytn a Tunisian repubtic Ministry of Higher Education and Scanttc Resaarch General Diracorale of Technological Studies ISET of Radios Deparment of Computer Taehnologion Hts pet cd aly Ba 559 sist cia Law) 59) stan Ral SS ll al apn Aye ye gS Graduation Project’s Report Applied license in computer technologies Branch: DEVELOPMENT OF INFORMATION SYSTEMS (DSI) WEB Platform of Customer Relationship Management Host Organization: SINORFI Realized By: Rym DAKHLI PFE Code: DSI-18-17 Supervised By: SINORFI’s Supervisor: Mr. Mohamed Tawfik WERFELLI ISET’s Supervisor: Mr. Riadh GHLALA Academic Year: 2017/2018 rE ‘Address: EI Quods Street, BP 172 - 2098 - Rades ‘Telephone: 71 460 100 Fax: 71 442.322 Website: wwwisetr.enu.tn etl 20981 72a se ll gg “a all 72.442 322 SW) 71460100 iy! wwlgetrrnu.tn a DEDICATION Itis with great pleasure that I dedicate this work. To my mother and my father, for their support, the encouragement they have always given me and especially the sacrifices they made so that | could succeed in my studies. To my siblings, for their affection and their love. | wish you joy, and success, To my friends, for all those enjoyable moments we shared together. Rym DAKHLI ACKNOWLEDGEMENT At the end of this work, we would like to thank everyone who without them this project would never be completed. Our thanks are especially to: Mr. Ahmed JOUINI, owner of SINORFI, for giving us the honor to work within his team. Mr. Mohamed Tawfik WEFELLI, who did lead me throughout my internship. His modesty and his kindness is matched only by his great professional qualities. | also particularly thank Mr. Riadh GHLALA for accepting to supervise my work throughout this project. availability and his valuable advices have greatly helped me to complete this project. | express my sincere thanks to all the team of SINORFI, Our most distinguished expressions, for all those who have contributed near of far to the accomplishment of i LIST OF CONTENTS Contents General introduction...... L.Project's Frame... 1.1 Introduction. 1.2, SINORFI and its serviees..... 1.2.1, SINORFI's services 2, SINORF's products. 1.3, Purpose behind the Project 14, State of the art.. on 1.4.1, Customer Relationship Management (CRM), 1.4.2, Cloud Computing . 1.4.2.1. Features... LAD. TYPES oes nnsse 1.5. Project’s adopted Methodology... 1.5.1. Agile methods 1.5.2. Agile methodologies comparison 1.5.3. The choice of Scrum methodology ... 1.5.3.1. Serum roles: 1.5.3.2. Scrum artifacts: 1.5.3.3, Serum formal inspection: 1.5.3.5, The paradox in serum: Sprint zero philosophy 2.2. SRS: software requirements specification (IEEEB30 standard)... 2.2.1. Introduction... 2.2.1.1, Purpose... 2.2.1.2. Scop 2.2.2. Acronyms, definitions and references... 2.2.2.1. Acronyms 2.2.2.2, Definitions. 2.2.2.3, References ... 2.2.3, General description.. 2.2.3.1, System functionalities.. 2.2.3.2, Actors identification.. 2.2.3.3, Constraints ss. 2.2.3.4. Hypotheses ... 2.2.4. Minimal design up front. 2.2.4.1, Functional View.. 2.2.4.2, Structural View... 2.3, Product Backlog .. 12.4, Technical choice... 2.5, COREIUSTOM vere nnrrinn 4, Sprint: Accounts management... LL, Sprint Planning, 3.1.1. Sprint backlog 3.2. Dally Scrum 3.2.1, Analysi 3.2.1.1, Use Case... 3.2.1.2, Use case briefs... 3.2.2, Design. 3.2.2.1. Class Diagram: Accounts management. 3.2.2.2. Authentication sequence Diagram ... 3.2.2.3, Account creation sequence diagram .. 3.2.3. Implementation... 3.2.4. Test 3.3, Sprint review. 3.4, Sprint retrospective .. 5, Sprint2; Ticketing System, 4.1, Sprint Planning, 4.1.1 Sprint backlog... 4.2. Daily Scrum... 4.2.2. Analysis nn 4.2.1.1 Use Case. 4.2.1.2 Use Case briefs. 4.2.2. Design. 4.2.2.1. Class Diagram: Ticketing system. 4.2.2.2. delete trouble ticket sequence diagram... 4,3, SpFINE REVIEW sen 4,4, Sprint retraspestive .. General Conclusion and perspectives.. Bibliography and Netography..... Appendix A: Scrum.. Appendix 8: Academic meeting (procés-verbal PV). Appendix C: Sprint2 planning. ‘Appendix D: Daily Scurn meeting. Appendix €: Sprint 1 Review .. Appendix F: Prioritize Your Agile Stories... List OF FIGURES Figure 2: CRM types [3] oon Figure 2: Cloud Computing system [4]. Figure 3: Cloud computing types [6]. Figure 4: The Scrum flow representation [11]. Figure S: Context diagram... Figure 6: Global use case diagram Figure 7: Global class Diagram... Figure 8: Global Component Diagram .. Figure 9: Deployment diagram senrnem Figure 10; Product backlog screenshot VST: Figure 12: Use Case Sprint Figure 12: Class Diagram sprint. Figure 13; Authentication Sequence Diagram. Figure 14: Account creation sequence diagram . Figure 15; Admin Interface cade Screensho! Figure 16: test Registration interface. Figuce 17: Use Case sprint: Ticketing systern Figure 18: class diagram sprint2 .... Figure 19: delete trauble ticket sequence diagram List OF TABLES Table 1: Agile methodologies comparison. Table 2: Scrum rOles..necsecnn Table 3: Table of acronyms... Table 4; Table of definitions... Table 5: Groups of diagrams in UML.. Table 7: Sprint Backlo Table B: Use Case Briefs, Sprint: Update Profi Table 9: Sprint2 backlog: ticketing system... Table 10: Use Case Briefs, Sprint2: Delete non-processed ticket. Table 11: Use Case Briefs, Sprint2: Process ticket. General Introduction During the Middle Ages, traders and craftsmen, have tried to take care of their customers. Thus, a blacksmith or a baker had to offer the best service to his client ta make sure to enhance the image of its business also to keep it as a loyal client. More recently, during the 50's or 60's, the customer could walt for months or even years for 2 product ordered! In fact, companies generally had a "monopoly" in their sector of activity and exercised 2 game of domination over their customers. During the 1990s, the situation changed with the opening of trade to “competition” and the customer became king. Therefore, Companies understand that taking care of their customers is essential to the risk of a reduetion in sales and getting a tarnished image. Therefore, the customer has the choice. It should not be considered as passive, subjected to the pressure of suppliers anymore, but as an actor who chooses knowingly. The balance of power customer - supplier seems to rebalance ta his advantage, and for the company, there are no mare customers acquired for life. So, to insure its progress and positive income, companies today opted to new solutions so they can better manage their relationship with their customers and partners such as the example of Customer Relationship Management (CRM), CRMs were created to facilitate the communication between 3 client and the company that pravides him with several services. Hence, this is what my graduation project looks into. We will start working on the most impartant madules and carrying on until it covers the needs, this report will take you in a discovery of the modules that | have realized since my internship began, it won't be so typical so that I'm not implementinga classical process. These modules are: an operational CRM module and analytical CRM module. They will be developed within Microsoft .Net technology using several other technologies such as the Bootstrap framework To do this, we conduct a theoretical study to better understand the context of our project. Our report will be divided into project's frame where we intraduce the host organization, the subject of our project and the project's adopted methodology, passing to the details of every sprint. L.Project's Frame 1,Project's Frame 1.1. Introduction In this chapter, we will present the general frame of our project, namely the host company which proposed and accommodated this project, it's purpose, then a preliminary study is in order ,that will help understand the project's status on the market and we will end up by detailing the work methadology adopted to accomplish a better results. 1.2, SINORF! and its services SINORF! stands for (Société d'iNgénierie d'ORganisation Financiere et Industrie), or Financial and Industry engineering company. SINORF! covers all the management consulting services, from the definition of the strategy to the complete implementation of the solutions. SINORFl and its professionals wark closely with their customers to make them jump in competitiveness and be at the service of their performance. SINORF! is specialized in consulting, integration of solutions and information systems. SINORF! creates value for its customers by mobilizing its teams around the major transformations of companies. Performance improvement, change management and the integration of new technologies represent so many projects for which SINORFI brings the best solutions to the challenges of its customers, [2] 1.2.1, SINORFI's services a Customer Relationship Management (CRM) Improving operating performance ‘Assets and services management Enterprise Resource Planning (ERP) Energy management 1.2.2. SINGREI's products ret) IBM Tivoli IBM Maximo Sage Oracle ‘Siemens SIMATIC Siemens Maintegrity 1 Project's Frame 1.3. Purpose behind the Project ‘As part of its business, the SINORFI deals basically with handling the incidents of the various customers, the management produets and the loyalty of their customers, To do so, it does receive phones calls and even huge flow of e-mails, it engenders the risk of ignoring some important incidents, or a customer loss, also that makes the work difficult and exhaustive. SINORF! for that needs an application that solves these problems and to better understand the principle of the relationship management points, it is necessary to define some basic concepts that we present in the following section. 1.4. State of the art 1.4.1. Customer Relationship Management (CRM) Customer Relationship Management is a set of practices, strategies and technologies used by businesses to manage and analyze customer interactions and data, and a marketing approach to building close relationships with customers and prospects to encourage them to focus on a strong share of their purchase and incidents. Currently: Buy or develop? [2] The question that most companies ask is; which CRM software should I choose? In fact, there are so many CRMs; The following table briefly explains the particularities of the dominant CRMs in the market: Software feature Salesforce Sates Cloud Focused on innevation (social CRM and big data) Sugar CRM pen Source and customizable Microsoft Dynamics CRM Integrated to the Office Suite Oracle Siebel CRM Very complete with a sales prediction tool Each one of them is great, but each is missing something that you certainly need, the questian that must arise is why we need CRM? So you better consider the context of your company’s business while highlighting Dominant characteristies af CRM that you need. Types of CRM a & @ Figure 4: €R4 eypes (3) L.Project’s Frame While CRMs in the previous products is collaborative (social), analytical or/and operational that deals with automations and smart scripts, SINORF! only needs: “Operational CRM that focuses on customer service and after sales service. ‘Analytical CRM that focuses on analyzing customer tated data for strategic or tactical purposes. SINORFI can't afford the expenses of buying one of the previous CRM products and it doesn't choose an apen source ane that it doesn't want to handle any updates problems. And since it is a company in the process of development it chooses to develop a CRM from scratch that will grove with its needs. 1.4.2, Cloud Computing While Cloud computing is @ paradigm that enables real time access to shared and canfigurable system resources and higher-level services that can be rapidly provisioned with minimal management effort, often over the Internet, SINORF! chooses to deplay it's CRM product an Microsoft Azure Cloud service, as |p ss ssc or Peat setae \ pte vensavon — "FEATURES mones — fovscfee —— BENEFITS LOCALITY emene COMPARES TO STAKEHOLDERS Irtermet ‘ter Figure 2 Cloud Computing system {4} 14.2.1. Features The National Institute of Standards and Technology (NIST) provide a very precise definition of the different elements that characterize the cloud: "This made! promates availability and includes five main features: [5] © Free on-demand service, * Extended access to the network. * Pooling of resources. © Elasticity scaling fast «© Payby use. 4 L.Project’s Frame 1.4.2.2. Types The three model layers of IT-as-a-Service were introduced by NIST standards; [5] 1. SaaS: Software as a Service, the provider maintains the applications used by the client in a completely transparent way. Example we could find Google applications (doc, reader, Gmail, etc.) also Salesforce CAM, ete. PaaS: Platform as a Service, the client only maintains its applications while the supplier ‘maintains the servers and the software infrastructure (Databases, application's behavior in the client side, security, and storage). It provides computational resources via a platform upon which applications and services can be developed and hosted. example: Google App Engine, Microsoft Azure Cloud, Openshift (Redhat). 3. laaS: Infrastructure as a Service, It provides resources are composed of virtualized infrastructure which is mostly located ina remote Datacenters, Examples: SQL Azure, Everyone loves Pizza, right! So the best way to understand this is to compare it to the famous Pizza-As-a-Serviee, Pizza-as-a-Service ‘igure 3: Cloud cornputing types (6} SINORFI focuses on the specific form of cloud: PaaS, Since it will have only access to the application and its data (database, etc..), PaaS is the suitable form of implementation that it will be handling the presentation land the data layers of the application once itis deployed to the cloud. 1.Project’s Frame 1.5. Project's adopted Methodology: The adoption of a development methadology is.a must to ensure an acceptable level of quality and to avoid missing deadlines. 1.5.1. Agile methods ‘An agile method is an iterative and incremental approach to software development, which produce, within a constrained time, high quality software aims to meet the changing needs of users, The goal of an agile methad is to maximize the added value, The development is carried out by successive iterations, itis possible, at the end of each iteration, to change priorities by ensuring thatthe elements. bringing the most value are realized first. The principles of the Agile Manifesto are: [7] * Satisfy the customer by delivering early and regularly useful software. + Accept changes even late in development, Frequently deliver an application that works. * Collaborate daily between customers and developers. 1.5.2, Agile methodologies comparison In this section, we will try to identify the differences between some of the best known agile development methods, The following table briefly compares agile methods, including: [8] * Extreme Programming (XP). « Rational Unified Process (RUP). [9] + Scrum, « Feature-Driven Development (FDO). Tabi 1: Agile methodologies comparison method Advantage Disadvantages xP + Custemer-driven development + Emphasize individual develapment the cost + Reduced teams, focused on of the general direction practices or developers in pairs, formatization.. + Built daily, continuous * Risk of lack of control and structure, improvement, adaptive to changes. leaving developers {ree to drift away from the functions of the application. RUP * The whole process helped + Heavy, widely spread, it can be tools, difficult to implement in a specific way. = Well defined roles. » Suitable for large projects that generate aot of documentation. Scrum «mixed teams. * Implementation of the development +30-day Iterations. is not specified, taking considerations of + Daily meetings. human resources management. FoD +Well-defined and simple * Only focused on development. process and very short iterations L.Project's Frame 1.5.3. The choice of Scrum methodology Scrum uses an iterative and incremental approach that aims to maximize predictability. (10) 1.5.3.1. Scrum roles: The Serum team has three roles: [10] ‘The Product Owner is the one that has the idea that is gaing to be turning to a project. ‘The SCRUM Master acts as the team’s leader in helping the team and the organization make the best use of Scrum. 3. The Development Team is made up of professionals who work to make the product incrementally with a series of short periods of time called Sprints. 1.5.3.2. Scrum artifacts: ‘Scrum propases the creation of three essential artifacts: [10] 1, The Product Backiog is an ordered list of ideas for the product, which is maintained in the expacted production order. 2, The Sprint Backlog is the detailed development plan for the next Sprint, 3. The Burndown chart 1.5.3.3. Serum format inspection: Scrum prescribes four formal inspection and adaptation opportunities: [10] 1. Sprint Planning is a boxed meeting that triggers each sj During this meeting, the Scrum team collaborates to select and understand the work to be done in the upcoming Sprint. 2. The Daily Scrum is a meeting that takes place at the same places and at the same time every day. Its used by the development team to ensure that it is appropriate for the situation to achieve the Sprint goal. 3. The Sprint Review (Sprint Review) is an hour-long boxing meeting where the Scrum team and stakeholders review the Sprint result. 4, The Sprint Retrospective is a meeting that closes every sprint to examine how things went about the process, relationships between people, and tools The following schema is a recap of the Scrum flow highlighting its roles, artifacts and inspections. L.Project’s Frame The Agile - Scrum Framework inputs trom Execatees: Figure 4: The Serum flow representation (11) 1.5.3.5, The paradox in scrum: Sprint zero philosophy: In the lifecycle of every project we need an inception or a starting point to include everything we need to work on it, from the people to the processes. And itis a much smoother step to getting started than to get lost in further steps, For this previous reason, and to make scrum more practical, a special sprint set up, called Sprint zero, and we also call it iteration zero or inception sprint. ‘What Inception sprint should be? Sprint Zero should be used to create the basic skeletan for the project so that future sprints can truly add incremental value in an efficient way; Its used to prepare the necessary documents or delimiting ‘teams and their roles also for installing an appropriate environment for work. In our case; specify the software requirements, prepare the product backlog then pian for the upcoming typical sprints. [12] 1.5.4, Scrum roles ‘As we mentioned at first that we are going to adopt scrum methodology, we should first make sure that the roles are well distributed until we can start working. Tote 2: Serum roles Ronee we a ‘Ahmed JOUINI Define the functionalities to be build ‘Scrum Master Mohamed Tawfik WERFELL| Does anything possible to help the ‘team perform at their highest level Developmentteam —__ Rym DAKHLI Requirements, design, development 1.6. Conclusion In this chapter, we present our project and the motivations that drive us to develop a CRM from scratch while introducing the host organization SINORFi. After discussing new technologies and choosing Serum framework, which will manipulate the life- cycle of the Software product, we will run into sprints. 2. Sprint ze1 2. Sprint zero: 2.1. Introduction this chapter is an inception for our projectit includes the requirements of our software, that gaes with IEEE 830 standard for software requirements specifications and the backlog of the product and a spike clarification for the upcaming sprints. [23] 2.2. SRS: software requirements specification (IEEE830 standard) The main idea of this specification standard is that it deals with agile methodology; it can be modified all along the project in contrast with the older waterfall life cycles. So, it is an agile spec! Placing this chapt the project! here does not refer that it was done first, it was iteratively approached all along 2.2.1. Introduction 2.2.04, Purpose This document fully describes the expected behavior of our software system; callect and analyze all assorted ideas that have come up to define the system, its requirements with respect to consumers, And provide a detailed overview of our software product, its parameters and goals all along the project's life cycle. It is intended for both the stakeholders and the developers of the system, 2.2.1.2, Scope Our job is to develop a web and BI platform for customer relationship management to manage their needs and provides the managers with a snapshot of company performance and the various functions. in one place. itis designed to reduce time-consuming tasks, increase sales and customer loyalty care. Mare specifically, this system is designed to allow the users to better solve problerns with a trouble ticket module and a 8! module that helps the manager with decision making. twill be provided with a relational database and deployed on azure cloud service. 2.2.2, Acronyms, definitions and references Acconyms Table 3: Table of ocromns ‘eronym “Standsfor cRM Customer Relationship Management ERP Enterprise Resource Planning SINOREI Société o'iNgénicurie d’ORganisation Financiere et industrie nist National institute of Standards and Technology vsts Visual Studio Team Services UML Unified Modeling Language HTTP HyperText Transfer Protocol ‘Wer Windows Communicatian Foundation Opec Open Database Connectivity 2. Sprint ze1 2.2.2.2. Definitians Table 4: Fable of defntions Term definition cRM is a term that refers to practices, strategies and technologies that companies use to manage and analyze customer interactions and data NIST is one of USA's oldest physical science laboratories. wer framework for building service-oriented applications ose standard application programming interface (API) for accessing database management systems TP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatied and transmitted 2.2.2.3, References This document is officially declared at: IEEE. IEEE Std 830-1998 IEEE Recommended Practice for Software Requirements Specifications. 1EEE ‘Computer Society, 1998. 2.2.3. General description 2.23.1 System functionalities ‘The system can be divided into analytical and operational CRM; © Operational CRM Ticketing system Sales management © Analytical CRM Dashboards and reporting, 2.2.3.1.1. Functional requirements Our application must provide the features which are going to be specified in this section, The processes to be implemented are: All Customers should be able to create a trouble ticket and keep informed by its status. Dashboards need to be useful, understandable and up-to-date as well as the reports. ‘The Help desk and should be able to treat every single trouble ticket Customers should be able to modify their accounts. ‘The manager should be able to manage the praducts. The customer should see the products The administrator should have access to all information around the system, 2.2.3.1.2. Non-Functional requirements: This application must satisfy a series of non-functional requirements such as: Security: the system needs ta control the users access and session (encrypted data). Performance: velocity of response time especially for data access. Maintainability: well commented source code. Data Integrity: Information should be provided by the CRM Platform an the Cloud. 10 2.2.3.2. Actors identification Administrator © manage all accaunts, © auditing of the system © feedback management Helpdesk © Treats the trouble tickets, Manager: © Treats the trouble tickets. © Product management. Customer: © Create incident tickets © Send feedback, 2.2.3.3. Constraints ‘We have no constraints. 2.2.3.4. Hypotheses This system is supposed to work on Azure cloud server, user can connect after having their accounts from administration, the back-office should be responsive to any user requirements and should be executive from any machine that supports an internet browser. 2.2.4. Minimal design up front For the modeling of the system we will adopt a set of Unified Modeling Language UML diagrams. The current UML standards call for thirteen different types of diagrams: class, activity, object, use case, sequence, package, state, component, communication, composite structure, interaction everview, timing, and deployment. These diagrams are organized into three distinct groups: 1. Structural diagrams 2. Behavioral diagrams 3. Functional diagrams The following table 4 represents the interest of those three graups, the specificatians and focus of each group and its description, and the associated UML diagrams. rt Table 5: Groups of diagrams in Us Gan a Ten Functional The functionality of the software How the system works | Use case diagram View as its roles in the business fromthe external Activity diagram process and its interaction with point of view. the user and the environment. Structural Thestructure of the dats that ‘The logic organization Object diagram View supports the business process in of data at technical Class diagram an organization and their details such ashow Package diagram representation and pracess inthe the data arestored, Deployment diagram software, created or Component diagram manipulated in design and implementation. Behavioral The internal dynamic aspects _Theinternal logic of | Sequence diagram View that supports the business processes and how Communication Processes in an organization, the processes are diagram implemented Behavioral diagram State diagram In the upcoming stage we will do as a first modeling iteration; The context diagram and the system use case that will help understanding an external global view of how aur system is going to be as Functional view. The component diagram and the component diagram to see better the physical and logical architecture of the system and facilitate the upcoming work as Structural view. ‘We will be leaving a detailed use case as well as functional view. Class diagram and sequence diagram Structural and behavioral respectively, R 2. Sprint zero: 2.24.1. Functianal View 2.2.4.1.1. System context diagram This diagram is not mentioned with the thirteen official diagrams of UML, it cansiders the system asa black box to highlight its external relationships, and the maximum number of instances of each actor connected to the system at a given point in time. [24] ‘A.system context diagram (SCD) is a diagram that defines the boundary between the system, or part of a system, and its environment, showing the entities that interact with it. This diagram is a high-level view of a system. Its similar to a block diagram. This diagram is called a top-level use-case diagram, but as it’s very similar to a type of diagram that predates UMIL; it often called: context diagram. This type of diagram, shawn in Figure 6, displays the system of interest and all its actors—but it hides the use cases themselves. ‘The SCO takes place right after actor's identification and before the use cases. administrator manager helpDesk aba Figure 5: Context diagram 1B 2. Sprint zero: 2:2.4.1.2. Use Case Global view The use case diagram is the primary form of system requirements for a new software program under development. Use cases specify the expected behavior (what). It summarizessome of the relationships between use cases and actors as represents the following Figure 7. fseease Cobatnecantagan J i Ro 2 \ i i i ! { A ‘diniratcr i Figure 6: Global use cose diagrem 4 2. Sprint zero: 2.2.4.2. Structural View The following Figure represents the global class diagram and shows the set of classes we're needing in the project and their interrelationships. (lens Spon Case necro rarmowmera J AspetOuers Pre ‘Parsoeetetah on ‘Socursysuare sy or) a = : _| rere =e : ma ners Figure 7 Global class Oiogram In this seetion, the architecture of the CRM System is described in more detail using UML 2, Component diagram. it will represent an overview of the structure of the system which introduces single parts, like interfaces and connections between them to show the structure the single components beginning with the topmost, namely the component CRM and going on with the inner, more detailed components are beheld and respectively their instance number indicated on the upper left of each component. It is organized as a layered architecture these layers are web, Business Logic, Data access.and the Data store or database. 1s 2. Sprint zero: Figure 8: Global Component Diagram ‘The Figure 8 represents eventually the Global Component diagram that shows the dependencies and interactions between software components. A component is the container of logical elements and represents things that participate in the exacution of a system. For each instance of CRM exists only ane instance of the component Database where all data is stored. The component Data representing the data Access layer of a classical three-layer-architecture hides details of the database and provides data access to the application layer represented by the ‘component Business Logic. The cammunication between the components Data Store and Data Access is managed by ODBC as. an implementation of .NET Persistence API with the persistence framework Entity Framework, Each af the components Data Access and Business Logic provides generic interfaces to communicate with Business Logic and Web respectively; 16 2. Sprint ze1 IPersistance baundary includes each of the interfaces: + lUserRepository + MicketRepository + IProductRepository [Business boundary includes each of the interfaces: © WUserService + TicketService + ProductService ‘While the Component diagram deals with layered architecture, down below Deployment diagram will highlight the physical tiers architecture. The following Figure 9 represents the Structural deployment diagram that shows the architecture of the system as distribution of software artifacts to deployment targets. Deployment target is usually represented bya node which is either hardware device or some software execution environment (web browser, web server and data server). Nodes could be connected through communication paths to create networked systems af arbitrary complexity (HTTP and ODBC), Wv 2. Sprint zero: = Figure 9: Deployment iogram 2. Sprint zero: 2.3. Product Backlog The agile product backlog in Scrum is a prioritized features list containing short descriptions of all functionalities desired in the praduet. When applying Serum, it is nat necessary to start the project ‘with a completed documentation of all requirements. The Scrum praduct backlog is then allowed to grow and change as more is learned about the product and its customers, Toble 6: Product backlog ‘Account 25 1 as.an administrator | want to be able to create | 25 5 accounts and roles manage 2 asan administrator I want to be able to block 5 ment accounts 2 as an administrator | want to be able to 5 reactive accounts 4 as an.administrator | want ta be able to read all 12 the accounts 5 as accustomer | want ta be able to update my 5 profile 6 as @ helpdesk | want to be able to update my 5 profile 7 asa manager | want to be able to update my 5 profile Ticketin 25 8 asacustomer!want to be able to create tickets 25 esystem 9 asa customer | want to be able to read the 25 state of the tickets that Icreated 10 as a custamer I want to be able to delete my 12 ticket not yet treated 1135.8 helpdesk | want to be able to read all 20 tickets and owner profiles 12 as a helpdesk | want to be able to update 25 tickets 33. as amanager I want to be able to read all the 12 tickets and the profile of the owners 14 asamanager| want tobe ableto update tickets 12 Product 12 15 as 3 customer | want to be able to read 20 manage products ment 16 as a manager | want to be able to create 25 products 17 as a manager | want to be able to update a 20 product 18 a5 a manager I want to be able to delete a 5 product ‘Analytic - 19 = al manage as 3 customer | want to be able to send a ment feedback of satisfaction 19 2. Sprint ze The project management tool used to organize the wark and especially share it, is VisualStudioTeamService. Figure 10: Product backlog sereenshot USTS. 2.4, Technical choice + Visual Studia: Integrated Develapment Environment * SQL Server: Relational database server «Visual Studio Team Service: Git and project management tool * ASP.NET MMCS(.NET framework): It is a runtime execution environment it contains the ‘Common Language Runtime (CLR), the base class libraries and other managed libraries, 115) ‘+ CH: Object Oriented programming language chosen ta code the .NET application. [15] * ASP.NET identity: Framework that includes authentication, works with Open Web interface for .NET (OWIN), and included with the ASP.NET. (15] + Entity Framework: Is an object-relational mapper that enables NET developers to work With relational data using domain-specific objects. It eliminates the need for most of the data-access code that developers usually need to write. [15] * Bootstrap Framework: Bootstrap is the most popular HTML, CSS, and JavaScript framework for developing responsive, mobile-first websites. Bootstrap is completely free to download and use. (16] 2.5. Conclusion This was the sprint zero that handled the Software Requirements Specifications document that will have iterations and incrementations all along the project, the First Scrum artifact; product backlog, scrum roles and a global view about the system and the sprints. The upcoming parts will be Sprints containing its artifacts ceremonies and other disciplines. 4, Sprint: Accounts management 4, Sprint1: Accounts management Pian 4, Sprint; Accounts management 3.1, Sprint Planning... 3.1.1, Sprint backlog. 3.2, Dally Scrum 3.2.1. Analysis 3.2.1.1. Use Case. 3.2.1.2, Use case briefs 3.2.2. Design. 3.2.2.1, Class Diagram: Accounts managemer 3.2.2.2. authentication sequence Diagram ... 3.2.2.3. Account creation sequence diagram 3.2.3. Implementation 3.3, Sprint review. 3.4, Sprint retrospective... 3.1. Sprint Planning ‘As far as we already have our produet backlog, this inspection had place in 28/03/2018 and lasted for ‘two hours, and where we decided to complete a set of product backlog items. This agreement has defined the sprint backlog based on the team’s velocity or capacity and the length of the sprint. 21 4, Sprint: Accounts management 3.1.1. Sprint backlog During the Sprint Planning inspection, we selected few items fram the product backlog, delimited the user stories and necessary tasks to accomplish each of them. Down below the table representing, Sprint backlog tasks and estimation in days of each task Table 7: Sprint Backiog [inna 1 as. an administrator | want to. 1 Integrate interfaces 3 @ be able to create accounts and 2 Implement create user 4 25 roles method a Implement method 3 20 toassign role 2 as. an administrator | want to. & Conceive and implement 3 w bbe able to block accounts the method to black account 3 as an administrator | want to Implement the method ta 3 2 bbe able to reactive accounts reactive blocked accounts 6 test block and reactive 3 5 accounts 4 as an administrator | want to. 7 Conceive the interface 3 2 be able to read all the accounts tedisplay accounts 8 Implement the method to 3 R display 8 Test the functionality 2 2 5 asacustomerlwanttobe able 10 Conceive the interface 3 5 toupdate my profile to display profile a Implement the method 4 5 and interface to display the users profile aR Test 2 5 6 — asaheipdesk i want to be able 13 Conceive the interface 3 5 to update my profile to display profile cy Implement the method 4 5 and interface to display the users profile 15 Test 2 5 7 asa manager |want to be able 16 Conceive the interface 3 5 to.update my profile to display profile v7 Implement the method 4 5 and interface to display the users profile 18 Test 2 5 4, Sprint: Accounts management 3.2. Daily Scrum All along the Sprint an everyday inspection takes place where we deal about the work done, the upcoming steps and the problems we had during the work. Yet in this sprint we had to make several iterations between analysis, design, cade and test. 3.2.1, Analysis, B11. Use Case Figure 11: Use Case Sprints 3.2.1.2. Use cose briefs Table Bs Use Case Briefs, Sprint Update Proll | Nae P32 Tenner reer description The user ean update personal information through his profile section like his phone number, birthd: actors Customer, helpdesk, Manager preconditions | Accounts created and active Basic flow | Read account and update information Alternative flow Account blocked, leaving the page without validating the changed information Exceptional flow Postcondition Validate the updated information 23 4, Sprint: Accounts management 3.2.2. Design 3.2.2.4, lass Diagram: Accaunts management This Part and the following figure represents the class diagram of the very first sprint (Accounts management), its importance is that it makes the connection between, the use cases, the business layer models and the interface with the user. Figure 12: Coss Diagram sprint 24 4, Sprint: Accounts management 3.2.2.2. Authentication sequence Diagram In this diagram, we first highlight the parts that participate in the realization of the scenario "Authentication". The following Figure illustrates the different interactions between any type of user and the system at the phase of connection. Figure 33: Authentication Sequence Oiogram 25 4, Sprint: Accounts management 3.2.2.3. Account creation sequence diagram In this diagram, we highlight the parts that participate in the realization of the scenario "Account Creation". In the following Figure we'll be presenting the different interactions between administrator and system after authentication. Figure 14: Account creation sequence diagram 26 4, Sprint: Accounts management Software testing is a process of executing a program or application with the intent of finding the software bugs. It can also be stated as the process of validating and verifying that a software program or application or product: Meets the business and technical requirements that guided its design and development In the figure 21 down below we screenshotted the administratar interface after logging In to register anew user. 4, Sprint: Accounts management 3.3. Sprint review ’As the Scrum principles ate, this inspection took place in 20/04/2018, lasted for an hour with the product owner to discuss whether he is satisfied, We discussed the imperfections of this first sprint and came out with some (would have) functionalities that we decided to leave them up to another sprint after getting the (should have) ones done. 3.4. Sprint retrospective This inspection was a great way to the team to reflect on the sprint, the work that was done, the gaals achieved, and set our course for the next sprint. The tool used was oral conversation! It was simpler than whiteboards and sticky notes. However, we had a paper and a pen to write down important ideas. ‘As most impartant things we have deal about are the KSS; what to keep, what to start and what to stop; We will keepa better team communication during the work, start working. on a best commented code quality and stop doing anything that wastes time. 28 5, Sprint2: Ticketing System 5, Sprint2: Ticketing System Plan 5, Sprint2: Ticketing System... 4.1, Sprint Planning, 4.1.1, Sprint backlog. 4.2. Daily Serum 4.2.1, Analysis... 4.2.0.1 USO C80 serene 4.2.1.2 Use Case briefs..... 4.2.2, Design. 4.2.2.1, Class Diagram: Ticketing system. 4.2.2.2. delete trouble ticket sequence diagram.. 4,3, Sprint Review . 4,4, Sprint retrospective , 4.1, Sprint Planning For the host organization's benefit, the product owner decides that this is for now the mast important sprint regarding to its functionalities, in this inspection we discussed for more than three hours dating. 24/04/2018, since this sprint has deeply larger tasks to realize, we decided to set a goal of basic ticketing system that respond to the basic requirements. And therefore, realizing the following sprint backlog, 4.1.1, Sprint backlog Those few items selected from the product backlog, representing a basic functionality of a ticketing. system desired. The belaw table (Sprint backlog) englobes user stories broken down into more specific tasks and estimated days to accomplish each of them. 5, Sprint2: Ticketing System 11 14 Table 8: Sprnt2 Backlog: Weketing systers tent [re Asacustomerlwantto 1 be able to create tickets 2 3 4 ‘Asacustomertwantto 5 be able to read the state ofa ticket that | created 6 Asacustomeriwantto 7 be able to delete my ticket that is not yet treated 8 9 Asahelpdeskiwantto 10 be able to read all tickets and their owners profile 11 Fr] 13 14 Asahelpdeskiwantto 15 beable to update tickets 16 ‘Asamanager|wanttobe 17 able to read all tickets and their owners profile 18 19 20 Asahelpdesklwantto 21 be able to update tickets 22 ao Implement the class diagram and Entity Framework mapping, Conceive the interface responsible to add the ticket Implement the add ticket method to the customers interface Test the creation of the ticker Implement the read method with the customer's interface Test the method Plan the algorithm of testing if the ticket cout be deleted implement the method Test it Conceive the display interface Code the interface Code the display method for the tickets Code the display method for the owner of each ticket Test every task as a help desk Code the method to update tickets Test the update as ahelp desk Conceive and code the interface Code the display method for the tickets Code the display method for the owner of each ticket Test every task as a manager Code the method to. update tickets Test the update as a help desk Esti 3 Sma 25 25 25 20 2 2 12 12 12 25 22 20 12 12 20 2 2 2 12 2 R 5, Sprint2: Ticketing System 4.2. Daily Scrum Typically, every single day we had to make a daily scrum meeting, setting the context of the previous and upeoming days of work, ‘That we detailed in the below parts of this sprint the artifacts and the theoretical facts we could document in this report. 4.2.1, Analysis 4.2.1.1 Use Case ea fan authentication _,| Stequired Figure 17: Use Case sprint2: Ticketing system 3 5, Sprint2: Ticketing System 4.2.1.2 Use Case briefs Table 10: Use Case Briefs, Spritz: Delete non. processed Ucket The customer can delete the ticket created by mistake or if the problem is salved after a while he created the ticket. description actors Customer preconditions ‘Authentication Being the owner of the ticket ‘The ticket is not opened and its process started Basic flow Create ticket _ Open ticket and delete it Alternative flow the ticket is starting process or solved, then deleting itis impossible Exceptional flow Postcondition confirmation delete message Table 11: Use Gase Briefs, Sprint2: Process ticket Ta Zz description The user can update personal information in his profile like his phone number, birthday... actors Customer, helpdesk, Manager preconditions ‘Accounts created and active Basic flaw Read account and update information Alternative flow ‘Account blocked, leaving the page without validating the changed information Exceptional flow Postcondition Validate the updated infarmation 4.2.2. Design 4.2.2.1. Class Diagrom: Ticketing system In this Part we represent the class diagram of the second sprint (Ticketing system), highlighting the most needed classes for this sprint. 32 5, Sprint2: Ticketing System Figure 28: elossciagram spriat2 4.2.2.2, delete trouble ticket sequence diagram In this diagram, we highlight the parts that participate in the realization of the scenario "Delete trouble ticket’ In the following Figure we'll be presenting the different after authentication while managing his tickets. iteractions between customer and system 3 5. Sprint2: Ticketing System [rewarson Sie te cram Figure 19: delete trouble ticket sequence dlagrom 5, Sprint2: Ticketing System 4.3. Sprint Review this inspection took place in 18/05/2018, lasted for an hour when the praduct owner was present. We discuss the product's state, we came aut with some other requirements that will be present in the upcoming sprint backlog. 4.4. Sprint retrospective ‘As well as the previous sprint the team discussed the work done, the goals achieved and non- achieved, and our communication with each other. The inspection lasted for an hour and we created a plan for improvements to be enacted during the next Sprint. General Conclusion and perspectives General Conclusion and perspectives In this project, we created aur CRM fram seratch by learning and exploring a well propelled we technology, which allows easy and perfect communication between the Client-side, fully developed in HIMILS and Razor pages, and the .NET Server-side. This reportis the summary of our graduation project from the higher institute of technological studies of Rades (ISETR) (in French “institut supérieur des études technologiques de rads (ISET host company SINORFI. It summarizes the work done to develop this application, This wark provides the most important services to SINORFI primarily: the ticketing system. It is supposed to be hosted on Azure responsible of SINORFI. ud service but this task is delayed by a decision from the The realization of this report is divided into three big axes; the first one deals with the general frame of the project (presenting the host organization its problems and the solution proposed), and the methadology adopted, The second is the sprint zero; wich is something a litle special with Scrum, since we are not familiar with this methadology before that it was a must to have a sprint zero that contains the hole work done before starting the typical known sprints( Dividing roles, technical choices and tools used), therefore we had the software requirements specifications ‘document, the first most important artifact; the product backlog and we planned a little about the upcoming sprints and an overview about their repartition Afterwards, the third part id obviously the sprints iterations, each sprint deals with several functionalities. This internship was a fabulous experience to me with its ups and downs, that | learned from scratch ‘Scrum practically and .net technology as well. Discovered for the first time the work within a Digital Service Company, it was equally a chance to discover CRM s and think about my own startup project. 36 biography and Netography Bibliography and Netography [1] (Online). Available: http://www-sinorfl.com/. [Accessed 03 2018} [2]. [Ontine). available: hetps://www.youtube.com/watch?v-Mmm-7oagurk. (Accessed 02 2018). [3] [Online]. Avatlable: httpi//teehonestop.com/what-does-erm-stand-for-what-is-erm. [Accessed 03 2018), [4] [Online]. Available: httpsi//www.researchgate.net/figure/Non-Exhaustive-View-on-the- Main- ‘Aspects-Forming-2-Cloud-System-13.fig3_49592723, [Accessed 04 2018] {5} (Online). available: hetps://www.nist.gov/. [Accessed 04 2018). [6] [Online]. Available: https://kvaes.wvordpress.com/2017/02/21/opinion-hybrid-cloud-hybrid- ‘cloud-and-how-does: private-cloud-link-to-that/. [Accessed 04 2018). [7] [Online]. Available: https://www.agilealliance:org/agile101/12-principles-behind-the-agile- manifesto/. [Accessed 03 2018} 18] (Online). Available: https://wmww.versionone.com/agile-101/agile-methodologies/. [Accessed 03 2018). 19] (Online). Available; http://sce.uhel.edu/helm/rationalunifiedprocess/. (Accessed 03 2018), {10} [Online]. Available: https://www.scrum.org/resources/what-is-scrum. [Accessed 03 2018). [11] [Online]. available: _https://mww.c-sharpcomer.com/UploadFile/49c892/the-agile-scrum- framework/. [Accessed 03 2018}. [12] [Online]. Available: https://www frantrawagile.com/blog/posts/125-sp rint-zero-for-product- ‘owners. [Accessed 04 2018}. 113] [Online}. Available: ittp://urwor trempet.it/Enseignement/Cours/inf5151/Hiver2008/NatesdeCours/PP- 1EEE%20830-%201998.pdf. [Accessed 03-04 2018). [14] 04.2028, [Online], Available: httpsi//fiyllb,com/books/en/2,.100.1,64/1/, 115] [Online}. Available: https://docs.microsoft.cam/en-us/aspnet/. {16} (Online). available: hetps://www.w3schools.com/bootstrap/. [Accessed 04 2018} 117]05 2018, [Online], Available: httpsi//michaeltant;com/2010/05/21/how-to-easily-priortize- ‘your-agile-stories/. 118] [Online]. Available: https://www. scrum.org/resources/blag/S-scrum-values-take-center-stage. [Accessed 03 2018). [19] 05 2028. {Oniine}, Available: https://www.agilebusiness.org/content/moscow-prioritisation-0. 9 Appendix A: Scrum Appendix A: Scrum Iwrrooucrion ‘SCRUM is.a loose set of guidelines that govern the development process of a product, from its design stages to its completion. It aims to cure some common failures of the typical development process, suchas: * Chaos due to changing requirements - the real or perceived requirements of a project usually changes drastically from the time the product is designed to when it is released. Under most product development methods, all design is done at the beginning of the project, and then no changes are allowed for of made when the requirements change. + Unrealistic estimates of time, cost, and quality of the product - the project management and the developers tend to underestimate how much time and resources a project will take, and how much functionality can be produced within those constraints. This usually cannot be accurately predicted at the beginning of the development cycle * Developers are forced to lie about how the project is progressing - When management underestimates the time and cost needed to reach a certain level of quality, the develapers must either lie about how much progress has been made on the product, or face the indignation of the management, SCRUM has been successfully employed by hundreds of different companies in many different fields, with outstanding results SCRUM Vawues ‘The SCRUM values are derived from the Agile values of software development, «Individuals and interactions over processes and tools - pracesses and tools are helpful, but they will do yau no good if the team does not communicate and collaborate in a constructive fashion. * Working software over comprehensive documentation - documentation is important, but what's ‘most important is to have working software. + Customer collaboration over contract negotiation - you are not just looking to get a contract and get maney that way - you are solving the customer's problem. * Responding to change over following 3 plan - if the requirements or perceived requirements changed, s0 should the plans and design, 38

You might also like