You are on page 1of 11

Web Software Engineering

Today due the internet revolution large demand is available of the services that can be delivered
on the network. There are various type of network services but most popular is web software’s
services those may be accessed by numbers of users concurrently.

To produce the web application in shorter time is the challenge for the organizations. Because
web applications are tested well before deliver it against any small bug. If there is some problem then
end user may not came again to see your website. Another challenge is into the architecture of web
application. The distributed architecture nature of web application is more complex. There is need to
analyses every impact of the architecture of the system that this application may be accessed by more
then one user at a time from different geographically separated users.

1.1 What is web software?


Web software is the application that may be

– Used by the users coming from the public from deferent geographically areas perhaps from
whole world
– Used by the close group for the particular organization in which case it would be running on
the intranet
– Used externally by closed group for example the customers and supplier and running the
extranet.

1.2 Deferent characteristic of web software applications


In caparison to application software, web based software applications consists various
difficulties. In spite that web based software applications share some common characteristics, in
which some are found only them. The characteristics of the web based software application can be
devised based on the following attributes.

• Way of development, deployment, and testing of web software applications.


• Way of use by the end users.
• Way of maintenance and.
• Way of design of applications etc.

1.3 Characteristic of the web application


Web application consists various attributes functionalities so it consists various characteristics.
Some of them given below.

Layers based architecture: Web based applications are based on the layering approach. Different
aspects of the applications are separated into deferent layers. Related functionalities are implemented
into particular layer. Deferent aspects of clients and server are separated through devising them into
deferent layers. The application is viewed as the set of layers those may be into single machine or
may distributed on deferent machines.

Software Engineering (IGNOU-MCA / MCS-034) By: HEMRAJ 1


Separation: web application provides separation through; one is processing logics point of view
separation and second is working point of view. The processing logics are separated to deferent
locations or on different layer. The business logics are places on the server and client logics may on
the other machines. Further we can place the database on third machine so we can get the separation
between business logic and database. When client send the request for the web application then web
server handle it and the request is processed by the specified web application. There result is
collected by the server and it is sent to the client. So the web application is hidden totally from the
client side. This provides some security to our application.

Implementation: there is the greater flexibility and simplicity in the implementation of the web
application. Deferent functionalities are implemented in contrast with deferent layer. So developer
working on the application can achieve the parallelism in the development because the
implementation of different layers is separate to each other. They can work independently. Another
characteristic is that while we are changing the one layer then it will not affect the other layer. We
change ing one layer then we need not to change in other layer.

There are following type of web application according to the implementation

– Those web applications that have static text


– Those applications in which contents are changed frequently
– Those applications that can take the input from the users
– Portals that are used with websites to support extra features
– Commercial web application those are used to transactions
– Those that provides the searching application.

1.4 Development, testing and deployment


Many basic processes and methodologies are same as general project. Some are deferent
features in development life cycle are being discussed bellow.

Development
The development of the web application is deferent from the normal application in following
ways
• Web application runs over the network, so network must be taken into account. Network are
not fully reliable so it is responsibility of developers to devise the application such that, it can
tolerate network failures.
• Users of web application are large in number. So different types of users may access the web
application. Then it is necessary that the presentation of web application is designed
according the users requirements located at the deferent geographical area.
• Protocols used by the network are important consideration at the develop time. Content
generated by application will travel over deferent communication path, so it is necessary that
web application can handle the protocols incompatibility.

• Web application will be used over internet, so potentially there may be large number of users.
That situation in which large number of request are arriving to process, should be handled by
the web application.

Software Engineering (IGNOU-MCA / MCS-034) By: HEMRAJ 2


• There may be need to upgrade the application frequently to accept new changes of situation.
For example new look and feel is available into the market or machine configurations have
been changed etc.

Testing
Web application is built to run over network and to provide the services to users those located
at deferent locations. Before deployed these web application, testing is necessary to ensure its
reliability. But the testing the web application from the client side is default. Because network that is
being involved in the communication between tester and web application, allows variable delay to
travel request and response.

So testing from world wide location is not possible. To test the web application we try to
simulate the delays and other condition available in the real network and environment. To obtain
best, average and worst response it is necessary to test application many times.

Other thing should be test is the interoperability and consistency of web application against
deferent behaviors of browsers. There are following reasons of deferent behaviors of browsers:-
• Different OS
• Different Versions
• Different in supported components like JVMs
• Different standards followed by the browsers
• Bugs in certain version of browsers in certain OS

