Software Engineering
Software Engineering
Software Engineering
To measure
anything we used to define some rules or instructions. These rules help us in
solving our problems in a better way. The rules defining the measurements are
more precisely known as metrics. To measure any attribute of any system we
follow some specific criteria. In our daily routine we measure each and every
thing in some manner but we do not even consider it. With the passage of time
measurements are getting more important. To measure different attributes of
different systems we use metrics like distance for traveling [1].
In the same way attributes of the software are also measured so that
they meet the customer requirements. Different researchers in the past have
proposed many metrics In the field of software engineering these metrics are
called software metrics. Some software metrics, which were designed by
keeping in mind the software development, include performance, reliability,
reusability, time, security metrics and so many other metrics, which have been
proposed and validated by different researchers [3].
2. Organizational Issues
3. Individual Issues
6. Cultural Issues
7. Graphical Issues
8. Strategic Issues
9. Coordination Complexity
The soft issues related to each phase of the SDLC is given in the fig.2
Analysis Phase
Knowledge Management Issues
Design Phase
UI related Designer Issues
Development Phase
Stress Management Issues
Maintenance Phase
The importance of each phase can be measured by comparing the cost of effort
and time spent during each phase. During software development software
principles should be followed and mainly the emphasis should be given on
To handle the soft issues in overall SDLC, they should be handled first in
each phase. Then their result will be put in the following metric to get the
overall result.
Where:
Where,
SI (Req.) = Soft Issues handled in Requirement Phase
On the whole for all the phases of SDLC, there are different soft issues that are indicated in
literature survey. If all those considered issues are fulfilled completely then the maximum
value of result is obtained i.e. 1. And if no issue has been handled the minimum value is
obtained i.e. 0.
No issue is handled
Out of all considered soft issues there are almost half such issues that are basically
(Threshold ) That means if half of those issues are resolved successfully, the
acceptable value can be obtained from here, i.e. ~ 0.5. So the acceptable range of the overall
(Threshold )
In above mentioned equation SI (Req.), SI (An.), SI (Des.), SI (Dev.) and SI (Mt.) are defined
as follows:
The first equation can be rewritten in the following form:
Now the soft issues in each phase are resolved by evaluating all the considered sub issues.
Experience
Communication
Communication
Skills
Issues
Communication
Channels
Resources
Availability
Nature of
Organization
Requirements Organizational Issues
Gathering Phase
Exposure towards
new Technology
Ethics
Commitments
Individual Motivation
Issues
Interaction
Job Security
Clarity
RC = Communication Issues
RO = Organizational Issues
I = Individual Issues
Communication issues are there in almost every phase of SDLC. These issues are related to the
communication between the client and the analyst. As well as interaction is concerned; it can be
possible with anyone who is involved in the project in some manner. Some main confronts are
about the lack of informal communication. Main problems that can be considered in this manner
are as follows:
At client’s end:
At employee’s end:
These are some of the main soft issues that arise in requirement gathering phase while interacting
with the client. At client and analyst side main issues are same.
Proposed Solution:
For its solution following are the sub issues that should be handled:
C1 = Communication
C2 = Communication Channel
C3 = Knowledge Experience
As it is a 2-way process between client and the employee, so the overall mean value of the
communication factors is calculated through the following metric:
Where OMV = Overall mean value of the Factors involved
These issues can be about the environment in which the employees are working or
interacting with the clients. Organization is the place in which the employees are
employed for working. And within the organization there are individual issues that count
a lot. Organizational Issues are about the features and culture of the organization.
Following factors are considered in regarding organization’s environment:
Proposed Solution:
Following are the sub issues that are considered in resolving this issue:
Good communication skills (so that employee has good interaction with the
client)
Resources are available (employees feasibility)
Exposure towards new technology
Nature of organization (project domains on which it works)
Good repute (cultural comparison among different organizations)
O1 = Nature of Organization
O2 = Resources Availability
Proposed Solution:
Following are the sub issues that are considered in resolving this issue:
∴
I1 = Ethics
I2 = Commitments
I3 = Motivation
I4 = Communication Skills
I5 = Job Security
The flow of the processes involved in handling soft issues for the Analysis phase, is described in
the figure below:
Analyst's Co-ordination
Completely Specified
Requirements
ordination
Organized Documentation
Main factors that cause the soft issues in analysis phase are enlisted below:
Coordination complexity
Knowledge management
Team building and analysis of data
Cultural co-ordination
Incomplete requirement specification
Different outputs from group of analysts
Perceptions
Weak interaction between analysts
Improper documentation
Proposed Solution:
Following are the factors that are considered in resolving this issue:
Soft issues involved in Design phase are UI related graphical issues including placement of
objects and some sort of designer issues. Some soft issues regarding design phase are defined
under UI related designer issues. The flow of the processes involved in handling soft issues for
the Design phase, is described in the figure below:
Designert's Understanding
These issues arise in detailed design of the design concept after the preliminary
design. While developing any website, inappropriate graphical user interface can create a big
issue at user end, there can be an improper placement of objects that makes bad look and feel
and it becomes difficult for user to understand. Main factors that cause the soft issues in
Design phase are enlisted below:
Designer’s understanding towards design
Plan Elaborated flowchart, database interfaces, input output forms
Plan data communication interfaces
Improper placement of objects (Bad look and feel)
Not user-friendly interface (cultural, religious issues etc.) User’s
understanding towards design
Provided knowledge is not relevant, Interface does not match with the
actual purpose of the software (Inappropriate UI)
Proposed Solution:
Following are the factors that are considered in resolving this issue:
Stress Factor
Programmer's
Understanding
Main factors that cause the soft issues in Development phase are enlisted below:
Proposed Solution:
Following are the factors that are considered in resolving this issue:
Where
Dev1 = Stress Factor (Good work environment, Appropriate time, Less work
complexity, Work-life- balance, Level of appreciation from client &
management)
Soft issues involved in Maintenance phase are Periodic feedback from client/user in
case of any change, Support staff schedules and Support staff Knowledge & understanding. All
the soft issues regarding Maintenance phase are defined under Support Staff Management issues.
The flow of the processes involved in handling soft issues for the Maintenance phase, is
described in the figure below:
Periodic Feedback
Understanding
Main factors that cause the soft issues in Maintenance phase and considered in resolving this
issue are enlisted below:
Periodic feedback from client/user in case of any change
Support staff schedules
Support staff Knowledge & understanding
The case study that is taken here for the validation of our proposed work is “Automated
e-mailed Invoice by Customer”, which is a real time implemented project’s module. The client of
this project is ‘ABC’ (the name of the company is not mentioned for the security purpose), who
is working with the Systems Limited, Lahore, Pakistan [22]. Auto Email Invoicing Process,
provides an overview of the automated emailing process of customer invoices in PDF format to
Non-EDI customers. It provides a way to modify the invoice process to automate e-mailing a
copy of the invoice, instead of mailing a hard copy. As initially, the Invoices for a number of
customers were printed manually, then collated & mailed to the individual customers. Systems
proposed and implemented Auto Email Invoicing interface to send the invoices in PDF format as
email attachment. A robust process which works twice a day and generate PDF report from
existing SSRS reporting services and send an email to customer very quickly. So by replacing a
paper-based invoicing process with electronic methods, businesses can operate more effectively
and improve the profit margins, as well as benefit from better communication with the
customers, better information about the cash flow etc.
This deployment architecture of the automated e-mailed Invoice describes the whole processing
step by step that how it goes. At the back end of the implementation of this automated e-mailed
Invoice process, it goes through all the phases of SDLC. The proposed metrics are applied on all
the phases of SDLC through which this automated e-mailed Invoice goes for its implementation.
5.2. Handling Soft Issues in overall SDLC of “Automated e-mailed Invoice by Customer”
This section presents the validation of metrics proposed for handling soft issues in
software development life cycle. Proposed metrics are applied on a real time implemented
project’s module i.e. “Automated e-mailed Invoice by Customer”, which has gone through all the
phases of SDLC by considering different soft issues. Now following is the implementation of
proposed metrics on this case study.
Employee Analyst’s
Company Name
The best combination for the knowledge experience, a communication channel and
communication is with John and Bob. Now by putting these values in the following table:
Table 3:
Now here two entities/factors are involved i.e. client and the analyst, so the overall value for
these factors will be calculated.
After complete implementation of this case study, an issue occurred. The issue was that if
customers are more than 20 then there was a problem of sending email invoices to them. So if
this issue was discussed at the beginning of the project that what should be the maximum limit
for the no. of customers, then it could be resolved earlier. Now to resolve this issue we have to
go to the requirements gathering phase, where it should be handled through metric.
By handling this issue we get the following results:
Table 4:
Following are the values of Organizational issues that are gathered from the organization
Systems Limited.
Following are the values of Individual issues that are gathered by evaluating the behaviors of the
employees of the company.
Table 5:
Table 6:
Table 7:
Table 8:
Soft Issues Involved for Analysis Total Issues Considered Handled Issues
Phase
Analyst’s Co-ordination 1 0.8
Requirements Specification 1 0.4
Considered Cultural Co-ordination 1 0.6
Document Organization 1 0.7
4 2.5
In the design phase of the project “Automated e-mailed Invoice by Customer”, different
soft issues related to the User interface or designer’ are handled through proposed metric for this
phase. Following is the detailed description of these issues in tabular form:
Table 9:
Soft Issues Involved for Design Total Issues Considered Handled Issues
Phase
Designer’s Understanding 1 0.9
Look & Feel Issues 1 0.8
Appropriate UI 1 0.8
3 2.5
Table 10:
Table 11:
Soft Issues Total Issues Handled Soft Issues Total Issues Handled
Involved in Considered Issues Involved in Considered Issues
Overall SDLC Overall SDLC
SI (Req.) 12 8.7 SI (Req.) 12 9.2
SI (An.) 4 2.5 SI (An.) 4 2.5
SI (Des.) 3 2.5 SI (Des.) 3 2.5
SI (Dev.) 3 2.5 SI (Dev.) 3 2.5
SI (Mt.) 3 2.7 SI (Mt.) 3 2.7
25 18.9 25 19.4
Results before handling communication Issue Results after handling communication Issue
In spite of the major issues that occur in SDLC, there are some other issues, which are
apparently not obvious or appear to be indeterminate. We call such issues as soft issues. Many
researchers have defined such soft issues according to different perspectives in different fields.
There are some soft issues that are related to the software engineering but are not handled
explicitly for SDLC phases. Through literature survey, it has come across that many soft issues,
which are apparently indeterminate like communication issues between the client and the analyst
or the environmental issues etc, are not handled yet logically. So the proposed solution emphasis
is on handling those soft issues by defining some metrics for them.
The proposed metrics are applied on the soft issues of a real time case study and then
validated with logics and proofs. It prevents the software from the issues that are to be faced at
the end of the software development. These soft issues are tackled at each phase of SDLC for
better output. The proposed solution helps in identifying the quality of the project by comparing
the results that comes at the end of completion of that project with or without applying metrics
on that. After validation it is concluded that if issues are handled initially at the early phases of
SDLC then problems can be resolved. And at the end of implementation of the project the result
is free of issues.
Future Work:
In SDLC different phases have their own importance and are given percentages on the
basis of effort or work done in each phase, by different researchers in the past. But as there is no
percentage wise division on the basis of importance of the phases, it was quite a difficult task for
me to find the solution. So it is required to work on finding the percentage wise division of
SDLC phases. The very first phase of SDLC i.e. Requirements gathering phase is of supreme
importance and need so much consideration before going towards the real implementation. In
that recommended division, requirements gathering phase should be given the utmost
importance. In all the phases of SDLC, different issues are resolved through metrics. But if there
will be an automatic software implementation for all the phases then that will be more helpful in
dealing with the problems that occur during software projects development.