HLD Software692263-1
HLD Software692263-1
MASTER
Award date:
2012
Link to publication
Disclaimer
This document contains a student thesis (bachelor's or master's), as authored by a student at Eindhoven University of Technology. Student
theses are made available in the TU/e repository upon obtaining the required degree. The grade received is not published on the document
as presented in the repository. The required complexity or quality of research of student theses may vary by program, and the required
minimum study period may vary in duration.
General rights
Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners
and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights.
• Users may download and print one copy of any publication from the public portal for the purpose of private study or research.
• You may not further distribute the material or use it for any profit-making activity or commercial gain
ASSESSMENT OF SOFTWARE ARCHITECTURE AND
Tanya Kudchadker
Nivedita Angadi
August 2010
Table of Contents
Abstract vii
Acknowledgement 1
1. Introduction 3
1.1 Motivation 5
2.1 Purpose 9
2.2.1 Benefits 11
2.2.2 Challenges 11
4.1 Introduction 29
4.2 Approach 29
4.3.2.1 LSPCM 32
4.3.2.2 CASA 38
4.4.2.1 LSPCM 62
4.4.2.2 CASA 68
iii
4.4.3.1 High Level Design 74
5. Observations 83
5.1 LSPCM 83
5.2 CASA 91
6. Conclusion 93
6.1.2 Solution 94
iv
6.2.2 Solution 96
6.3 Result 97
7. Bibliography 100
v
Assessment of the Software Architecture and
Design for Offshore Projects
Tanya Kudchadker
Nivedita Angadi
vi
Abstract
Lowering the software development cost has always been a prime focus of the software
services providing company. Due to this, IT projects and software development outsourcing
has become the most popular and the most successful business process, enabling the
companies to create highly competitive solutions with considerable cost reduction and in a
shorter project time and other business benefits which offshore offers. In this project we
consider the software architecture and analysis & design for offshored projects. The
documentation during this phase remains the vital step. We analyze the quality of these
To assess the quality of software architecture and analysis & design discipline the following
Software architecture and design. The research question is “How can we improve the quality
of software architecture and design for offshoring”. For this we check the suitability of
methods used for software architecture and design i.e. RUP and CASA and quality
Thus, in this research study we critically analyze LSPCM and CASA by conducting detailed
case study evaluation for offshore projects undertaken by Capgemini. We focus mainly on
two project areas High Level Design and Detailed Design as the software architecture and
analysis & design is mapped to High Level Design and Detailed Design in LSPCM terms.
During the analysis of these case studies, we identified the limitations of LSPCM and CASA
for offshore projects. In order to address these limitations, we propose suggestions for
vii
improvements for both LSPCM and CASA. In order to verify these suggestions, it has been
implemented on these case studies and in turn we have suggestions for the improvement of
viii
Acknowledgement
No creation in this world is a solo effort. Neither is this master thesis project. There have
been numerous people associated with this piece of work. We, Tanya and Nivedita thus
Eindhoven, The Netherlands and Manipal University, Manipal, India for providing us with
Time just flies when one is in the company of cheerful and friendly colleagues and
supervisors at work. We encountered the similar situation during our internship with
Capgemini and Laboratory of Quality Software(LaQuSo). We would like to extend our sincere
gratitude to our guide at ir. Martijn Klabbers for his immense support and valuable guidance.
His help was a guiding path at every stage during the project right from the structuring the
project proposal to reviewing this master thesis report. The weekly presentation sessions
conducted by him were indeed helpful for us to improve the performance in a big way.;
The graduation supervisor Prof. Dr. Mark van den Brand for his valuable help and guidance.
His comments on the project proposal as well as the presentations were a boon.;
Dr. Alexander Serebrenik for devoting his valuable time for attending the progress
presentations and providing critical comments as well as guidelines during these sessions.
We would like to thank our supervisor Drs. Cornelly Spier. We are indeed indebted to her for
help during our stint with the organization. We further extend our gratitude to Rob Ista for
1
We are thankful to Mr. Arjan Hendriksen for his guidance and help throughout the duration
of the project. In spite of his busy schedule he devoted time for helping us by addressing all
We would also like to thank Mr. Rob Boomsma for his valuable help with the all the
We would also extend our sincere gratitude to Mr. Evert-Jan de Raadt, Mr. Jochem Smit, Mr.
Aditya Jha, Mr. Merlijn Sluis, Mr. Shylesh Chowla and Mr. Sicko Hempenius for their help
during the project. We also thank the members of the CASA team Mr. Sybren de Hartog, Mr.
Herre Kuijpers for helping us with quick understanding of the CASA technique and its usage.
We are grateful to our supervisor from Manipal University Dr.(Prof.)Manohara Pai M.M, Dr.
Radhika M. Pai for providing the necessary guidance. We would also like to thank our guide
We would like to thank Dr. Prof. Mark van den Brand, Dr. Prof. Jos Baeten, Drs. Cornelly
Spier, ir. Martijn Klabbers for being the members of the graduation committee.
Last but not the least we would like to thank Ms. Soundarya Moorthy and Mr. Jeevan Prabhu
for their critical comments on the presentation slides and the documentation during the
progress presentations held at LaQuSo. We are thankful to all the people from Capgemini
We also thank all our friends for their help and support during this project.
2
1. Introduction
Software architecture is an abstraction of a system. It defines the system elements and how
they interact. The right architecture paves the way for system success whereas the wrong
To begin with the definition, The software architecture of a computing system is the
structure or structures of the system, which comprise software elements, the externally
visible properties of those elements, and the relationships among them[9]. It does not
concern itself with the details of the system, but rather how components relate to one
another. Software Design follows the decisions made during the software architecture
phase.
development life cycle(SDLC) phases. The software quality is the totality of features and
characteristics of a software product that bear on its ability to satisfy stated or implied
structure or structures of the system, which comprise software elements, the externally
visible properties of those elements, and the relationships among them[9]. Hence, it is
essential to ensure that the quality is preserved in the software architecture and design
3
There is no official definition for “high-quality” artifacts. However as per *19+, the quality
Technically adequate
Hence we have followed this definition in the assessment to ensure the presence of quality
investigate how companies handle most of the design related aspects for the offshore
projects.
Offshoring is practiced by most of the western countries by offshoring the work to the lower
wages countries. The quality should be consistent even when the software has been
developed in the country other than the original one. Hence a sound design of software is a
critical factor especially in the scenario where two nations with disparate cultures are
Technologies have resulted in closely integrated global labor and capital market, where
companies have a greater access to human capital scattered around the globe[8].
As a part of this research project we focus on the software architecture for the offshored
projects wherein two different countries and their diverse cultures etc. are involved.
4
1.1 Motivation
The research conducted in [26], which focused on requirements gathering and analysis
formed as the basis for our research. In this, case studies were considered in which the
requirements are gathered onsite and design and development stages have been offshored.
Hence in our research work, we analyze the LSPCM model in comparison with company
standards for design documents. i.e. CASA(Capgemini Accelerator for Software Architecture)
and consider the case studies in which the High Level Design was initiated onsite and
continued at offshore, whereas the Detailed Design was done at the offshore end followed
by the implementation stages. Since the certification has distinct criteria for High Level
Design(HD) and Detailed Design(DD), it can be applied on the design documents for offshore
projects.
The studies carried out by WSR Consulting group[20] state that 60% of the outsourced
projects fail due to the miscommunication between the onsite and offshore locations.
• The actual cost of the software is significantly higher than its estimated cost.
This indicates that the project artifacts should be of “high-quality” as described in the
previous paragraphs before being handed over from onsite to offshore locations.
5
A good software architecture and design is the most significant means to ensure reliability of
the system. It involves the use of more abstract and general means of specifying the parts of
the software and its functionality in the High level design, whereas the same details are
• Failure to identify the quality or non-functional requirements and design for them.
The documentation related to the software architecture and design plays an important role
in the software architecture. These act as the basis for the further stages for the
development. Hence the presence of errors in these artifacts will be taken further in the
The goal of our master thesis assignment is structuring and verifying the suggestions for
improvement for software architecture and design for offshored projects. The verification of
the suggestions for its correctness is done on the projects undertaken by Capgemini and
software architecture and design decisions. In order to achieve this goal, as an initial step we
6
have considered analyzing the certification model of LaQuSo (i.e. LSPCM) and Capgemini
techniques for analysis & design discipline (CASA). The second step involves assessment of
the projects undertaken by Capgemini using LSPCM and CASA. Finally, based on the
assessment results we formulate suggestions for LSPCM as well as CASA for improving the
quality for the analysis & design discipline. These suggestions are verified on the industrial
cases undertaken by Capgemini and the suggestions are in turn provided for improvement of
To assess the analysis & design discipline we have considered the following software product
Detailed Design
Assessment of High level design involves verification of the quality of the High Level Design
artifacts. Recommendations will include suggestions for improving LPSCM and CASA for
The Detailed Design focuses on checks for the detailed design artifacts and focuses on
assessing the quality of each of the design. Hence we have chosen these two product areas
Chapter 2 discusses the offshoring concept with Capgemini point of view. It details the
handling of the software development tasks within Capgemini for offshored projects and
various terminologies involved with the practice. Chapter 3 provides details about the
related work and introduces the specific techniques used for assessing the software
7
architecture & design quality. Chapter 4 shows the details on the case studies and also
highlights the major defects encountered in these project artifacts. Chapter 5 depicts the
observations about the techniques used i.e. LSPCM and CASA and the suggested
improvements for them. Chapter 6 concludes the research work with problem and its
impact, solution, result and future work. Sections related to High Level Design are owned by
Nivedita whereas the section related to Detailed Design are written by Tanya. The rest of
8
2. Offshoring : A Capgemini perspective
This chapter describes offshoring practice from Capgemini point of view. It details on the
various terminologies used within the organization where offshoring of the tasks is involved.
There is no standard definition for the term Offshoring . The location where the work is
Offshore can be any country outside the home country. It is referred to as shifting of tasks to
low-cost nations, rather than to any destinations outside the country. Low-cost nations are
those that fall into the category of “developing nations”. For example: A British software
firm does not to its US software research centre as an “offshore site”. Different companies
use different terms for offshoring such as Best shore by EDS, Offsource by HCL Technologies
The ADC performs the client communication related activities. Moreover, the project related
documentation standards i.e. templates etc, delivery approaches are decided here.
Capgemini takes into consideration the various skill set and the other resources available
before an offshore location is chosen for development. Moreover, Capgemini is also involved
in the research over the offshore locations whereby it analyses the available prospective
2.1 Purpose
In today’s challenging economic environment, businesses are seeking to reduce costs and
enhance growth. They need business and IT solutions that promote innovation and
9
transformation of user needs to a acceptable working system, while helping to create and
sustain a competitive advantage. Businesses can achieve this goal with a scalable approach
to global delivery and sourcing that combines quality, efficiency, talent and collaboration.
Rightshore®, Capgemini’s global delivery model, helps add value while using resources more
effectively. The best talent in combination with right balance on onshore, nearshore and
There are no predefined rules on which of the software development can be done offshore.
However, there are certain activities that are a better fit at offshore locations while others
Over the past 40 years, Capgemini has developed into a global multicultural company.
During this time more than 500 projects have been delivered using the Rightshore approach.
For each of the project executions, Capgemini analyzes which activities are suitable for
offshoring based on the skill set available. Activities that tend to stay are those that require
customer interaction, customer proximity, deep domain knowledge and cultural knowledge.
Thus requirements gathering activities early in the development cycle are conducted
onshore because of the need to be close to customers, which involves meeting them and
The design phase is carried on both at onsite and offshore end. High-level design is often
done onshore while the detailed design is offshored. The coding phases are completely
10
Testing phases are also carried on at offshore locations, final system integration testing is
however carried on at onshore location to monitor quality. For intermediate work products a
good review procedure from both locations helps keeping mutual understanding.
2.2.1 Benefits
Cost reduction is the primary focus of offshoring work to the developing nations. However,
[6] states while cost reduction is the primary strategic focus of most of the companies that
are offshoring, it is not the only advantage of offshoring the work to the low wages
countries. The abundant supply of skilled human resources which offshore development
centre offers companies provides greater agility to assign a large number of engineers to a
problem and respond to a business need within days instead of months[6]. Most of the
developing nations possess skilled personnel and also the population in these nations are
English speaking which makes them one of the most effective key factors for work being
offshored.
2.2.2 Challenges
Companies may choose to offshore their work due to the potential savings in wage and
other benefits involved, but companies cannot turn a blind eye to the range of management,
people and other issues it raises. There are a numerous challenges posed by offshoring.
However [6] has listed the following most challenging factors which prove to the most
11
Communication breakdown
Offshoring involves working with people far away, with whom communication can be
conducted via channels such as eye-catchers and C-ports are mainly used in communications
which involve more than just text. An eye-catcher is a videophone which combines eye
contact and a picture of a person on the other side, as if the person on the other side is in
the same room. Similarly, a C-port is a further step than conference calls or a video
conferencing room. C-Port systems use mirrors & some 3D effects to make the meeting as
project manager, system analyst and software architect from the onshore location visit the
project team on offshore location as the most effective kick-off. Despite of all the modern
communication tools and visiting each other once a while from onsite and offshore side, it is
mutual trust that is the hard part when you are not sitting on the same desk, you must rely
Cultural barriers
Offshoring also involves working with a “foreign” culture. Each culture has different beliefs,
messages. The team leads on both locations can do a good job if they manage to reach the
one team feeling since that helps in understanding and accepting each other’s cultures.
Rather than a front- and back office approach were people act sometimes more as enemies
than as friends.
12
Documentation and Handover points
The documentation and handover moments pose the largest challenge to the offshore
projects. The solution to the challenge of handover is to document the details appropriately.
For example: Using a standard language or maintaining the translation document for the
documents when two different teams belonging to two different nationalities are involved.
The final issue that troubles the offshore teams is the response time required on posing
13
3. The standards, models and techniques used
This section explains the various standards, models and techniques considered during the
research for assessment of high level and detailed level design artifacts.
The Laboratory for Quality Software (LaQuSo) has defined a Software Certification Model
that is LaQuSo Software Product Certification Model[1] for verification and validation of
LSPCM is rule-based software product certification model for major class of deliverables of
software development. Major class of deliverables are called Product Areas. In LSPCM,
product areas are Context description, User Requirements, High Level Design, Detailed
Design, Implementation and Tests[1](pp.9). There are three Certification Criteria, which hold
for all Product areas : areas must have completely (and formally) specified, uniform and
conformant.
• Completeness – All required elements in the product area should be present and as
• Uniformity – The style of the elements in the product area should be standardized.
certification.
14
Input for the software certification model are one or more software artifacts and one or
• Consistency : do the different (parts of) software artifacts conform each other?
• Behavioral : does the system meet general safety and progress properties like
absence of deadlocks or are constraints on the specific states of the system met?
The Model has five certification levels for each product area, but only four are relevant for
awarding certification for product area[1] (pp.43) . The first level is the entry level for the
certification process.
• Initial : This certification level is the entry level for certification process. This level is
given when all the required elements of the product area are present and uniform.
• Manually Verified : This level is achieved, when all elements, relationships and
• Automated Verified: This level is awarded when all the elements, relationships and
relationship and properties has been constructed by an assessor and verified with
mathematical methods.
15
• Formally Verified: This level is achieved when elements, relationship and properties
have been verified with mathematical methods without explicit model construction step.
In our thesis project suggestion for High Level Design and Detail Level Design criteria for off
CASA focuses on setting standards for and further detailing the Analysis and Design and
within projects.
The CASA accelerator consists of guidelines, templates and checklists that focuses on the
Analysis and Design discipline. On top of the standard documentation used within project ,
CASA guidelines, template and check lists will help to create systematic, detailed documents
in the Analysis and Design discipline. CASA is used mainly by Designers and Software
The CASA initiative is the logical successor to Capgemini practices that is SEMBA and IRMA.
SEMBA stands for Structured Expert Method for Business Analysis is a Capgemini method
IRMA stands for Integrated Requirement Management Approach. IRMA supports system
analyst in gathering and elicitation of system requirement from the business requirements.
16
CASA supports Rational Unified Process (RUP) process as well as DELIVER SAP, a method for
implementation of SAP packages. In our research, focus has given on CASA for RUP.
CASA provides template, guidelines and checklist for analysis and design artifacts, e.g.:
Here, templates provide outline structure for the information that has to be filled in and
and maintained in artifacts. Checklist are maintained to verify an artifact for followed CASA
template.
In our research CASA template and checklist have been used as assessment tool for quality
developed and maintained by IBM Rational Software. In our project, the focus has been
given for CASA for RUP and one of the case studies considered has followed RUP,
Iterative process has been organized into four phases[10] (pp.62-75) and each phase is
• Inception Phase: Inception phase involves the formulation of scope of the system,
that is, capture the context and the most important requirements and constraints for the
17
system, plan and prepare a business case which includes the business context, project plan,
staffing and trade-offs among cost, schedule, and portability has been defined. This phase is
sound architectural foundation, develop the project plan, and eliminate highest-risk
• Construction Phase: Construction phase involves building the product and evolving
the vision, the architecture, and the plans until the product is ready for delivery to its end
milestone.
• Transition Phase: In this phase involves delivery of product to end users, which
includes manufacturing, training, supporting, and maintaining the product until user
In the software development, next step to the requirement discipline is analysis and design.
The purpose of analysis and design discipline is to translate the requirements into a
Analysis and Design discipline involves defining the software architecture and design of the
system.
Software architecture can be defined as, "Software architecture is the set of significant
decision about the organization of a software system, the selection of the structural
elements and their interfaces by which the system is composed, together with their
18
interfaces by which the system is composed, together with their behavior as specified in the
collaborations among those elements, the composition of these structural and behavioral
elements into progressively large sub-systems, and the architectural styles that guides this
organization, these elements and their interfaces, their collaborations, and their
Architecture focuses on how the major elements and components within an application are
used by, or interact with, other major elements and components within the application.
The selection of data structures and algorithms or the implementation details of individual
components are design concerns. Architecture and design concerns are very often overlap
[18].
LSPCM has High Level Design and Detailed Level Design as product areas. High Level Design
consists of software architecture of the system and Detailed Level Design covers design part
of analysis and design discipline of software development. In case of CASA, we do not have
clear distinction between High Level Design and Detailed Level Design. Based on the CASA
artifacts and discussion with software architects in Capgemini, for analyzing the artifacts we
categorized CASA artifacts into High Level Design artifacts and Detailed Level Design
as under High Level Design artifacts for assessment. The Use Case Realization (UCR), Design,
Implementation and Deployment models are considered as Detailed Design artifacts for
assessment based on its individual functionality. The following paragraph briefly explains
these artifacts.
High Level Design(HLD) : High Level Design, also called software architecture is the first
step to analyze and consider all requirements for software and attempt to define a structure
19
which is able to fulfill them. It captures and conveys architectural decisions made to support
Detailed Design (DD): The process of refining and expanding software architectural designs
to more detailed descriptions of the processing logic, data structures and data definitions.
This continues until the design is sufficiently complete to be implemented. Detailed Level
depict different aspects of the systems. It is intended to capture and convey the significant
architectural decisions which have been made on the system for supporting both functional
and non-functional requirements[15](pp. 7). SAD helps in shaping the design and
construction of the system. A well written SAD forms the foundation for more detailed
design. This artifact falls under High Level Design part of assessment.
Use Case Realization (UCR): Use case realization is defined as the set of model elements that
show the internal behavior of the software that corresponds to the use case.
Models : CASA provides modeling guidelines for RUP models. Modeling guidelines describes
the standard folder structure for RUP models , which will be supported in the standard
models:
20
Analysis Model:
Analysis model is the first step towards design. This model describes the structure of the
system or application. It consists of class diagram and sequence diagrams that describes the
modeled in terms of boundary, control and entity classes. Sequence diagrams realize use
cases by describing the flow of events in the use cases when they are executed. These
Design Model:
Design model builds on analysis model by describing, in greater detail, the structure of the
system and how the system will be implemented. A Design model consists of design classes
structured into packages and subsystems with well-defined interfaces. This model describes
the clear relationship between the design classes, and implementation elements.
Implementation elements are directories and files including source code, data and
executable files. These artifacts are analyzed for to the Detailed Design.
Implementation Model:
including source code, data, and executable files).This artifact is considered in the
21
Deployment Model:
Deployment model describes the deployment units of a system and one or more physical
network (hardware configurations on which these units are deployed. This artifact belongs
The offshore software development approach induces several changes as well as challenges
to the development process. One of the changes are development process is distributed
over country borders to low wages countries. One of the main challenges faced in this
approach are quality of artifacts developed by different teams (Onshore and offshore
Product Quality can be assured and improved by imposing certification. There are, however,
many approaches to software certification, that mostly rely on formal verification, expert
In the industry, there are few software product quality verification and validation
Nastro(1997)[13] etc. In our thesis project, LSPCM certification model has been used as for
The following sections describe the various software product quality models available. We
have used these to compare the various features provided by these which helped us choose
models. This model is a result of empirical study conducted in Malaysia for demand of
22
software product quality certification model. Model has been developed based on end-
product quality approach for certification. This model consists of four main entities that is
Pragmatic Quality Factor (PQF), assessment team, certification representation method and
In the first step of building this model main characteristics consideration for assessing
software products has been listed. Based on the survey and software quality characteristics
according to ISO 9126 model main characteristics were functionality, efficiency, integrity ,
To construct model, they defined the certification representation method. This method
involves weighted scoring method, certification level and decision process for certification
level[12](pp. 4-5). This model contains four distinct certification levels : excellent, good,
LSPCM also focuses on certification for Software Product Quality. SCfm_prod model differs
from LSPCM model because it only awards certification for end product and not for the
intermediate software artifacts like requirements, high-level design and detailed design etc.
LSPCM has specific checks for quality in terms of completeness, uniformity and conformance
which were selected as a result of continuous research in this field from theory and practice.
In case of SCfm_prod model the quality attributes defined in ISO 9126 model form the
SCfm_prod model defines two sets of quality attributes, which are by means of the
behavioral and the impact attributes. The behavioral attributes consists of high level
23
maintainability, portability, integrity and reliability. Integrity is not included in ISO 9126
model but is included in this model because of the requirement from the literature and
empirical studies they have performed. The impact attributes indicates the conformance in
Software product maturity model by Nastro (1997) : In Software Product Maturity model
[13], a core set of elements that constitute the basis of a product maturity calculation. Core
elements of Product maturity model are product capability, product stability and product
maintainability. Two sub elements are product repeatability and product maintainability.
Product capability refers to the performance of the product against the specifications. It can
be measured by examining the success or failure of the product against the applicable
qualification tests. These tests represent the validation of the derived requirements
specification or equivalent.
Product stability refers to the impact of modifications to a baseline software product over a
specified period. These modifications are usually indicated as software problem or change
reports. Product stability can be measured by interpreting the software changes per period,
then weighting the changes by impact or severity. The results can then be interpreted
through evaluation against a previously established benchmark that may be the result of an
Product repeatability refers to the ability of a software product to provide consistent results
24
Product compatibility refers to the performance of the software product against the
interface specification.
Unlike LSPCM model, Software Product maturity model measures the properties of the end
product.
In this model more focus is on tracking the development progress (i.e., comparison of builds
within one project) than for the objective measurement of the product quality.
one of the analysis method for software architecture. It evaluates how well an architecture
understand the consequences of architectural decisions with respect to the quality attribute
Input for the evaluation process are statement of quality requirements and specification of
Architecture approaches define the important structures of the system and describe the
ways in which the system can grow, respond to changes, integrate with the other systems.
Generate quality attribute utility tree: The quality factors that comprise system "utility"
(performance, availability, security, modifiability, etc.) are elicited, specified down to the
25
Analyze architectural approaches : Based on the high priority factors identified in step 2, the
architectural approaches that address those factors are elicited and analyzed (for example,
Brainstorm and prioritize scenarios: Based upon the exemplar scenarios generated in the
utility tree step, a larger set of scenarios is elicited from the entire group of stakeholders.
This set of scenarios is prioritized via a voting process involving the entire stakeholder group.
Analyze architectural approaches: This step reiterates step3, but here the highly ranked
scenarios from Step 4 are considered to be test cases for the analysis of the architectural
approaches determined thus far. These test case scenarios may uncover additional
Present results: Based upon the information collected in the ATAM (styles, scenarios,
attribute-specific questions, the utility tree, risks) the ATAM team presents the findings to
the assembled stakeholders and potentially writes a report detailing this information along
Observations in ATAM :
ATAM is subjective analysis method that is more related to Software architecture process
ATAM analysis method involves brainstorm and prioritize scenarios which involve greater
number of stake holders i.e. users, developers, project manager, ATAM assessment team
etc.
In case of LSPCM – High Level Design quality analysis process is not a scenario based check.
It, not only concentrates on evaluation of quality requirements of the system but also checks
26
for completeness, uniformity and conformance of the design for considered properties of
the system[1](pp.6).
LSPCM divides the software life cycle phases into its product areas and can provide
certification for individual product areas. i.e. user requirements, high level design, detailed
design etc.
In our thesis project for analysis and improving quality of Software Architecture and Design,
we have considered the LSPCM : LaQuSo Software Product Certification Model considering
products in all life-cycle stages, with the applicable rigor for the criticality of the software, up
LSPCM model will help both software developer and auditor. Since, it is not only used to
certify products after their creation, but it also indicates which elements and relations
Certification process in LSPCM is systematic. Since, LSPCM has three certification criteria,
each criteria has sub criteria in it and based on the achievement levels of each criteria final
LSPCM is rule-based certification method, i.e. it has the sub-criteria in the form of checks.
This approach is systematic approach for verification of the quality, since process first starts
with more simple check. For example, the checks which ensures that all the elements are
present, whether the relations mentioned are consistent and to verify that the company or
27
LSPCM certification covers only product quality, not the management and development
process. This model is independent of software process and can be applied for verification
and validation of quality of product. Complete documentation containing various checks for
28
4. Case studies
4.1 Introduction
To validate our research question, we apply LSPCM and CASA to the real industrial projects
The case studies chosen are the offshore and RUP based projects carried out by Capgemini.
During this project, the inception phase of RUP was carried out completely by the team at an
onsite location. The elaboration phase was done between the collaboration with onsite and
offshore teams. This is either handled at onsite or offshore locations depending on the team
preferences. The more of detailed design stages was conducted completely at the offshore
4.2 Approach
In order to accomplish the defined objectives, the approach followed has been described:
Initially, we analyzed the design documents for the projects with emphasis on handover
moments.
Secondly, application of LSPCM for the High Level and Detailed Design certification criteria
on these two offshore projects undertaken by Capgemini was done. For this analysis we
have chosen JAVA projects : one of which was designed using CASA and the other one using
the standard RUP templates in order to analyze the ease and efficiency with CASA usage.
Next, the application of CASA templates, guidelines and checklists were analyzed with the
design documents. The case study designed without using CASA was analyzed to ensure the
presence of all the details which CASA captures. Whereas the case study designed using
29
CASA was verified with CASA guidelines to make sure that the details were captured in a
To validate our research question, we apply LSPCM and CASA to the industrial cases of
how these quality assessment approaches can be improved. We also provide suggestions for
Using LSPCM : LSPCM is designed as a set of rules which is in the form of specific checks.
LSPCM can directly be applied on the design documents. This is done by checking whether
the specific checks specified by LSPCM are satisfied by the documents under assessment.
Therefore the result of this assessment has been provided as a defect report depicting the
checks violated and the reason for the violation. For example:”SC3.1(b) All components have
unique names. This was applicable not but not satisfied as one use case was referred with
Using CASA : CASA is the Capgemini technique for analysis & design. This contains the
templates for the documents, guidelines to use these templates and checklists to assist the
detection of omissions from the documents under assessment. The result of this assessment
Analysis : Results of the application of LSPCM on one hand and CASA on the other, will act as
an input for analyzing the findings. Here, we compare the results in the following manner:
Check if some defects would have been removed if some missing details were present.
Identify the artifacts which should have captured the missing details.
30
The knowledge gained from the above analysis will serve as feedback to LSPCM and CASA
artifacts.
The first case study we have considered is an offshore RUP based project undertaken by
Capgemini. The first case study considered for analysis is an offshore project handled by
Capgemini. For this project RUP process has been followed and the following subsections
contain a brief description of the case study, the assessment results using LSPCM and CASA
This project offers its major customers as well as agencies, the possibility to order and print
tickets for national transport in-house. The customer can specify the wished for product
using the application (Electronic Ticket Printer System). Through an interface with the pricing
server, the corresponding price can be generated. The products ordered (train tickets), can
invoices are generated and sent to the customer. This occurs through another interface with
the financial system. The target of this project is to rebuild the application, with a simplified
This section describes the assessment of first case study : an application for electronic
printing application. In order to evaluate the quality of the design, the LSPCM criteria have
been checked for high level design as well as detailed design of the case study. Based on the
31
assessment of the case study, inconsistencies found in the high level design and the detailed
design are documented and possible solution for rectification of these inconsistencies are
explained.
4.3.2.1 LSPCM
This section describes the assessment results followed by suggestions for case studies using
LSPCM. Disparate sections for High level and Detailed design focus on the respective major
This subsection gives the evaluation of High Level Design of case study : an electronic ticket
evaluation process specific checks of LSPCM – HD has been checked in the High Level Design
documents. Based on the evaluation using the LSPCM criteria, inconsistencies were found
and listed as follows: By resolving these inconsistencies helps to improve quality of high level
design like readability and understandability. Since a well defined high level design
document is the base for the detailed design and the development of a software product.
The translation document from Dutch to English has not been maintained: Translation
document for containing the details of class model mentioned in the Software Architecture
32
The traceability matrix between requirements to the design elements (classes ,
components, process and packages ) has not been maintained in the available set of
documents.
Document are not present. e.g.: System should support rotating log files based on the
has not been mentioned in the Software Architecture Document. Since, a reference to the
Software Architecture has been represented using 4+1 view model[11]. In the document
description of views, the description of each view elements should be described. i.e. Process
view should provide name of the process, brief description of functionality of process,
communication characteristic between processes. But this information for process view is
Rationale behind architectural decisions which supports the quality requirements (usability,
reliability, security, efficiency, maintenance )of the system has not been mentioned in
Description of methods and attributes mentioned in the class model is not present. In the
class model mentioned method and attribute names are in Dutch. Translation document for
these and brief description telling what is the functionality of method and attribute
This subsection contains suggestions for Software Architecture Document (SAD) of Case
study-1.
33
Translation document from Dutch to English for class model should be maintained. Since,
detailed level design has been carried out in offshore site, this translated document will help
the offshore team for further detailing the design and development. By this suggestion
Traceability matrix between requirements and design elements has to be maintained. During
high level design phase, this information helps in checking whether all the requirements of
the system have been considered. This suggestion will help for verification and maintenance
of the SAD.
useful for faster understanding of software architecture of the system in cases where new
members join the team when project is already in the midst of development phases.
In this case study, software architecture has been represented in the form of 4+1 view
mentioned in the RUP view model. CASA - SAD guidelines explain information needed in
each view. e.g.: In case of logical view of the system following information has to be
subsystems). This will give reader insight in the main functional/ business parts of the
system.
Workflows: This subsection includes the most important business flows for the system,
34
Layers⁶ and packages: This section contains diagram which shows the layering and explains
their responsibilities.
design and development. It explains the design decisions, rationale behind the decisions
before beginning the development process. This information will help the reader to
understand the purpose of the design decisions. By providing this information discussion
time on rationale behind the architectural decisions can be saved. This suggestion will help
Description of methods and attributes : Class model mentioned in the Software Architecture
Document contains the overview of the system functionality in terms of classes and their
main methods. This document should contain a brief description of classes and their main
methods. This information will be an advantage in detailed design for further detailing each
classes in terms of its method return type, attribute data type etc. In development discipline,
this information will help in verification of development of all main classes. This suggestion
will help in better understanding of the class diagram and system functionality.
⁶A layer is a set of common functions which are grouped according to the functionality it provides. E.g.: CASA
explains presentation layer, service layer, process layer, business layer, resource layer.
35
4.3.2.1.2 Detailed Design
LSPCM is applied on the design documents of the case study and a defect list is obtained
from this assessment. The defects found are categorized into three categories: minor
Minor Inconsistencies
The inconsistencies which do not affect the system are referred to as minor inconsistencies.
These inconsistencies do not alter the functionality of the system. The documents or
artifacts could be made readable if these are done away with as removal of these
this document.
The following minor inconsistencies have been observed with respect to the project
artifacts:
In the sample of 10 pages from a total of 120 pages in the given set of use case
The name of the use case in the prepared document and that used in the design
models are not the same. For example : The name of the use case OR01 is Create
ComposeTravelWarrent in the design models. The notation for a single term has
36
Major inconsistencies
This category summarizes the inconsistencies related to the functionalities of the system to
be developed. Failing to correct them could lead to wrong interpretation of the document.
No references mentioned
The getter/setter method name for the attributes have been specified in Dutch,
There is presence of anonymous objects† in the class models. As far as possible, the
presence of anonymous objects should be limited in the design models. This creates
an ambiguity among the developers about the data types of the objects under
implementation.
The Exception handling scenarios have not been included for each of the use case
realizations. The use case realization document speaks about an “Exception details”
document in each of the use case realization document, but fails to mention the
reference to the same document. In such cases the developer is free to refer any
similar document and this might lead to errors or incorrect functionalities being
implemented.
†anonymous object : An object of unknown class. The interface to an anonymous object is published through a
protocol declaration.
37
Incompleteness
In this category, we summarize the omissions from the design related documents and
glossary.
The deployment diagram is not present in the given document depicting deployment
plan.
The use case realization documents denote the information based on the pricing
server and the interfacing with it, but this system interfacing information has not
In the Exception Handling section in use case realization documents, the details say
that all the information is present in exception handling document. The reference to
The names and responsibilities of the attributes and methods is not documented
4.3.2.2 CASA
During assessment using CASA, the casa templates and checklists were used as the
assessment tool to verify the presence of all details which CASA claims to capture in the
project artifacts. The artifacts of CASA are not categorized as High Level and Detailed Design
artifacts. However, based on the discussions held with the software architects and the CASA
team members we came to the conclusion that for the analysis based on High level and the
38
4.3.2.2.1 High Level Design
case study using CASA . CASA provides templates and guidelines for SAD. Templates provides
outline information details for SAD. In the assessment process CASA - SAD template has
been used as checklist to evaluate SAD of case study-1. The assessment result has been
shown in the following table and details of this assessment can be found in assessment
report[2]. In the following table, the reference column depicts the detailed evaluation for
Result of evaluation is termed as “found”, if all the information in the section is present. If
the needed information is not fully maintained in the section then the result is marked as
“partially found”. The result is said to be “not found”, if the needed information has not
constraints
decisions
39
4. Use-case view Partially found 2(pp. 49)
Table 1 : Assessment using CASA for Software Architecture Document(SAD) for case study 1
In case of case study -1 for designing software architecture document CASA has not been
followed. From the assessment of Software Architecture Document using CASA- SAD
explains the fact that the CASA-Software Architecture Document template helps for
Document of case study-1 did not contain most of the sections as mentioned in CASA-SAD
template (The defects have been mentioned in the above table). The following paragraph
describes the missing information in the case study-1 : SAD, which often has impact on
development.
Case study-1 SAD was more abstract. Sections mentioned in the SAD were not explained in
detail.
40
In architecture representation views (logical view, process view, implementation view and
deployment view) were not described as per the CASA-SAD guidelines. e.g.: In the SAD of
case study-1, process view section has been mentioned, but details explaining the system
decomposition into threads and processes* have not been described. The details [CASA-SAD
guidelines] are name of the process, priority, mode of communication between processes,
scheduling of process, availability of process. These details will help in detailed level design
According to the CASA - SAD template, the Software Architecture Document should contain
security, efficiency, maintenance). In case of case study-1 : SAD does not contain description
the system. Architectural decisions to support quality requirements are key decisions made,
that shape the architecture in order to meet the quality dimensions of the system. The
description of this section includes architectural decisions, rationale behind the decision, the
alternative choices of decisions and why the alternative choices are rejected. If these details
are not mentioned in the SAD, issues like architectural decisions made on the system,
rationale behind the decisions and impact of these decisions on overall system has to be
separately discussed with stake holders like project manager, development team, end user
and clients.
*
Process: A process is an instance of a computer program that is being sequentially executed by a computer
system that has the ability to run several computer programs concurrently. A process may split itself into
multiple 'daughter' sub-processes, so called threads that execute in parallel, running different instructions on
much of the same resources and data (or, as noted, the same instructions on logically different resources and
data)(Source:Wikipedia)].
41
In case of offshore development method, the issues like geographical distance between
onshore and offshore teams have impact on time and budget of project. e.g.: If security is
one of the quality requirements of the system, SAD should contain details of how
of the user. SAD should include for providing authentication which mechanism is considered,
technology needed, related components, processes and deployment units. Some of the
authentication mechanisms are role based authentication, login/log out (user name and
password), smart card mechanism, retina scan, voice recognition and finger print etc. This
information will help in the detailed design for further elaboration of measures to be taken
for supporting quality needs of the system. E.g.: In case of security if role based
attributes in detail.
This subsection describes the suggestions for case study-1 Software Architecture
Document(SAD). Based on the observation found in the case study -1 SAD suggestions are:
guidelines. Each architecture view includes required elements and details of the elements.
This will be added help in the detailed level design for elaboration of implementation of
these elements. e.g.: In case of process view, processes, thread of the system, memory
requirement of the process, availability, scheduling algorithm for handling threads, packages
and implementation elements for processes etc. these details have to be mentioned.
42
Rationale behind the architecture decisions has to be maintained. As mentioned in the
above paragraph, this information will help to save discussion time on architectural
Intended users section mentioned in CASA-SAD. This section covers list of the audiences
(users, analyst, software architect, project manager, designer and development team) and
relevant sections for each type of reader. This information will help the reader by serving as
a reference to the related sections. This suggestion will improve readability of the document.
Definitions, acronyms and abbreviations have to be maintained. This will help the new
Analysis Model:
This subsection describes the assessment for analysis model in case study-1. In this case
study, since CASA-design model has not been followed for creation of models of the system,
evaluation process, the elements in the artifacts are verified for correctness as mentioned in
the format structure of the CASA- Analysis model guidelines. The result of this evaluation is
that, in the model provided for case study-1, we could find class diagram. Class diagram
depicts the overview of all classes in the system. As mentioned in the CASA modeling
guidelines for analysis model, layer structure of the system, corresponding classes in each
layer, control, boundary and entity classes of the system were not present.
Analysis model has to be maintained in the project. Since, in analysis, requirements are
structured in terms of control, boundary and entity classes. According to CASA analysis
43
guidelines, classes are assigned to various layers of the system, analysis package of the
system are maintained. This information is input for design and implementation model.
Analysis model provides overview of the system that may be harder to get by studying the
results of design and implementation model. This overview can be very valuable to new
member of the team or to developers who maintain the system in general [23](pp 178).
The CASA artifacts identified for analysis of detailed design consists of the following :
Design Model
Implementation Model
Deployment Model
The table below indicates to what extent the project artifacts were able to satisfy the details
captured by CASA. These were analyzed against each of the templates and the checklists of
the particular artifact. There can only be three possible values for status information in the
case study document. Either the content of the deliverable is completely found(the section is
The details of this assessment can be found in the assessment report [2]
Introduction
44
Purpose Found
Scope Found
Abbreviations
References Found
Overview Found
Flow of Events
Logical Interfaces
45
Transaction Context Found
Additional Information
Table 2: Assessment of the Use Case Realization template for case study 1
2. Design Model
Actors Found
46
Business Layer Not Found
3. Implementation Model
Implementation Elements
Implementation View
47
4. Deployment Model
From the assessment results, we obtained the contents of CASA which are not present in the
project documents. Hence we identified the concerns related to the design which are critical
Concern1 : The use case The details about the classes Use case realization
48
not documented for the use with a use case are required
implementation for a
case.
on service availability,
transaction scopes.
interface.
49
Concern 5: The Component Implementation model
This section summarizes the suggestions for the LSPCM model from analysis & design
perspective.
This sub section details the suggestions for LSPCM based on the assessment of case-study-1
50
Suggestion 1: If the software architecture has been represented in the form 4+1 view
model (logical view, process view, implementation view , deployment view and use case
view) following set of checks can be suggested for LSPCM –High Level Design Criteria.
interfaces~, design packages and classes. This section includes significant parts of design
model such as decomposition of system into sub systems and design packages. Sub systems
of the system are represented in the form of component diagram, which depicts the
important business component of the system, external components and interface between
these components. For each of the design package describes its decomposition into classes
This view describes layers of the system, logical components/packages associated with each
layers.
~interfaces: a boundary across which two independent entities meet and interact or communicate with each
other.
ŧ
Packages : Group of related components and classes.
◊
Class diagram: Class diagram contains classes, relation between classes such as association, dependencies and
generalization.
Object diagram: Object diagram is an instance of a class diagram , showing snapshot of the detailed state of a
51
In LSPCM we can add following checks for logical view:
Check for component diagram. Since, sub-systems of the system depicted in the
Check for Interfaces. Interfaces of the system are responsible for connecting the
Check for layers of the system, mapping of layers and corresponding logical
components/ packages.
Process view provides basis for understanding the process organization of a system,
illustrating decomposition of a system into processes and threads, and interaction between
processes. The process view⁵ takes into account some non-functional requirements, such as
processes.
Check for mapping of classes and subsystems onto processes and threads.
52
LSPCM Checks for implementation view:
Component mapping model that is mapping between design packages and components.
e.g.: how design packages are mapped onto projects and folders and namespaces in the
development environment.
2. Check for component mapping model that is mapping between design packages and
components.
*
components : the principal computational elements and data stores that execute in a system
53
LSPCM Checks for Deployment View :
the software is deployed and runs. It explains assignment of deployment units to nodes. A
Infrastructure of the system which consists of physical nodes like servers, storage devices,
diagram. Physical nodes specifications like servers, storage device requirements, details of
e.g.: Application server : 4 core, 3.60 GHz per core, 12GB memory, running windows 2003,
In LSPCM we can add criteria which checks following details in this section:
infrastructure.
Check for description of physical nodes specifications like servers, storage device
Reason : These information of deployment view will helpful for deciding deployment units,
physical nodes of the system. It’s useful information for deployment stage of software.
Use case view describes architecturally significant use cases of the system. The purpose of
this section is to make clear how the architecture works when applied in the use cases. It
54
describes the set of scenarios and/or use cases that represent some significant, key business
functionality.
1. Check for description of architectural significant use cases¥ and quality feature associated
2. Check for description explaining how chosen architecture works for considered use case.
Suggestion 2: Check for if any assumption made on the system during design has recorded
Reason: It is necessary to maintain assumptions made on the system during design, since
assumptions made on the system have high impact on the system, if this information has not
recorded in the document and design has been carried considering these assumption that
may lead to discussion in the later stages of software development and there may be
possibilities of assumptions turning in to risk for whole system. This may impact on the time
and budget of software development. e.g.: For a requirement , the system must send an
email to the system administrator if a server exception occurs. In this case assumption must
be made, that a mail server is available in the production environment and the application
will have sufficient access rights to send the email. This assumption has to be noted in the
High Level Design document. This suggestion helps to improve understandability of the
design.
¥
Architectural significant use case is business critical that is this use case has a high usage level or is particularly
important to users when compared to other features. The use case intersects with both functionality and quality
attributes.
55
Suggestion 3: In LSPCM, check is required to ensure whether High Level Design documents
Reason: This information has to be mentioned in the High Level Design (HD), since HD is
pass to the detailed design for further decision on design such as implementation details for
each components, data structures and algorithms. Therefore High Level Design should
contain which technology has to be used for system development. The rationale behind the
When LSPCM is used as an assessment tool for the artifacts of detailed design, it is essential
to look into the artifacts with implementation point of view. In most of the offshore projects
the detailed design and the implementation is done offshore, but the teams responsible for
design may be completely different and may be operating from a different development
center than the design team. Hence it is important to keep track of minute details with
respect to the design documents to avoid any ambiguous details which might lead to
that the detailed design artifacts meet the quality demands before these are handed over to
Problem : In detailed design, algorithms for each of the use case functionality flow is an
important factor.
In this case study, some of the use cases miss the important flows like the alternate flows
56
Solution : LSPCM should ensure checks for presence of main, alternative and exception or
Problem : The ID for a use case and its name is not consistent within the document names.
(i.e. two different document names used for the same use case ID).
Solution : A check can be added to ensure consistency with respect to naming convention
During the interview conducted with the project manager, we were intimated that CASA was
not used during the analysis & design phases of this project as CASA was not released then.
Hence standard RUP templates were followed. However, CASA artifacts which are built on
RUP templates.
This subsection explains suggestions for CASA- SAD based on the assessment of case study-
1- SAD.
Reason: High Level Design is base for detailed design and development discipline of software
development. Glossary information maintained for software architecture document will help
Reason: In case of case study-1 : SAD, class models, method names and attributes names
are in Dutch. In this scenario, translated version (Dutch to offshore team language (English))
57
of SAD has to be maintained. In CASA- SAD, if SAD has been maintained in Dutch language, a
Reason: Software Architecture is a base for detailed level design and development. It is
necessary to ensure that all the functionalities are considered during design. For this
concern, traceability matrix between requirements and design elements (classes, packages,
components, interfaces and deployment unit) in high level design is useful to verify the
software architecture.
In CASA – SAD, traceability matrix between requirements and design elements has to be
maintained. This suggestion will prove helpful for verification of the software architecture.
Reason: Architectural principlesδ has used in defining architecture and are basis for
architecture decisions. Often architectural principles are confused with requirements [15]. In
order to avoid confusion and for a better understanding, architectural principles can be
Rationale : Should highlight business benefits adhering this principles and how it helps for
58
Implications: Should highlight the requirements, both for the business and IT, for carrying
Principle>
Architectural Principle>
δ
Architectural principles define the underlying general rules and guidelines for the use and deployment of all
resources and assets across the enterprise. Architectural principles are related to business objectives and key
59
Use case realization
Problem : The use case realization template for CASA does not capture the flow in detail.
The section is Flow of events which might make the designers miss out the details.
Solution : CASA use case realization template should be made more detailed by providing
concrete sections for each of the desired subsections under the Flow of events.
(1)Flow chart
(3) Preconditions
(4) Postconditions
[18] says that the use case realization document provides a comprehensive overview of the
system, using a number of different diagrams for representing the system functions.
While technically not a part of UML, use case realization documents are related to UML use
cases. A use case realization document is text that captures the detailed functionality of a
Brief description:
Preconditions:
Basic Flow:
Alternate Flows:
Postconditions
60
4.4 Case Study 2: A Banking application
This project deals with a development of a banking sales application. For several years,
Capgemini and the this client have been collaboratively working on this application. There
Over the last five years, several releases of this application have been delivered. This project
was executed based on onsite-offshore model and handed over this delivery to Capgemini
maintenance team in India, who will maintain the application for client while it is running in
production. This project has been executed using an onsite offshore team. The team in the
implementation team and a test team. The onsite team consisted of seven human resources
This section describes the assessment of the second case study which is a banking
application. For this, evaluation was done with the LSPCM certification criteria for the high
level design and detailed design product areas. This was followed by the assessment with
CASA artifacts. Finally based on both the assessments and the defects observed, suggestions
were provided for LSPCM and CASA and also for analysis & design documentation for the
case study.
61
4.4.2.1 LSPCM
This subsection describes the assessment of High Level Design of case study -2 using LSPCM
: HD criteria. Based on this evaluation inconsistencies found in the HD are listed and possible
solution are provided. The detailed evaluation can be found in the assessment report of case
study-2 [3].
the document.
In RUP, at the end of the elaboration phase Software architecture should be stable. This
stable architecture will be base for detailed design and development. Traceability matrix
units etc.) play an important role in verifying whether all the requirements of the system has
been considered in the design stage of software development. This information will help for
In the software architecture document glossary information has not maintained. This
information will help for new member of the team as well as reader for understanding the
62
Citation for documents are not mentioned in the document.
In the document, citation for documents are not mentioned. In this scenario reader may
refer different versions of the document. E.g.: functionalities are described in the use case
model. In this statement citation for use case model has to be specified, otherwise there
may be a possibilities that the reader may refer a different version of document and he may
miss some of the information maintained in the recent version of the document. To avoid
Translation of use case from Dutch to English: In software architecture document some of
the mentions of the use case names are in Dutch. Since SAD is passed to the offshore team,
translation for the use case names has to maintained in the document. E.g.: use case name:
maintained.
Minor inconsistencies: Minor inconsistencies are not have impact on working of system
functionality. Resolving these inconsistencies makes the document much more readable and
notations for same term and labels are not mentioned for some of the figures in the
mistakes and 10 spelling mistakes per page. In the document, for the term Vino term two
different notations are used that is VINO and Vino. Abbreviations of some terms are not
mentioned in the document .e.g.: XA, SF, RO, GAA, LDAP, CSS etc abbreviations for these
terms are not mentioned in the document. Some of the figures in the SAD does not have a
label.
63
Suggestions for Case Study-2 Software Architecture Document
notation and terms can be resolved to improve the readability of the document.
section of the document. It will be helpful information for reader, who is new to the
system.
have mentioned in the SAD. Since in the project various versions of the same
document has been maintained, if citation has not been mentioned in the
Traceability matrix helps to verify software architecture whether it covers all the
functionalities of the system. This will be added help for assessor and maintainer of
the system.
information for various technical and client related terms. This information helps the
64
4.4.2.1.2 Detailed Design
Similar to the previous case, here the inconsistencies found were categorized into the
incompleteness.
The LSPCM checks for detailed design were used as an assessment tool to verify the analysis
& design documents of the project. The following observation was noted with the project
documentation.
1. In the sample of 10 pages from a total of 124 pages in the given set of Use case
page.
2. There are two kinds of templates followed for the Use case realization documents.
i.e. CASA template and the template provided by the client. The client templates fail
3. The document names do not follow a standard naming convention. These exist in
6. Incompleteness with respect to the content in the client templates was not
8. The attribute and method names are in Dutch and no translations documents are
65
Minor inconsistencies
1. In the class models there is presence of spelling errors in the class or the method
names
2. The same database name has been referred in a number of ways in a single class
model. For Example : Db, Data Base, db are the conventions used to refer the same
Major inconsistencies
The following major inconsistencies were noted in the project design documents and the
models. These defects have been elaborated in the defect report for the case study [3].
1. In the design model, there is presence of ambiguities with the attribute data type.
For example : the notation used for the username/password attribute is String
password : int and String username : int whereas the correct notation should have
2. There were ambiguities in the notation used for the method names in the design
models. For example : String getUsername() which specifies the intended return
type of the method as String. However, when this notation is used with the
modeling tools the method name is considered as the String getUsername. The
3. Ambiguities are also noted between the actual attribute data types and those which
are used in the getter/setter methods. For example : the method setBirthDate(int)
which sets an int value to the attribute BirthDate. However, the getter method for
66
this same method is denoted as Date getBirthDate() which returns the data type as
Date.
4. There are a few methods modeled which fail to specify its return type.
5. Some of the data types specified for the attributes are nonexistent in the
programming language used. For example: Result data type is being used in the
Incompleteness
1. The use case realization mentions a rule to check the level of menu group. However,
2. In the Participating classes section of the use case realization the Javascript file
details have been provided. Such javascript validation details should be provided in
4. The validation criteria are not specified. The document mentions the validation
5. The functionalities of the validations are missing, The criteria <Ctrl-5> specifies the
6. The validation refers the term Authentication Level which has not been specified.
67
4.4.2.2 CASA
It was known from the interview conducted with the software architect that CASA
templates, guidelines and checklists were used during the analysis & design phases.
This subsection explains assessment of software architecture document of case study using
CASA. For evaluation of SAD the same approach has been followed as explained in the
section 4.4.3.1. For software architecture document client had provided the templates and
The assessment results are shown in the form of table. The detailed evaluation has been
constraints
decisions
68
5. Logical view Found 3(pp. 42-43)
For documenting software architecture of case study-2 client provided template has been
followed and CASA-SAD guidelines has used for filling sections in SAD. By assessment of SAD
using CASA –SAD template, we could observe some of the information mentioned in the
CASA-SAD are missing in SAD of case study-2. Following paragraph explains missing
information in SAD.
This section becomes quick help to the reader by providing the list of relevant sections for
each type of reader. E.g.: The SAD document is typically intended for:
69
This section describes in brief how the Software architecture of the system has been
represented in the document. It helps understand the overall picture of the Software
During the analysis, it was found that Definition, acronyms and abbreviations section was not
complete: In the document abbreviations for some of the terms were not mentioned. E.g.:
In logical view, work flow information was not maintained: Work flow explains most
important business flows for the system. This information helps in understanding the basic
flow of system functionality. Work flow is depicted in the form of flow diagram which shows
overall process of the system. By this information, the reader gets overall picture of the
system functionalities.
In logical view, summary of services offered by external systems and consumed from
external systems was not present : According to CASA- SAD guidelines, in logical view
summary of services offered by external systems and consumed from external system
information has to be maintained. This information includes name of the service, version
In process view, overview process and process description has not been maintained:
the document. Overview of process view includes process name, mode of communication
[ref- CASA- SAD guidelines] includes memory usage, CPU usage, scheduling mechanism etc.
has not been maintained : According to CASA- SAD guidelines, Component information and
70
implementation mapping information is not maintained in the SAD. Component information
contains component name, technology used for developing the component, communication
protocol used for communication between components and brief description of component.
Implementation mapping describes how design packages are mapped onto namespace,
project folders.
Analysis Model
This subsection describes assessment result of case study-2 analysis model using CASA-
modeling guidelines for analysis model. The details of assessment has been provided in the
assessment report[3].
In the provided models, the template structure provided by CASA has not followed. But, we
could find the all the needed information like class diagram, layer structure of the system,
assignment of packages for various layers of the system etc. are maintained.
In the class diagram mentioned in analysis model clear distinction of control, boundary and
71
4.4.2.2.2 Detailed Design
For this project, CASA technique was put to use for preparation of analysis & design
documents. However, clients had provided their own templates. Hence those templates
were used. But on detailed analysis, we found that not all use case realization documents
used these client provided templates, and these were based on CASA templates. As a result
of this, there was no standard template followed for these documents. Moreover, the
templates provided by the client failed to capture all the information which CASA captured.
In addition to these flaws, the documents which were prepared based on CASA templates
were prepared wrongly. For example: In use case realization documents, the section
Participating Classes depicts the possible files used instead of class descriptions.
The templates provided by client did not cover the Glossary, Issues, Flow of Events,
Design Model
The Design model is prepared according to CASA modeling guidelines and thus includes all
Implementation Model
The implementation model is prepared as per the guidelines laid down as per CASA.
72
The sections in implementation model related to deployment i.e. Deployment unit elements,
Deployment units and deployment unit structure is not present within the artifacts.
Deployment Model
The deployment model is not maintained with this project. The details related to
Concerns
Checks for design model The checklist for the design CASA design model checklist
project implementation.
deployment of artifacts on
nodes.
Usage of wrong data types The data types should have CASA design checklist
73
developer for the correct
data type
Table 9 : Concerns for the detailed design documentation for case study 2
This sub section explains the suggestions for LSPCM- HLD product area based on assessment
Suggestion 1: In LSPCM, sub criteria can be included to check system context diagram.
Reason: High Level Design is the first step to analyze and consider all the requirements for a
software and attempt to define structure which is able to fulfill them. In this process context
diagram and its description gives overall picture of the system environment and external
The objective of the system context diagram is to focus attention on external factors and
events that should be considered in developing a complete set of system requirements and
constraints.
This information will be helpful for further design decisions in the software architecture as
Reader will get overall picture of the system i.e. the application, external system and
74
Reason: Definitions, acronyms and abbreviation of terms used document have to be
created by onshore team and this document is pass it to the offshore team for detailed level
design) this information will helpful for understanding different terminologies used in the
document. This suggestion will prove helpful in improving the understandability and
Suggestion 3: In LSPCM, a check in needed for verification of naming convention used for
Reason: In case of case study-2, client has provided naming convention for interfaces and
objects. In check can be included to verify the same naming convention is followed for all
interfaces and objects in High Level Design. By this check we could check uniformity
This suggestion will improve uniformity and understand ability of the document.
Reason: High Level Design is responsible for capture and convey architectural decisions
made on the system. It is necessary to explain rationale behind each architectural decisions
(e.g.: technology, tools, components, packages etc considered for design the system). By
providing this information communication time for discussing rationale behind each decision
can be saved. This will be added help for offshore development scenario.
interface: Interface is a collection of operations that are used to specify a service of a class or a component. [ ref.
75
4.4.3.2 Detailed Design
Problem : In the detailed design it is customary to have the details of the algorithms. For
example the preconditions and the post conditions pertaining to an use case are important
Impact : When the details such as preconditions or the post conditions are missed in the
detailed design, it poses a challenge to the developer for its inclusion in the algorithm being
developed during the implementation phase, after the design documents are handed to the
development team.
Solution : LSPCM should ensure the check for the preconditions and the post conditions for
an algorithm. Such checks can be included in the detailed design criteria in section SC1.2[40]
Problem : The exception behavior and alternate flows have not been specified in the use
case realization documents which made use of the client provided templates. Impact : When
a detailed design in under consideration, the alternate flows and the exception behavior is
Solution : A check is required in the LSPCM which can verify the presence of exception
behavior. These checks are to be included in the SC1 Completeness criteria[40] for detailed
design.
Problem : The use case realization documents use two different kind of templates. Impact :
The use of two different kind of document templates for the creating of same kind of
document leads to ambiguity as these both documents capture different information and
Solution : A check consisting on the usage of single document of same kind of documents
should be enforced. This check can be included in the Uniformity section SC2[40]. Since such
76
templates used are standard to the company, this check can be included in the section
Problem : The use case realization documents are named in Dutch as well as English. No
Impact : The development team may not be aware of the language in which the documents
are named. Hence for offshore project, a translation document needs to be maintained if the
Solution : LSPCM should check for the uniformity in the naming conventions followed. If the
Problem : The attribute/method names in models does not meet the naming standard for
For Example, with java as the programming language, it does not allow spaces in the
method/attribute name.
Impact : When the design models are used to generate the code body, the presence of
unaccepted method or attribute names would generate erroneous code, and thus can create
a situation wherein the developer may not be in a position to change the attribute name
Solution : A conformance check can be included in LSPCM which would ensure that
attribute/method names conform to the programming language standards. This check can
Problem : The return types for the method should be appropriate with respect to the
attribute used.
77
Impact : When an attribute is of certain data type, this data type should also be the return
type of the method which accesses this attribute. If this is not the case, then there are
Solution : A conformance check in LSPCM for the return data types of the methods would
prove helpful in such a situation. This check should be included in the section SC3.1[1]
Problem : More than two data types have been specified for a single attribute in the design
model.
Impact : This is an ambiguous situation whereby during the further stages of development it
Solution : A conformance check to ensure whether the attributes are designed with proper
data types. This LSPCM check needs to be included in the section SC3.1[1].
This subsection provides list of possible suggestions based on the assessment of case study-2
–SAD.
Suggestion 1: In the CASA:SAD reading guidelines can be included for architectural decisions,
deviations from architecture, open issues and risks for software architecture.
Reason: Reading guidelines are specific symbols followed to specify architectural decisions,
deviation from architecture, open issues and risks that may occur during Software
will be helpful for reader to quickly understand decisions, open issues, risks of the software
architecture. This kind of guidelines will helpful during review of software architecture.
78
This suggestion will helpful for improving understandability of the document.
Suggestion 2: In CASA –SAD can include separate section which defines naming convention
Reason: In case study-2 SAD, client has provided naming convention for interfaces and
objects. In CASA- SAD these naming convention specific to client or organization has to be
This suggestion will help for improving understandability of convention followed for
Suggestion 3: CASA – SAD should be flexible to add additional views for the architectural
representation.
Reason: In case study-2 software architecture has been represented using use case view,
logical view, process view, implementation view, deployment view and, additional security
In CASA- SAD software architecture representation has explained considering use case view,
logical view, process view, implementation view , deployment view and additional data view.
and access control view , therefore CASA- SAD should be flexible to add additional view.
79
4.4.4.2 Use case realization
Problem : In use case realization document[3], the javascript files are mentioned in section
Impact : The class details are missed out in the documents and the document fails to
describe the responsibilities of the participating classes for the use case.
Solution : The checklist for the use case realization ensures that the business rule specified
for the use case is present in the document. But there is no check to ensure the presence of
the description and the responsibilities of the classes. Hence this check needs to be included.
Problem: Check list for the analysis model has not been maintained.
Impact: Check is needed which verifies various classes of the system- control, boundary and
Impact : The essential checks which are helpful after the design model is developed will not
80
4.4.4.5 Implementation Model
Problem : The implementation model does not give the sub sections against which the
For Example, in the implementation model, the folder Implementation Elements contains
the folders Components, Deployment unit Elements and Deployment units. But all the
Implementation elements.
Impact : The details in the subfolders are not checked explicitly since the designer may not
Solution : The subsection against which the check is enforced should be mentioned. This
alterations in the checklist will help in making the checklists more concrete and allow the
1. Major inconsistencies should be eliminated before the documents are handed over
documents.
3. There should be a change document maintained for all the changes with the
81
4. A document should be maintained for the models depicting the details about the
N.B: The recommendations for the case studies have been suggested with the consent of the respective project
team.
82
5. Observations
5.1 LSPCM
In this section we enlist the suggestions for LSPCM in terms of High Level and Detailed
Design
In our thesis work, suggestions are provided for LSPCM : High Level Design product area. In
addition with the existing criteria, these suggestions will help LSPCM to verify and validate
In our thesis work, some of the suggestions are provided based on the comparison between
LSPCM High Level Design certification criteria and the CASA guidelines for SAD and analysis
model.
Reason : High Level Design is the first step to analyze and consider all requirements for a
software and attempt to define structure which is able to fulfill them. In this process context
diagram and its description gives overall picture of the system environment and external
The objective of the system context diagram is to focus attention on external factors and
events that should be considered in developing a complete set of system requirements and
constraints. This information will be helpful for further design decisions in the software
Reader will get overall picture of the system that is application , external system and
Suggestion 2: Check for definitions, abbreviations and acronyms in High Level Design.
Reason: Definition, abbreviations and acronyms in High Level Design will help the reader in
understanding the system. In offshoring, high level design is initiated at onshore end and
then passed to offshore team for further detailed design and development. In such a
scenario, this information will be helpful to new team members in understanding the
system.
In our project the case studies provided are developed by following RUP software process,
based on the analysis process for case studies, following set of suggestions are provided for
In RUP, architecture of the system is represented using 4+1 view model. It contains logical
view, process view, implementation view, deployment view and use case view.
The following set of checks to verify the software architecture if it has been represented in
Following suggestions for LPSCM for each of views in 4+1 view model
Logical view:
1. Check for sub-systems of the system depicted in the form of component diagram.
2. Check design package of the system depicted in the form of package diagram.
3. Check for classes and class utilities depicted in the form of class and object diagram.
84
4. Check for interfaces of the system which connects components of the system to the
5. Check for layers of the system and mapping of layers and corresponding logical
Process view:
1. Check whether High Level Design contains, name of the processes, main modes of
3. Process description.
scalability.
Implementation view :
2. Check for component mapping model that is mapping between design packages and
components.
Deployment view :
85
3. Description of physical nodes specifications like servers, storage device requirements,
1. Check for brief description of architectural significant use cases and quality feature
2. Check for description of how chosen architecture works for considered use case.
Reason: These checks will help LSPCM in order to verify different views of the system
separately.
Suggestion 4: Check for any assumption made on the system during design that has
Reason: It is necessary to maintain the assumptions made on the system during design,
since assumptions made on the system have high impact on the system, if this information
has not been recorded in the document and design has been carried considering these
assumption then it may lead to discussion in the later stages of software development and
there may be possibilities of assumptions turning in to risk for whole system. This may
e.g.: For a requirement, the system must send an email to the system administrator if a
In this case assumption must be made, that a mail server is available in the production
environment and the application will have sufficient access rights to send the email.
86
Suggestion 5: In LSPCM, a check whether High Level Design documents contains technology
Reason: This information has to be mentioned in the HLD, since HLD is pass to the detailed
design for further decision on design such as implementation details for each components,
data structures and algorithms. Therefore High Level Design should contain which
technology has to be used for system development. The rationale behind the selection of
Suggestion 6: In LSPCM , check in needed for check naming convention used for interfaces
and objects.
Reason: In case of case study-2, client has provided naming convention for interfaces and
objects. In check can be included to verify the same naming convention is followed for all
interfaces and objects in High Level Design. By this check we can ensure uniformity
Reason: High Level Design is responsible to capture and convey architectural decisions
made on the system. It is necessary to explain rationale behind each architectural decisions
(e.g.: technology, tools, components, packages etc. considered for designing the system). By
providing this information communication time for discussing rationale behind each decision
can be saved. This will prove to be added help for offshore development scenario.
87
Suggestion 8: In LSPCM, a check for brief description of exception handling mechanism
should be added.
Reason: In High Level Design, exception handling mechanism gives brief details of
error that may occur in the application and a general idea of how these errors are handled
by the system. The response for occurred error (pop-up window showing error and user
action for error) description of the class, object or component of the system responsible for
These information gives brief idea of exceptions of the system to designer and developer for
further detailed decisions based on class, method and response message, pop-window
Reason: Design Constraints refers to some limitations on the conditions on which a system
to be used, operating system used, tools used, resource management, report and printing
methods (includes mechanism used for Reporting and Printing methods – Standard Report
mechanism for Caching (e.g.: mechanism used for client –side caching . e.g.: Browser cookies
or view state) etc. Origin of constraints may be from business goals, such as time to market
and budget or clients demand for particular technology, tools or a particular commercial
component was chosen because of organization’s relationship with its vendor. These
constraints has to be maintained in High Level Design. Since, High Level Design documents
are passed to further stages of software development, this information will help for team to
88
5.1.2 Detailed Design
LSPCM ensures the quality of the artifacts related to detailed design in the Detailed Design
product area. For offshore projects, it is inevitable to identify the artifacts based on offshore
perspective. The major concern in the offshore project is communication and understanding
of the documents. Here LSPCM was analyzed for the Detailed Design product area. Based on
CASA checklists, some of the sections in LSPCM needs to be updated. The suggestions for
LSPCM provided are as follows. These suggestions were verified on the documents related to
Suggestion 1: As far as the detailed level design is concerned, the exception handling should
be given important consideration. Hence a check is required in LSPCM which ensures the
Reason : During the analysis of the case studies, the analysis of use case realization
documents was essential. From these documents it was noted that not all documents
contained the exception handling scenarios. Hence we include this suggestion with the
“Completeness” criteria.
Suggestion : The specific criteria “Uniformity” does not check the naming standards for the
documents.
Reason : The document names of use case realization documents for the case studies were
found in two different languages English and Dutch. Since the client and the project team did
not have any specific language standards to be followed, the offshore team faced issues with
these documents as it was not well acquainted with the use case names which were
mentioned in Dutch.
89
Suggestion 2 : The attribute names are found in two different languages Dutch and English.
With outsourcing point of view, if the attribute names are written is another language not
well known by the offshore team, then it is advisable to include a translation document
Reason : The attribute and method names use Dutch as well as English. However, the usage
of such words and meanings is not obvious to the offshore team. Hence a standard language
known to both the onsite and offshore team needs to be used for the documentation.
Suggestion 1: The traceability matrix needs to be maintained along with the CASA artifacts.
Reason : The traceability matrix is used to correlate two documents specifying the high-level
and detailed design artifacts. This is helpful with implementation point of view as the coding
team can assure that all the requirements are being considered during the implementation
Suggestion 2 : The use case realization checklist should ensure the presence of flow
Reason : The flow diagram for a use case gives insight into the behavior about the
functionality and any alternatives flows which exist. Hence the presence of a flow diagram is
important. Moreover it makes easier for the implementation team to ensure that all the
90
5.2 CASA
In our project one of the goals is to provide suggestions for CASA improvements. Following
The following suggestions for CASA : Software Architecture Document based on LSPCM –
Suggestion 1: In CASA : SAD traceability matrix between requirements and design elements
has to be maintained.
Reason: As LSPCM criteria checks for traceability matrix, this information will help for
deployment units). This check is required to determine whether the software architecture is
maintained.
document. This information is necessary to ensure that each stakeholder understands the
same meaning of the terminologies used within the documentation. This will help to reduce
the time required for understanding the terms and avoid ambiguities.
91
Reason: Translation document for Software architecture Document has to be maintained, if
the documentation uses another language unknown to offshore team. i.e. Dutch. This
information will help offshore team to understand the system and avoid the confusion with
Reason: The mapping between classes, subsystems and processes, threads provide a link
between logical view and the process view. This information will help for further detailed
design stage. The map between classes and process will give clear picture for reader
92
6. Conclusion
High Level Design is an artifact which makes sure that the design approach will yield an
acceptable system. Architecture holds the key to system development, understanding and
maintenance effort. The architectural decisions captured in the high level design are carriers
the conceptual glue that holds every phase of the project together for all its stake
holders[17]. One of the goals of our project is to provide suggestions to improve certification
model LSPCM for High Level Design product area as well as CASA : technique followed in
Capgemini for Analysis, Design and Software Architecture. This suggestions will inturn
helpful in improving quality of High Level Design documents for offshore software
development. This chapter explains main results of project. Following subsections explain in
brief, the problems in High Level Design which impact the quality of design and solutions for
problems. Main results of quality analysis of High Level Design have been described.
complex. Due to the increasing complexity, creating quality system has become a major
challenge for software industry. In order to tackle this challenge in Industry there is
solutions, software- intensive systems continue to present formidable risks and difficulties
in their design, construction, deployment and, evolution. Recent attempts to address this
93
challenge have focused on the earliest period of design decision i.e. Software
architecture[15].
for quality improvement of overall software product. Issues in High Level Design which have
impact on the quality of the design include incomplete and abstract documents, absence of
High Level Design documents play a main role in communication of architectural decisions
made on the system with various stake holders like end-users, developers, system engineers
and project managers etc. High Level Design documents should be detailed i.e. it should
include design decisions and rationale behind the decisions made on the system.
If high level design is incomplete and not detailed enough to convey architecture of the
system, the incomplete design will be pass to further stages of software development. This
in turn has impact on the overall quality of the system. Due to these issues, software
architect has to spend more time on modification or rewriting high level design again with
offshore development due to the long distance between onshore and offshore teams, these
issues may lead to the budget and time overrun of the project.
6.1.2 Solution
In our project, to improve documentation and validation of software architecture, first step
involves analysis of LSPCM : HD and CASA : SAD and analysis model ( which is categorized
under high level design). The second step involves the analysis of case studies for High Level
Design artifacts. Based on this assessment, inconsistencies are found in the high level design
artifacts, which has impact on its quality. In the third and final step, suggestions are provided
94
for CASA - SAD, analysis model and LSPCM – HD for improving the quality of high level
design. By following the CASA templates, guidelines and checklists for High Level Design
documents will be complete and detailed enough for understanding and maintaining the
Validation of High Level Design using LSPCM will help to ensure quality of High Level Design
of the system before the handover of high level design to detailed design and development.
While requirements are meant to specify what a program or system should do, design is
meant to specify how the program/system should do it. A good software design is a
Details design is process of refining and expanding software architectural designs to more
detailed descriptions of the processing logic, data structures and data definitions. This
610.12-1990]. The architectural decisions specified in the high level design are made more
concrete by providing more details about it. i.e. algorithms are made more concrete by
The detailed design acts as an important step with implementation point of view. Hence the
documents and models prepared at the detailed design stage should be complete and
unambiguous. In short it should satisfy the criteria for a “quality” artifact as described in
Chapter 1 . If the artifacts are ambiguous at this level, it might lead to a failure of the
95
The work carried out here focuses on the quality certification for assessment of the detailed
design for offshoring. Here, the existing LSPCM model and Capgemini practices for analysis &
design i.e. CASA have been considered for improvement. This chapter discusses the main
results of our thesis work. The problem & impact is mentioned briefly and thereby the
solution.
Project delay, budget overrun and wrong implementations are the concerns faced by the
software service provider companies. This research highlights the defects faced by the
offshored projects with emphasis on detailed design stage of the software architecture.
Offshoring is practiced by the companies with the belief that it lowers the development
costs, but the quality of the product is compromised. With detailed design under
Impact : Presence of flaws in the detailed design artifacts i.e. the presence of ambiguities
with the detailed design documentation and models. For example the attribute/method
names, data types, method return types etc. get carried over to the further phases of
development i.e. coding/implementation. Here the development team may assume the
6.2.2 Solution
The approach which was followed in this research project was as follows.
The certification model was applied to industrial projects and the defects were listed based
on the assessment. These defects where then mapped to the processes followed which
96
contributed toward the wrong implementations. Improvements were suggested in the
Also, improvements were suggested in the certification model by including new checks
which could check the previously overlooked defects and these suggestions were verified on
6.3 Result
The main result of this research is the suggested improvements for the quality assessment
model LSPCM and the industry practice followed CASA. The work carried out included the
design documents and hence the major issues faced with the detailed design have been
identified which can lead to the failure of a project. As a result, these suggestions help in
implementations. The work focuses on improvement of the quality of the project artifacts as
well as improvement in the process artifacts i.e. CASA. Thus we conclude improved artifacts
for the CASA procedure which would deliver the quality artifacts for the projects.
LSPCM developed by LaQuSo, helps in ensuring the creation of quality systems. The software
artifacts. The suggestions provided during this research helps in improvement of LSPCM
certification criteria for High Level Design(HD) and Detailed Design(DD) project areas with
focus on offshore projects. The evaluation time however depends on the size of the project.
Thus it can help the outsourcing partners, the outsourcer as well as the subcontractor, to
97
convince the other party that the deliverables are acceptable. This research has thus
provided suggestions for improvements which help improve the quality of Software
The Capgemini Project Center is the home for technology services and a repository of all the
project delivery of Capgemini. The primary goals of project center are increasing the margins
and revenues of the projects being undertaken by Capgemini. The CASA technique by
Capgemini was shaped at the project center. The CASA project was developed with the aim
of improving productivity, collaboration with distributed teams, product quality and project
have been proposed for improvement of CASA based the assessment of the software
architecture and Design artifacts of the projects executed by Capgemini. These suggestions
will ensure the improvement of artifacts of CASA by eliminating the occurrence of defects in
the project. These improvements help to ensure that the software architecture & design is
The field of software quality is still a fresh discipline. In this research we have focused on the
quality assessment of the software architecture and analysis & design discipline artifacts.
During this research there have been numerous instances where we observed the scope for
98
In this research we have analyzed LSPCM with the industry method CASA. This can be further
checklist is required for the analysis & design models for the CASA artifacts. There are
certain checks noted in the Product Quality Index(PQI). However, these checks need to be
detailed to include checks for the attribute data types and method return types etc.
Another area of research could be to assess the quality of source code for offshoring. In our
research project we focused on the elaboration discipline of the software development cycle
whereby the part of the design is done onsite and the detailed design is done at offshore.
considered. Thus comparing LSPCM model with the source code standards and guidelines
of this research can be suggestions for offshore development in order to avoid the budget
99
7. Bibliography
"http://alexandria.tue.nl/repository/books/633706.pdf".
[2] Angadi,N. Kudchadker.T : Case study 1: An Electronic Ticket Printer System, 2010.
[4] A Software Product Certification Model. Petra Heck, Martijn Klabbers , and Marko van
[5] Anwer Shamsi – Master’s thesis: Offshoring: forget cost reduction focus on quality, Open
[6] Carmel, E. en Tjia, P., Offshoring information technology – Sourcing and outsourcing to a
[7] Rational Software. Rational Unified Process. s.l. : Rational, The software development
company, 2001.
externalization advantages
[9] Bass L.;Clelments P.; Kazman R. "Software Architecture in Practice", 2nd Edition Reading,
MA:Addison-Wesley, 2003.
[10] Sanders, J., Software quality, A framework for success in Software development and
[11] Kruchten.P., "The Rational Unified Process: An Introduction", 3rd Edition (2004).
100
[12] Yahaya,J. Derman, A. Hamdan, A., "SCfM_PROD: A Software Product Certification
"http://www.stsc.hill.af.mil/crosstalk/1997/08/product.asp".
[14] Clements,P. Klein,M. Kazman, R.: "ATAM: Method for Architecture Evaluation",Software
[16] The Software Reality Check- Diagnosing Software Projects, Architech solutions, White
Paper
[17] Clements,P. Bachmann, F. Bass, L. Garlan, D. Ivers, J. Little, R. Nord, R.Stafford, J.:
2003.
http://msdn.microsoft.com/en-us/library/ee658098.aspx".
[19] Deutsch M., Willis R.,"Software Quality Engineering : A Total Technical and Management
[20] Warren S. Reid, Reviving the Drowning Large-Scale IT Project. California, USA,
[21] The Open Group Architecture Framework( TOGAF) :Architecture Principle concept, 22-
July-2010, "http://www.opengroup.org/architecture/togaf8-doc/arch/toc.html"
101
[23] Rumbaugh,J. Booch,G. Jacobson,I,: "The Unified Software Development Process",
"http://www.sei.cmu.edu/architecture/index.cfm".
[25] Northrop L, "The importance of Software Architecture", SEI, Carnegi Mellon University,
2002
[26] Amrita, A., Sree Kumar, A., “Practical assessment of business and IT requirements for
102
Appendix A. List of Supplements
103