Deployment
As soon as web application is deployed, this is available publicly to all users. So it is default to test
the web application after deployment. But this problem can be solved by limiting the access of
application for certain users under the testing phase. It can be achieved by implementing some access
control or by hiding its address.
The storage of application should be limited at the starting time. Other facilities like email, file
storage etc are kept inactive.

Web application are deployed on the web servers and it start to provides the services. Web server is
responsible to handle the request and then forward it to web application then generated the response
and sends it to user.

1.5 Usage of web application


After hosting the web application on the web server, it is used by the user located on deferent
location. They may have little knowledge of computer. Conventionally applications also have to deal
with non technical people. To help them we can provides helpdesk to train them. But it is not
possible to reach every user to train him. As the developer having some experience may know the
there may be user that can access the application in different way that were never anticipated.
Normally if user faces difficulty while using application he/she can report it to particular
group of the organization or to the vender. But in this can\se user may give up and just not come
back again
User can also expected to want to a fast response and if the operation is long, it will be the
best to keep informed them
Applications according to different user from deferent location can expect the presentation as
they like. So it may be achieved by applying the internationalize concept.

Software Engineering (IGNOU-MCA / MCS-034) By: HEMRAJ 3


1.6 Maintaining web application
Today the presentation of web application needs to update to new look and feel. There are great
challenges to maintain the web application to keep it up to date.

There are following maintenances to be done:-


– If user sees that information, seen by him/her one month before then, it will produce bad
impact on the user. User may not come again to seen you website. So it is necessary that
information must be updated frequently.
– Today the presentation of the web application is first issue. The popularity of web application
depends much on the things that how to represents the information on the web pages and how
easy to use.
– Business rule of the organization may change frequently so web application also updated to
satisfy the new rules by implementing new logics.
– Number of user may increase as web application become popular. So it is necessary that it
should be updated to handle the more users load.
– There may be change on the platform on which web application is running, so it should be
maintained to keep it at running state into new platform.

1.7 Designing web application


As we know that, web application are based on layered architecture. so it is easy to maintain
and alter. Application could be running under the control of web server so it is possible to use some
functionality provided by the web server. Today we can use the beans from deferent venders to
provide the new functionality.
Today web services are popular things to be considered. There is the Google search. Deferent
website where they allow you to search anything. Behind the seen actually they use searching
services provided by deferent venders like Google. A web service allows reusability of components.
The user interface of the web application is important for success the web application. First
impression of your web application is the graphical interface through which user will interact with
your application. GUI must be ease to use and images to be used fro the icons should be descriptive.
Al the above considerations need to be kept in mind when planning and managing web application.

1.8 Issues of management of the web based projects


There are following some principle of the software management
1. Managing Requirements
a. Clear understanding of the requirements
b. Tracking the changes into requirements
2. Managing Project
a. The main activity of managing is proper planning of the project and executes it
according to planning.
b. If the project deviate from its proper plane then the reason behind it should be
analyzed carefully be for changes.
c. The project plan is the basic document used to execute the project and has all the
required information about it. Some of the item of project plan are below
i. Background information and context
ii. Customer and other stack holder information
iii. Dependency on the outside group
iv. Estimate of cost , effort and duration
v. Resource requirement, equipment and people
vi. Methodology t be used to do the project
vii. How the project will be mentioned
viii. Schedule.

Software Engineering (IGNOU-MCA / MCS-034) By: HEMRAJ 4


d. Some are the subroutine plans that needs to made different aspects of the project ,
such as
i. Configuration management plan
ii. Quality Assurance plan that covers technical reviews and testing
iii. Risk management plan
iv. Training plan
v. Metrics plan
vi. Defect Prevention plan
3. Configuration management
Configuration management deals with followings:
a. Controlling the artifacts produced by the project.
b. If changes will occurs than all the changes should be stored so that we can backtrack
if needed.
c. We control each version for reference and do no not discard.
d. Whenever an artifact is produced, it should be reviewed so that we can have
confidence in the veracity and appropriateness of its content. Some artifacts are placed
into baseline and configuration is manipulated with respect to this base line.
e. Access to the baselined artifacts should limited to a designed configuration controller.
4. Measurement
a. To keep control on the progress we have to measure our software. This is key of
managing software
b. Measurement of software helps to know the progress of the project. It can be known
that at what time how much work has been done and how much time to be taken for
completion.
5. Risk management
A risk is an event that have that can produce unwanted results when occur. But it is not
sure that it will occur or not. But we think about the possible risks those may have bad
impact on the project and we g\have to guard the system against it. We prepare before it
occur so that appropriate action can be taken if something happened.

