
5 CASE STUDY
To test CBDE was build a framework for E-
Learning (EL) with 60 software components. It was
a result of a master degree dissertation (Sanches,
2002). The framework supports the elaboration and
the administration of courses, assisting, mainly,
requirements related to the resources and didactic
services, administrative and course support. The
main customers involved in the EL domain of this
case study are specifically teachers and the students.
The following is a presentation of each step in the
development and reuse process according to that
indicated in section 3.
5.1 Comunication with the Customer,
Planning and Risk Analysis
Initially "brainStorming" sessions were
accomplished, involving teachers and students with
the intention of specifying the context of the
problem and to identify the requirements related to
the different applications of E-Learning domain
using it as a problem domain. As a result of these
sessions a group of documents and models that
described the identified requirements was
elaborated. Starting from the identified
requirements, hardware and software necessary for
task accomplishment were determined. Developers
were allocated to work on the required tasks. For
this a cronogram was defined for these activities and
the costs for the accomplishment were also dear.
Starting from the cronogram and of the dearly
costs, were identified the risks that the project was
exposed. A systematic assessment was
accomplished, mapping the threats and
vulnerabilities in his viability. They were also
prioritized actions to subsidize effective alternatives
for the uncertainties.
5.2 Construction
In this phase, Component Construction, the E-
Learning domain components were built. In the
Problem Domain step, corresponding to the first
level of Catalysis, the requirements and the rules of
business of the EL domain are identified. The
requirements were obtained starting from the study
of several courses authorship environment: WebCT
(Sanches, 2002), AulaNet(Sanches, 2002) and
LearningSpace (Sanches, 2002). In this step are
identified also the actors, and their interactions in the
context of the EL domain. The following actors were
identified: Administrator, Author, Teacher and
Student. Different models built in this development
stage as a mind-map (D’Souza, 1998) had with the
identified actors, which creates the collaboration
model, that is represented in a cases of use model,
that it represents the actors and their interactions in
the content of the problem domain, in which
represents the case of use to register for each actor.
In the Component Specification step,
corresponding to the second level of Catalysis, the
Problem Domain models are refined, being specified
the Types (D’Souza, 1998) and Sequence (Fowler,
1997), (Booch, 1999) Models, without worrying
with the implementation. The model of types is
obtained by the refinement of the use case models,
that represent the behaviors of the objects and their
messages connections, and of the snapshot models
that represent the attributes of the objects and their
relationships. The Use Case Models, of the previous
step, are refined in Interactions Models represented
by the sequence diagrams, aiming to detail the
sceneries of use of the components in the different
applications of the problem domain.
In the Component Internal Project step,
corresponding to the third level of Catalysis, the
classes are modeled, obtained by the refinement of
the types of the domain built in the second step,
worrying about the definition of the components
with their interfaces. Now, the implementation
details are important, such as: safety, persistence,
distribution architecture and the implementation
language. The Interactions Models are refined to
show project details of the methods behaviors in
each class. In the Specific Component Construction
Application step, the software engineer consults in
the repository all the components that he needs to
build. With the identification of the components that
are already available for the reuse, the Software
Engineer can refine the components model reusing
these available components. The specific
components of the application that are not in the
repository are built aiming to complete the
application.
In the Component Implementation step, the
Software Engineer uses MVCase to accomplish the
implementation of the components in the EJB
architecture. After having built the components of
the problem domain, the Software Engineer goes to
the Application Construction.
Different applications of the problem domain can
be developed reusing the EL components framework
built. Figure 02 summarizes one of the applications,
of this domain.
COMPONENT-BASED SOFTWARE DEVELOPMENT ENVIRONMENT (CBDE)
341