1. 0
Realized By:
Amine Kammoun
Amira Bedhiafi
Mohamed Selten
Olfa Boudakim
Sawssen Larbi
Class :
4ERP-BI1
University Year: 2016-2017
PIDEV Report
2. 1
Acknowledgment
We would like to thank all the supervisors of the integration project who collaborated with us in
the realization of this project. We also like to express our gratitude to our loved ones for their
support throughout this project.
3. 2
Table of contents
List of figures.................................................................................................................................. 4
List of tables.................................................................................................................................... 5
General Introduction ....................................................................................................................... 6
Chapter 1: Project context............................................................................................................... 7
Introduction................................................................................................................................. 7
1. Let’s Carpool! ...................................................................................................................... 7
2. Finding a roommate!............................................................................................................ 7
3. CarpColloc: From Carpooling to Roommate Finder…! ........................................................ 7
3.1. Context of the application................................................................................................. 7
3.2. Issues ................................................................................................................................ 9
3.3. Scope of the project .......................................................................................................... 9
Conclusion................................................................................................................................. 10
Chapter 2: Methodology ................................................................................................................11
Introduction................................................................................................................................11
1. Presentation of Scrum method............................................................................................11
2.The Benefits of Scrum............................................................................................................ 12
3.Roles....................................................................................................................................... 13
Conclusion................................................................................................................................. 13
Chapter 3: Sprint 0........................................................................................................................ 14
Introduction............................................................................................................................... 14
1. Requirements analysis and specification ........................................................................... 14
1.1. The functional requirements....................................................................................... 14
1.2. The non-functional requirements.................................................................................... 15
2. Actors identification and use case diagram.................................. Erreur ! Signet non défini.
2.1. Identification of actors.................................................................................................... 16
2.2. Global Use case diagram ................................................................................................ 17
3. Analytical class Diagram ...................................................................................................... 18
4.Product backlog elaboration................................................................................................... 18
5.Physical Architecture.............................................................................................................. 22
6.PV of the Retrospective Meeting ........................................................................................... 22
7.Pv of daily scrum meeting...................................................................................................... 23
Conclusion................................................................................................................................. 24
5. 4
List of figures
Figure 1: Consumer to consumer.................................................................................................... 8
Figure 2: Existing websites exemples............................................................................................. 9
Figure 3: Scrum Methodology.......................................................................................................11
Figure 4: Scrum Roles .................................................................................................................. 13
Figure 5: Global Use Case Diagram ............................................................................................. 17
Figure 6: Analytical class diagram................................................................................................ 18
Figure 7: Product Backlog ............................................................................................................ 21
Figure 8: Physical Architecture..................................................................................................... 22
Figure 9: Sprint Backlog DOT NET............................................................................................. 26
Figure 10: Class Diagram .NET.................................................................................................... 28
Figure 11: Sequence diagram: case "Add alert" ........................................................................... 29
Figure 12: Sequence diagram: case "Publish Collocation offer".................................................. 30
Figure 13: Add a collocation group ............................................................................................ 322
Figure 14: List of collocation groups.......................................................................................... 322
Figure 15: Join a group ............................................................................................................... 333
Figure 16: Leave a group ............................................................................................................ 333
Figure 17: List of Collocation offers by user.............................................................................. 344
Figure 18: Searching carpool trips by governorate..................................................................... 344
Figure 19: Sprint Backlog JEE ..................................................................................................... 39
Figure 20: Class Diagram JEE...................................................................................................... 41
Figure 21: Sequence diagram: case "Join Carpool"...................................................................... 42
Figure 22: Sequence diagram: case "Comment trip".................................................................... 43
Figure 23: List of the trips by user................................................................................................ 45
Figure 24: List of all the carpool trips .......................................................................................... 45
Figure 25: My Calender................................................................................................................ 46
Figure 26: Note a driver................................................................................................................ 46
Figure 27: The average note of every driver................................................................................. 47
Figure 28: Send a message............................................................................................................ 47
Figure 29: Visualize carpool trips by governorate........................................................................ 51
Figure 30: Physical Architecture................................................................................................... 53
Figure 31: Physical Architecture................................................................................................. 533
Figure 32: Site Collection............................................................................................................. 54
Figure 33: My Site ........................................................................................................................ 54
Figure 34: Anonymous Authentication(1) .................................................................................... 55
Figure 35: Anonymous Authentication (2) ................................................................................... 55
Figure 36: Anonymous Authentication (3) ................................................................................... 56
Figure 37: Create a group ............................................................................................................. 56
Figure 38: Choose permissions..................................................................................................... 57
Figure 39: Assign the roles ........................................................................................................... 57
Figure 40: Shared Calendar (1)..................................................................................................... 58
Figure 41: Shared Calendar (2)................................................................................................... 588
6. 5
List of tables
Table 1: Exemple of functional requirements............................................................................... 14
Table 2: Identification of actors .................................................................................................... 16
Table 3: Carpool addition description........................................................................................... 18
Table 4: Pv of Retrospective meeting ........................................................................................... 22
Table 5: Pv of daily meeting ......................................................................................................... 23
7. 6
General Introduction
Carpooling is the sharing of car journeys so that more than one person travels in a car. By having
more people using one vehicle, carpooling reduces each person's travel costs such as fuel costs,
tolls, and the stress of driving.
From carpooling to finding a roommate, which becomes one of the most daily problems, talking
about share home a model of household in which a group of usually unrelated people reside
together.
This report is containing the summary of our whole work during the 5 sprints, the steps that lead
us to the final result.
It contains 6 chapters, grouped into 4 sections:
Project Context: this chapter enclose the context of the project by specifying the frame
of its elaboration. And of course, it explains the concept of roommate and carpool finder.
Methodology: in this chapter, we’re going to introduce the methodology chosen in our
work.
Life cycle of the application: this part contains a complete and detailed analysis of the
design and realization steps. It will be devised into 4 sprints:
o Sprint 0
o Sprint 1
o Sprint 2
o Sprint 3
8. 7
Chapter 1: Project context
Introduction
This chapter is a brief presentation of this report scope, it contains a small description of the key
elements of our project consisting of the elaboration of an application dedicated to roommate &
carpool finder.
1. Let’s Carpool!
Carpooling (also car-sharing, ride-sharing and lift-sharing) is the sharing of car journeys so that
more than one person travels in a car. By having more people using one vehicle, carpooling
reduces each person's travel costs such as fuel costs, tolls, and the stress of driving. Carpooling is
also a more environmentally friendly and sustainable way to travel as sharing journeys reduces
carbon emissions, traffic congestion on the roads and the need for parking spaces. Authorities
often encourage carpooling, especially during traffic congestion.
2. Finding a roommate!
From carpooling to finding a roommate, which becomes one of the most daily problems, talking
about share home a model of household in which a group of usually unrelated people reside
together. The term generally applies to people living together in rental properties rather than in
properties in which any resident is an owner occupier.
3. CarpColloc: From Carpooling to Roommate Finder…!
3.1. Context of the application
Our application Carpolloc is divided in two modules: Carpooling & Roommate Finder.
Carpooling:
The primary objective of this module is to provide a tool where a group of students can
establish carpool arrangements. The carpools may be established to various predetermined
locations. Each user of the system can also establish a single start point and end point
9. 8
location which is the user’s home location. Each of these points becomes part of the
system’s list of locations that are available. Allowing this type of use will permit users to
create personalized carpool trips or simply utilize the pre-determined locations. Our
university would be an example of a pre-determined meeting place that would be available
to the car pools, and an excellent prototype to work on it.
Roommate finder:
Our application should cover all the basics of roommate hunting: someone looking for
someone else to apartment-hunt with, someone looking for an open room and someone
looking to fill an open room. Like a dating website, Carpolloc can link up with many social
networks such as Facebook and gathers all the basic information from you, such as if you're
a smoker, a night owl or clean freak. The user of the application must, first of all, be able to
identify if it is a property owner or a tenant.
A property owner: may be an owner of a classic property (studio, apartment or house) or the
owner of a residence.
A tenant may be looking for a property (single or collocation), or he may be already a tenant
looking for roommates.
This project aims to develop a collaborative and intuitive platform of service exchange. We
will deal with an economic model:
C to C (consumer to consumer): each customer can either propose services or consume
other customer’s services.
Figure 1: Consumer to consumer
10. 9
3.2. Issues
The existing applications are not efficient enough to cover all the details and tasks, so we tried to
cover the most of them and develop an entire application that groups carpooling & roommate
finder.
Figure 2: Existing websites exemples
3.3. Scope of the project
Back office sub-systems
· Managing users accounts
· Refund services
· Managing users’ activities
· Managing reports
Mobile front-end
· Displaying carpooling/roommate finder services
· Advanced search filter
11. 10
· Submit for a carpooling/roommate finder service
· Rating carpooling/roommate finder services Front
Office sub-system
· Customer registration
· Managing carpooling/roommate finder’s services
· Advanced search filter
· Rating carpooling/roommate finder services
· Associate customers
Advanced features
· Notification and alerts
· Statistics and reporting
· Social APIs integration
· Reward point tokens
Conclusion
In this chapter, we presented a general idea about our project and we specified our following
needs.
To establish our proposed solution, we must follow a strategy, a methodology. This will be
explained in the next chapter.
12. 11
Chapter 2: Methodology
Introduction
A successful Scrum project is much about understanding what Scrum is. So, in this chapter we
will explain Scrum which will be our methodology during the project.
1. Presentation of Scrum method
Scrum is a way for teams to work together to develop a product. Product development, using
Scrum, occurs in small pieces, with each piece building upon previously created pieces. Building
products one small piece at a time encourages creativity and enables teams to respond to
feedback and change, to build exactly and only what is needed.
More specifically, Scrum is a simple framework for effective team collaboration on complex
projects. Scrum provides a small set of rules that create just enough structure for teams to be able
to focus their innovation on solving what might otherwise be an insurmountable challenge.
However, Scrum is much more than a simple framework. Scrum supports our need to be human
at work: to belong, to learn, to do, to create and be creative, to grow, to improve, and to interact
with other people.
Figure 3: Scrum Methodology
13. 12
2. The Benefits of Scrum
Develop what is needed
Scrum allows the incremental development of features. In time the customer receives the
first working versions, sees the progress and if necessary can add some new ideas.
Confidence through transparency
Transparency plays a great deal on various levels of Scrum. Because of transparency all the
stakeholders are informed where the project is at, it helps discovering weaknesses and it
makes the effective teamwork possible, which makes Scum so efficient.
Build Quality in
Testing is an integrative component of Scrum at every sprint. Only if the software is tested
and documented it is “ready”. Methods as Continuous Integration are very well applicable
for securing the quality of every object from the beginning on.
Recognize risks in time – systematic risk management
Regular releases establish the condition to recognize problems on time and react promptly.
There are long-term statements about time factor and product completion possible because of
factors as team velocity.
Changes are welcome – calculable change management
Scrum is not afraid of changes. On the contrary, changes can be shown to the Product Owner
at any time and can be realized in the following sprint. That way the customer gets the
product he or she desires.
Keep it lean and agile – efficient collaboration and customer satisfaction Scrum involves
all the participants of the project. Communication, collaboration, respect and the
understanding, what the customer requires or what the team develops, is the basis for
successful projects.
14. 13
Last but not least – Scrum is fun
Not the assignment of tasks but the collaborative functioning and making decisions as a team is
an important part of Scrum. Software development is seen as what it is: A creative and
multisided activity that can only work properly when everyone takes responsibility.
3. Roles
Building complex products for customers is an inherently
difficult task. Scrum provides structure to allow teams to
deal with that difficulty. However, the fundamental process
is incredibly simple, and at its core is governed by 3
primary roles.
Product Owners determine what needs to be built
in the next 30 days or less.
Development Teams build what is needed in 30
days (or less), and then demonstrate what they have
built. Based on this demonstration, the Product
Owner determines what to build next.
Scrum Masters ensure this process happens as
smoothly as possible, and continually help improve
the process, the team and the product being created.
While this is an incredibly simplified view of how Scrum
works, it captures the essence of this highly productive
approach for team collaboration and product development.
Conclusion
In this chapter, we specified the choice of our project methodology. In the following chapters we
will extract our features and explain its details.
Figure 4: Scrum Roles
15. 14
Chapter 3: Sprint 0
Introduction
In this chapter the following sections will describe in detail the architectural design used. In
addition, diagrams, use cases, entity definitions and a conceptual design have been documented.
1. Requirements analysis and specification
Any project’s requirements need to be well thought out, balanced and clearly understood by all
involved, but perhaps of most importance is that they are not dropped or compromised halfway
through the project.
1.1. The functional requirements
In this section, we present the exigency this system has to cover. The definition of a functional
requirement is:
Any requirement which specifies what the system should do.
In other words, a functional requirement will describe a particular behavior of function of our
system when certain conditions are met, for example: “Send email when a new customer signs
up” or “Open a new account”. We can find below, a list of services our application should
provide.
Service Responsible
Validates users’ activities Administrator
Manage reports
Manage his profile Client
Manage a carpool
Table 1: Exemple of functional requirements
16. 15
1.2. The non-functional requirements
The definition of a non-functional requirement is:
Any requirement which specifies how the system performs a certain function.
In other words, a non-functional requirement will describe how our system should behave and
what limits there are on its functionality.
Non-functional requirements generally specify the system’s quality attributes or characteristics,
for example: “Modified data in a database should be updated for all users accessing it
within 2 seconds.”
1. Security
The application has to offer full security for the client and consultant to manage any information
which means accessible and usable only in authorized ways by authorized users.
2. Performance
This one shouldn’t come as a surprise. Quality software has to be fast. Or at least feel fast. “It’s
not fast enough” is a battle we never want to get into. When we think about an application
being performant, we must think about specifying the following:
Response times
How long should my app take to load? What about screen refresh times or choreography?
Processing times
How long is acceptable to perform key functions or export / import data?
Query and Reporting times
This could be covered off with general reporting times, in case of providing an API we
should probably consider acceptable query times too.
3. Capacity and Scalability
How much do we need to cope with now, and how much do you think we’ll need to cope with
in the future? Unless you are truly blessed with an incredibly forgiving audience (or a great
illustrator), you won’t be able to get away with your own fail whale.
4. Availability
17. 16
Our application must be available, users can edit or send information at any time.
Hours of operation
When does our application need to be available: If we need to do a database upgrade or a
system backup, can we take the system offline while you do it?
Locations of operation
A few things to think about here: Geographic location, connection requirements and the
restrictions of a local network prevail.
5. Reliability
Our application has to be 100% reliable, clients should rely on it social networking services.
6. Usability
Our application has to be easy to use, with standard looking interfaces and with clear and
beautiful visual style.
7. Maintainability
Our application must be quickly maintainable
2. Actors identification and use case diagram
2.1. Identification of actors
An actor represents the abstraction of a role played by external entities that interact directly with
the system studied. An actor acts on the system, it plays a different role in each use case which
he collaborates and is usually represented by a stick man
Administrator He is the one responsible for managing us-
ers’ accounts and their activities, reports and
refund services.
Client Manage a carpool/a collocation.
Manage collection groups
Feedback
Table 2: Identification of actors
18. 17
2.2. Global Use case diagram
Use cases gives a clear view about the sequence of functions of our system.
We did not give all the use cases specifications as many of them are either obviously similar or
easily comprehensive.
Figure 5: Global Use Case Diagram
In this section, we analyze one of our use cases and give detailed description.
19. 18
Use Case Name Create a carpool
Participating Actors Client
Entry Conditions The client must be connected.
Flow of Events 1. Consult Home page
2. Choose the “Add carpool” section
3. Fill out a carpool form
Alternative Flows Error message: Missing mandatory infor-
mation
Exit Conditions Message of confirmation: The carpool was
accepted and created.
Table 3: Carpool addition description
3. Analytical class Diagram
Figure 6: Analytical class diagram
4. Product backlog elaboration
20. 19
The Product Backlog is a prioritized, ordered list, sorted by business value and risk. It contains
the work needed to accomplish the project. The Product Backlog often contains user stories but
may also contain functional requirements, nonfunctional requirements, bugs and various issues.
The Product Backlog is estimated in abstract units such as story points, which use a relative
weighting model. The Product Backlog is owned and managed by the Product Owner.
The definition of done heavily influences it as well.
23. 22
5. Physical Architecture
Application architecture is the organizational design of an entire software application, including
all sub-components and external applications interchanges. There are several design patterns that
are used to define this type of architecture, and these patterns help to communicate how an
application will complete the necessary business processes as defined in the system
requirements.
The physical architecture of our application is presented using UML deployment diagram
Figure 8: Physical Architecture
6. PV of the Retrospective Meeting
Glad Sad Mad
1. Visualization of
the final product
1. The choice of template
2. The distribution of the
spots
3. An incomplete control of
.Net
1. Ambiguity of what is asked of
us and what is not
2. The lack of choice of available
free templates
3. Lack of communication be-
tween team members
4. Unclear priorities of tasks
Table 4: PV of Retrospective meeting
24. 23
What needs to be improved?
1- the communication between team members: Mutual listening
2- the control of framework .NET
3- Identify the needs of the user to which our product must respond
4- Adequate spacing
What to eliminate?
1- Wrong problems (ex: complicated functionality not required by our application)
2- Absences of team members
3- The tensions in the group that may favor the formation of clans or coalitions.
4- Distractions during ceremonies no phone, no cell phone, no computer: everyone is
focused on what happens
7. Pv of daily scrum meeting
What did I do
yesterday?
What will I do today? What impedes me?
Boudakim Olfa Sprint Backlog Sprint backlog review Lack of experience with
the scrum methodology
Kammoun M.Amine use case diagram Prepare the Burndown Chart Lack of communication
with other members
Larbi Sawsen Class Diagram PV of retrospective meeting
and daily meeting
Lack of information
Selten Mohamed Search for a template Object sequence diagram
(2 use case)
Lack of communication
with other members
Bedhiafi Amira Product Backlog Backlog review Lack of information
Table 5 : Pv of Daily Meeting
25. 24
Conclusion
This was a presentation of our analyses for the project assigned to us. To establish our proposed
solution, we must follow a methodology, which is SCRUM. We extracted our features in this
chapter and explained in details our project. Sprint 0 allowed us to make a functional breakdown
of our future system and to define our product backlog, models, application architecture class
diagram, use case diagram and individual requirements that compose it. After preparing an
adequate environment, and made the necessary analysis, we will develop our application in the
next Sprint.
26. 25
Chapter 4: Sprint 1
Introduction
The objectives of this sprint and the sprint backlog are described in this chapter. Also, the
analysis and the design of our application are introduced.
Finally, we will present a deliverable to the client which is a website intended for people who are
looking for collocation offers or roommates, also for property owners.
1. Sprint Backlog
The sprint backlog is the set of items selected for the sprint in addition to a plan to achieve
within an increment of product that will realize the goal of the sprint. It presents a forecast of
what the development team expects to be able to deliver in the next increment of product and
details of the work to be done to get there. The sprint backlog defined the work the development
team to take for the product backlog items are considered "complete". The sprint backlog allows
you to view all the work necessary to achieve the objective of the sprint.
29. 28
3. Class Diagram
Figure 10: Class Diagram .NET
A class diagram expresses the static structure of the system in terms of classes and relationships
30. 29
between classes. Interest class diagram is modeling features of the information system. The class
diagram is used to represent all finalized information that is managed by the domain. These
information are structured, that is to say, they are grouped into classes.
4. Object sequences Diagrams
A Sequence diagram is an interaction diagram that shows how processes operate with one
another and in what order. It is a construct of a Message Sequence Chart. A sequence diagram
shows object interactions arranged in time sequence. It depicts the objects and classes involved
in the scenario and the sequence of messages exchanged between the objects needed to carry out
the functionality of the scenario. Sequence diagrams are typically associated with use case
realizations in the Logical View of the system under development. Sequence diagrams are
sometimes called event diagrams or event scenarios.
4.1. Sequence diagram: case "Add alert"
Figure 11: Sequence diagram: case "Add alert"
31. 30
Description:
To add an alert the client must be connected and follow a process as follow:
Click on add alert button
Fill all the fields
Specify if the client want to receive notifications by email or not
If the alert has been created, the client will receive a success message, otherwise he will
get an error
4.2. Sequence diagram: case "Publish collocation offer"
Figure 12: Sequence diagram: case "Publish Collocation offer"
32. 31
Description:
To publish a collocation offer, the client must be connected and follow a process
The process is as follow
The client clicks on the button add collocation offer.
The client will fill the fields with needed information.
The client will choose the duration and the availability of his offer.
If all the information is valid, the offer will be published, otherwise, the client will
receive an error message.
5 . Application Interfaces
At this level, the client is shown the first visual deliverable: the .NET application dedicated to
administrators and member of Carpolloc.
To access the home page, first you must authenticate (Figure ).
Once acceded as a member, he can manage both oh his collocation groups and collocation offers
(add, remove, update), join or leave a collocation group.
Below some screenshots of the application, the user can add a collocation group.
33. 32
Figure 13: Add a collocation group
Then, he can visualize the list of his own collocation groups and search a group by
Establishment.
Figure 14: List of collocation groups
After having the list of groups in which he is not a member, the user can join the group.
34. 33
Figure 15: Join a group
The user can also have the list of the groups in which he is not a member and leave a collocation
group if he wants.
Figure 16: Leave a group
The user can visualize the list of his collocation offers and search one by type of property, by city
or by both.
35. 34
Figure 17: List of Collocation Offers by user
The user can search a carpool trip by governorate.
Figure 18: Searching carpool trips by governorate
36. 35
5. Working Environment
Visual Studio .NET is a Microsoft-integrated development environment (IDE) that can be used
for developing consoles, graphical user interfaces (GUIs), Windows Forms, Web services and
Web applications.
Visual Studio is used to write native code and managed code supported by Microsoft Windows,
Windows Mobile, Windows CE, .NET Framework, .NET Compact Framework and Microsoft
Silverlight. Visual Studio .NET’s code editor supports IntelliSense and code refactoring, while
the Visual Studio .NET integrated debugger supports both source and machine-level debugging.
Visual Studio .NET includes other built-in tools, like a form designer, which is useful when
building GUI applications; a Web designer that creates dynamic Web pages; a class designer that
is used to create custom libraries, and a schema designer for database support.
MySQL is a management system database (DBMS). Depending on the type of application, the
license is free or proprietary. It is part of the management software database most used in the
world, both by the general public (mainly web applications) by professionals in competition with
Oracle or Microsoft SQL Server. MySQL is a SQL Server relational database developed for the
sake of high performance in reading, which means it is more service-oriented data already in
place than to that of being frequent and highly secure updates. It is multi-threaded and multi-
user. The MySQL database has become the database open the world's most popular thanks to its
high performance source, reliability and ease of use.
37. 36
Conclusion
After 2 weeks of hard work, the .NET Sprint ended with the realization of the website which is
dedicated for those who are looking for carpool trips. During this sprint, we realized that the
expertise factor is quite important especially what concerns the tasks’ estimation, but it is certain
that the Scrum methodology has lightened the deal by minimizing efforts through sharing the
tasks to be done.
38. 37
Chapter 5: Sprint 2
Introduction
During this Sprint, a deliverable should be presented to the client which is a website dedicated to
administrators and members of "Carpolloc". The object of this website is to help a group of users
to establish carpool arrangements.
1. Sprint Backlog
42. 41
3. Class Diagram
Figure 20: Class Diagram JEE
The figure shown below identified all feature classes that participate in the implementation of the
43. 42
use cases and will be tables in the future database.
Thus, this diagram specifies associations and cardinality between entities to guide us to generate
the script database.
4. Object sequences Diagrams
4.1. Sequence diagram: case "Join carpool"
Figure 21: Sequence diagram: case "Join Carpool"
44. 43
Description:
To join a carpool, a client must be connected and follow a process
The process is as follow:
The client starts by searching for the best carpool for his destination
Then he chooses a carpool from the list and click on the button join
If there’s still places available, the client will become a member of this trip, otherwise, he
will receive an error message
4.2. Sequence diagram: case "Comment trip"
Figure 22: Sequence diagram: case "Comment trip"
45. 44
Description:
A client must be connected to comment a carpool trip and follow a process,
The process is as follow:
The client will click on the button show my trips
The client will choose a carpool trip from the list
Then, he will click on the button comment and write his comment and click on OK
The comment will be added and the client will receive a success message
5. Application Interfaces
At this level, the client is shown the first visual deliverable: the JEE application dedicated to
administrators and member of Carpolloc.
To access the home page, first you must authenticate (Figure ).
46. 45
Once acceded as a member, he can manage his carpool offers (add, remove, update), reserve a
carpool trip or cancel a reservation.
Below some screenshots of the application.
Figure 23: List of the trips by user
Figure 24: List of all the carpool trips
47. 46
Figure 25: My Calender
The user can also note a driver and see the average note of every driver.
Figure 26: Note a driver
48. 47
Figure 27: The average note of every driver
The user can consult his messages and send messages to other users.
Figure 28: Send a message
Added to that, he can visualize carpool trips by governorate.
49. 48
Figure 29: Visualize carpool trips by governorate
6. Working Environment
Design tool Visual Paradigm:
WildFly formerly known as JBoss AS, or simply JBoss, is an application server authored
by JBoss, now developed by Red Hat. WildFly is written in Java, and implements the Java Plat-
form, Enterprise Edition (Java EE) specification. It runs on multiple platforms.
WildFly is free and open-source software.
50. 49
MySQL
MySQL is a management system database (DBMS). Depending on the type of application, the
license is free or proprietary. It is part of the management software database most used in the
world, both by the general public (mainly web applications) by professionals in competition with
Oracle or Microsoft SQL Server. MySQL is a SQL Server relational database developed for the
sake of high performance in reading, which means it is more service-oriented data already in
place than to that of being frequent and highly secure updates. It is multi-threaded and multi-
user. The MySQL database has become the database open the world's most popular thanks to its
high performance source, reliability and ease of use.
Conclusion
After defining our line of work for sprint 2 thanks to the sprint backlog, we were able to divide
our work in tasks which were affected to each member of the team.
This Sprint summarized the design and implementation of a Two-week long sprint.
Despite of some problems, we have achieved the goals set for this part of the project.
51. 50
Chapter 6: Sprint 3
Introduction
SharePoint introduces new ways to share your work with others, organize your projects and
teams, and discover people and information.
1. SharePoint presentation
SharePoint is an enterprise information portal, from Microsoft, that can be configured to run
Intranet, Extranet and Internet sites. Microsoft Office SharePoint Server allows people, teams
and expertise to connect and collaborate. SharePoint Server is designed for individuals, teams
and projects within a medium to large company wide enterprise portal.
SharePoint solves four main problems:
As companies grow so does the amount of their files. It soon becomes difficult to keep track of
the multiplying documents and their locations. SharePoint overcomes this by allowing you to
store and locate your files in a central site. Files can also be located through companywide
searches of your SharePoint enterprise portal.
Sharing work files through email is a cumbersome process. SharePoint eliminates this by
allowing files to be stored in one location, allowing easy access to all team members.
Today’s work occurs over multiple locations, whether it is in different countries, office locations
separate departments or at your home office. SharePoint enables teams and individuals to
connect and collaborate together regardless of where they are located.
It’s difficult and time consuming to create and maintain sites. SharePoint allows anyone to create
sites for use within their company’s Intranet, as they are needed, whether they are departmental
sites, document libraries, meetings sites, survey sites, or discussion boards.
52. 51
Figure 30: SharePoint's Concept
2. Physical Architecture
Tier Architecture is the simplest, single tier on single user, and is the equivalent of running an
application on a personal computer. All the required component to run the application are
located within it. User interface, business logic, and data storage are all located on the same
machine. They are the easiest to design, but the least scalable. Because they are not part of a
network.
53. 52
Figure 31: Physical Architecture
3. Logical Architecture
The same reason you build a physical architecture of your servers before actually rolling
out your infrastructure, you’ll need one for the logical objects that make up your Share-
Point. One of the main reasons for building a SharePoint Governance Plan, is to set poli-
cies and rules on how to use and interact with the SharePoint Platform. So, it’ll be a lot
easier to assign these policies to things in SharePoint which are already « logically »
grouped.
54. 53
Figure 32: Logical Architecture
4. Application Interfaces
In this section, we describe the different interfaces available to each type of user to operate the
features of our application.
A site Collection is a collection of SharePoint Sites. Each site collection contains a single top-
level site and subsites below it
55. 54
Figure 33: Site Collection
Figure 34: My Site
Anonymous access is the permission that every user can enable to log on to sites without having
credentials.
61. 60
General Conclusion
In this project, we have shown our ability to come up with a concrete solution to create an all
application.
This project has also been a showcase for the level focus we applied to first find a viable
solution, implement it and then test it for eventual weak spots. The result was satisfactory in that
we were able to get familiar with and then efficiently use new technologies like: .NET, JEE, JSF
and SHAREPOINT
However, we are deeply convinced that given enough time and resources, we should be able to
optimize this first draft of this application and add other features to it and try to ameliorate it.