We do not manage all risks, only deal with the risks those may lead harmful impact on
project if they occurred.

1.9 Organization of web application teams


The web application needs to be developing throughout life cycle. Deferent part of the web
application can change independently as organization introduced some new requirements. In this
type of application the work is distributed for domain specific persons. For example the graphics are
produced by the persons those have good commands on designing and business logics are
implemented by those developers those has sufficient knowledge of technology to be used by the
web application. So the team for the web application development is organized as follow;

Web application Content


team
Application Web
Webmaster Development
support Team publisher
Team

Software Engineering (IGNOU-MCA / MCS-034) By: HEMRAJ 5


Webmaster
This is responsible to taking care of web application to keep it on good health. It involves close
interaction with the support team to do changes to eliminate the problems if any. Some of the
activities of the web master given below
• Gathering user feed back
• Ensuring proper access control and security for some important pages.
• Obtaining static and other metrics on the site like; number of hits, number of visitors,
frequency distribution of deferent visited pages, bandwidths utilized for upload and download
and number and type of errors, bug and problems in services etc.
• Helping to ensure that change control procedures are followed
• Archiving old contents of when application while keeping new components.

1.9.1 Application development team


The application support team is responsible to develop new changes to be done in to application to
remove bugs or to introduce new services. This team provides the maintenance for web application.
Some following activist are done by the application support team
• Removing the bugs and taking care if cosmetic irritants
• Changing the user interface from time to time for novelty to accommodate user feedback and
to make it more contemporary.
• Altering the business rules of the application as required.
• Introducing new features and schemes while disabling or removing older ones.

1.9.2 Content Development Team


The information or data available to the users is provided by the content development team. Time to
time the contents of the web application needs to be update. So web application requires more effort
in the updatation of contents. Some site like stock market needs to be update frequently.

All the contents require to update are produced by this team. A particular content is written
by the person who has sufficient domain knowledge in that.

Content development team may be researchers who seek out useful or interesting facts,
authors of some articles, experts in different areas, and so on.

The member of this team does not have technical skill and software skill.
Other form of contents are pictures, audio etc are produced by this team provides the presentation
quality.

1.9.3 Web publisher


This is an important role that connects the content development team to the actual web site. They
publish the contents developed by the content development team. The contents developed by the
team may be into simple format. These contents should be converted into the format of file those are
understandable by the sever for example content development gives the simple text file and publisher
writes the HTML page and use the content of this text file.

So the responsibility of the web publisher is to presents the content on the website into well
designed graphical look and feel.

They can use some readymade tools like macromedia, front-page etc application to develop
the WebPages rapidly. These tools help to reduce the design time and may help to improve the look
and feel.

Software Engineering (IGNOU-MCA / MCS-034) By: HEMRAJ 6


1.10 Metrics
Measurement of various attributes tells us where we stand in our endeavor, whatever it may be. the
basic parameters like cost, effort, schedule etc. is measure to ensure the proper planning.

Schedule
Measuring the schedule is difficult process. This measurement allows us to trace the project life cycle
throughout project development.
Effort
Effort matrices can be gathered by measuring the different types of activities and metric database is
organized for future use. this data should be recorded under time spent on analysis, design,
construction ,project management and so forth.
Size
Anther core attribute is size. This should be measured in an implementation independent way, such
function points. it a good size measure can be built then it can be used to estimate the effort required
for future.
Quality
the quality of an application can be measured in terms of defects hat are found during internal testing
or reviewers well as external defects that are reported by the visitors.

1.11 Analysis
After gathering requirements they have to be validated. There are some characteristics that we need
to beer in mind while analyzing a web application project. Some tasks have been given below to be
considered while analyzing.
• Clear about the process owner and the stack holder.
• How to user will interact with your application.
• What will be shown to user and what will be hidden.
• Analyze the content to be shown that, whether user will like or not.
For example audio, picture etc.

1.12 Design and Construction


While designing web application we consider some readymade contents those can be reuse again.
We should, for instance, be seeking out any available design pattern that can be reused. Always this
concept is used today that, while new web application is being developed, some content are imported
from the old web application or we manipulate the old web application into new web application.
So reusability is the most things to be used by the industries to develop web applications.

Application will run under the control of application or web server. The application server on which
web application will be deployed can give the frameworks that can be used by the web application to
process some logics. Some takes to be done by the server are security and persistency. These
functionalities are provided by the server using bean.
There are several aspects to creating a good one web application:
• Visual appeal and aesthetics
• Ease of entry data
• Ease of obtaining the application’s response
• Intuitive, easy navigation around the site

Software Engineering (IGNOU-MCA / MCS-034) By: HEMRAJ 7


• Robust and forgiving of errors

1.13 Reviews and testing


Before the web application deployed on the web server, it should be tested and reviewed. We must
care to review all the content to make sure that there are no errors and bugs. We should check out the
content, the navigation and the links to other pages as part of testing out a page. There should not be
broken links that leave the user bemused.

Once all the pages of the web application are ready we can perform integration testing. We check out
all the page work together. Whenever an error caught and fixed we should repeat the test to ensure eh
solving a problem has not caused.

Software Engineering (IGNOU-MCA / MCS-034) By: HEMRAJ 8


2. Mobile Software Engineering
Mobile software engineering is new immerging filed. And the most of technology being used is the
GSM technology.

2.1 Introduction to GSM


GSM is a digital wireless network standard. All mobiles devices that are based on GSM standard
across the world will have similar capabilities.
The following standards are some of the feature of GSM
– If a mobile device is based on he GSM, then it an be used in all those countries where this
particular standard is prevailing.
– Almost all the services that are existent in a wire line network are provided by GSM to all the
users of mobile devices which are based on it.
– Though the quality of voice telephony is not excellent, it is not inferior to the systems that are
being based.
– IT also provides good security as there is an option to encrypt the information that s being
exchanged using this standard.
– There is no need for significant modification of wire line networks due to the establishment of
network based on GSM standard.

2.1.1 Architecture of GSM

There three parts of the mobile device


1. SIM (subscriber identity Module)
2. Mobile equipment
3. Terminal equipment

– SIM consists of Mobile number and PIN number.


– When PIN number is dialed then subscriber is able to use the services.
– If the PIN number is dialed wrong till limited number of time then SIM is blocked and to
unblock it PUK (PIN Unblocking key) is used.

788998900

PIN
Phone
Consists of SIM Consists of PUK
Subscriber info

Software Engineering (IGNOU-MCA / MCS-034) By: HEMRAJ 9


MS
MS

MS Radio cell
BTS MS
MS
BTS MS

BSS MS
BSSBTS MS

BSC
BTS

BSC

MSC

BSC
PSTN
MSC
BTS :Basic Transceiver System
BSC : Basic Station Controller
BSS : Basic Station System Connections:
MSC : Mobile Switching Center Between BSS and MSC: NSS (Network Switching System
PSTN : Public Switched Between Mobile and BSS: Radio Freq.
Telephone Network

2.2 J2ME
This is the technology being used by the mobile service providers. J2ME provides the development
environment to develop the application for the mobile devices, PDAs, and other embedded devices.
It has APIs and JVM
– J2ME support concept of write once and run anywhere
– Currently two configurations are supported by the J2ME
o CLDC (connected limited Device Configuration). This is designed for the mobiles
that have less (128KB to 512KB) memory.
o CDC (Connected Device Configuration). This is designed for the mobiles that have
large ( 2 MB) memory.

A profile and an additional set of APIS are added to provide the full set of functionalities.

In case of J2ME, often CLDC is combined with MIDP (Mobile Information Device Profile).this
combination provides the java based environment for cell phone in which application are developed.

Software Engineering (IGNOU-MCA / MCS-034) By: HEMRAJ 10


CDC designed for the devices that have larger memory, faster processors and a significant network
bandwidth (e.g. TV set top boxes, High rang PDA). CDC consists of a JVM and portion of J2SE.

MIDP provides the User interface, network connectivity, and local data storage and application
management.
The lowest level profile for CDC is known as Foundation Profile (FP). FP provides the embedded
devices which does not have a user interface with network capability.
PBP (personal Basis Profile) and PP (Personal profile) may used with the FP to provides the GUI.

Software Engineering (IGNOU-MCA / MCS-034) By: HEMRAJ 11

You might also like