Sunteți pe pagina 1din 68

1.

INTRODUCTION TO SOFTWARE ENGINEERING

1. Introduction:
Software engineering: the profession, practiced by developers, concerned with creating and maintaining software
applications by applying technologies and practices from computer science, project management, and other fields.
Software engineering is an engineering discipline which is concerned with all aspects of software
production.
Software engineering offers a systematic and organised approach and appropriate tools and techniques
depending on the problem to be solved, the development constraints and the resources available.
Software engineering is about more than just programming/coding, It is about design principles and
methodologies that yield programs that are:
• Robust
• Manageable
• Reusable

1.1 People involved in software production


• Customer / client: wants software built, often doesn't know what he/she wants
• Managers / designers: plan software, difficult to foresee all problems
and issues in advance
• Developers: write code to implement software, it is hard to write
complex code for large systems
• Testers: perform quality assurance (QA), it is impossible to test every
combination of actions
• Users: purchase and use software product, users can be fickle and can
misunderstand the product.

1.2 Problems with software today


Example: Space shuttle software
• Cost: $10 Billion, millions of dollars more than planned
• Time: 3 years late
• Quality: first launch of Columbia was cancelled because of a synchronization problem with the
Shuttle's 5 onboard computers
– Error was traced back to a change made 2 years earlier when a programmer changed a delay
factor in an interrupt handler from 50 to 80 milliseconds
– The likelihood of the error was small enough, that the error caused no harm during
thousands of hours of testing substantial errors still exist in the code
• Reusabilty: shuttle software cannot be reused
– Have to develop each software product from scratch

Ad-hoc software development

• Ad-hoc development: It is the process of creating software without any formal guidelines or
process
• Disadvantages of ad-hoc development

-1-
1. Some important actions (testing, design) may go ignored
2. Not clear when to start or stop doing each task
3. Does not scale well to multiple people
4. Not easy to review or evaluate one's work

1.3 Software development lifecycle


• Software lifecycle is a series of steps / phases, through which software is produced which can
take months or years to complete.
• Goals of each phase:
a. mark out a clear set of steps to perform
b. produce a tangible document or item
c. allow for review of work
d. specify actions to perform in the next phase

Requirements System Object Implemen


Analysis Testing
Elicitation Design Design tation

Implemented

Expressed in Structured By Verifie


Terms Of By Realized By d
class..
By
class..
.
?
Applicatio class...
class.. ?
Use Case n Solution . Sour .
Test
Subsystems Domain ce
Model Domain Cas
Objects Code es
Objects

• Lifecycle phases:

• Standard phases

1. Requirements Analysis & Specification


2. Design
3. Implementation, Integration
4. Testing, Profiling, Quality Assurance
5. Operation and Maintenance

• Other possible phases

-2-
1. Risk assessment: examining what actions are critical and performing them first
(part of Spiral model)
2. Prototyping: making a quick version of the product and using it to guide design
decisions

1.4 Software development models


• Software life cycle models describe phases of the software cycle and the order in which those
phases are executed.
• Each phase produces deliverables required by the next phase in the life cycle. Requirements are
translated into design. Code is produced during implementation that is driven by the design.
Testing verifies the deliverable of the implementation phase against requirements.
• Several models for developing software are as follows:
– Code-and-fix: write some code, debug it, repeat until finished
– Evolutionary: build initial requirement spec, write it, then "evolve" the spec and code as
needed
– Waterfall: perform the standard phases (requirements, design, code, test) in sequence
– Rapid prototyping: write an initial "throwaway" version of the product, then design,
code, test
– Spiral: assess risks at each step, and do the most critical action immediately

1.4.1 Waterfall model (Royce, 1970)

– This is the most common and classic of life cycle models, also referred to as a linear-
sequential life cycle model, it is very simple to understand and use.

Rapid Req. Change


Prototype

Verify
Redesign

Verify Re-
implementatio
n
Test

Operations

Retirement

-3-
• In a waterfall model, each phase must be completed in its entirety before the next phase can
begin.

• At the end of each phase, a review takes place to determine if the project is on the right path
and whether or not to continue or discard the project.

Advantages
1. Simple and easy to use.
2. Easy to manage due to the rigidity of the model – each phase has specific deliverables
and a review process.
3. Phases are processed and completed one at a time.
4. Works well for smaller projects where requirements are very well understood.
Disadvantages
1. Adjusting scope during the life cycle can kill a project
2. No working software is produced until late during the life cycle.
3. High amounts of risk and uncertainty.
4. Poor model for complex and object-oriented projects.
5. Poor model for long and ongoing projects.
6. Poor model where requirements are at a moderate to high risk of changing.

1.4.2 Spiral Model (Boehm)

• The spiral model has four phases: Planning, Risk Analysis, Engineering and Evaluation. A
software project repeatedly passes through these phases in iterations (called Spirals in this
model).
• The baseline spiral, starting in the planning phase, requirements is gathered and risk is
assessed. Each subsequent spiral builds on the baseline spiral.
• Requirements are gathered during the planning phase. In the risk analysis phase, a process is
undertaken to identify risk and alternate solutions. A prototype is produced at the end of the
risk analysis phase.

• Software is produced in the engineering phase, along with testing at the end of the phase. The
evaluation phase allows the customer to evaluate the output of the project to date before the
project continues to the next spiral.

-4-
• In the spiral model, the angular component represents progress, and the radius of the spiral
represents cost.

Advantages
1. High amount of risk analysis
2. Good for large and mission-critical projects.
3. Software is produced early in the software life cycle.

Disadvantages
1. Can be a costly model to use.
2. Risk analysis requires highly specific expertise.
3. Project’s success is highly dependent on the risk analysis phase.
4. Doesn’t work well for smaller projects.

1.4.3 Evolutionary model

Evolutionary model is a software development lifecycle model in which software prototype created for
demonstration and requirements elaboration. Evolutionary model includes the four main phases:

1. Definition the basic requirements


2. Creating the working prototype
3. Verification of the working prototype
4. Changing or elaboration the requirements

Evolutionary model allows create working software prototypes fast and may be applicable to projects
where:

1. System requirements early are not known in advance


2. Creating fundamentally new software
3. Developers are not confident in software architecture and algorithms

-5-
Requirements

Verify
Arch. Design For each build:

Verify Perform
detailed

design,
implement.

Test. Deliver.
Operations

Retirement

• Advantages
1. The model can be used when the requirements cannot or will not be specified.
2. The user can experiment with the system to improve the requirements.

• Disadvantages
1. Use of the method is exploratory in nature and therefore constitutes a high-risk endeavor.
Strong management is required.
2. This method is used as an excuse for hacking to avoid documenting the requirements or
design, even if they are well understood.

2. INRODUCTION TO PROJECTS

This chapter comprises of the list of projects which the students can try to make. A brief introduction to all projects
is given which is going to help the students in understanding the titles.

1) Health Care Insurance


2) Attendance Management System
3) Paylogs
4) Airline Ticketing System

-6-
5) E-Banking/Core Banking
6) Online Recruitment System
7) Online Trading System
8) Resource Manager
9) Warehouse Management System
10) Grievance Handling System

2.1 Health Care Insurance

Provide a system for an organization that is in primary care. Organization schedules health checkups for
their clients to keep close eye on their risk levels depending on the diseases/problems incurred in them .It
is responsible for fixing the appointments with the physicians, labs and also taking care of emergency
situations.

Features:

Client Details
Internal/External physician Details
Insurance Company Details
System User Management

Reports:

Client’s Monthly Health Report


Physician’s client’s reports (Detail/Summary)
Client’s list depending on the risk level
List of External physicians attending the clients

The Health Care Insurance System is mainly developed to provide an organization a well-developed
system that is in primary care. The organization schedules health checkups for its clients to keep close eye
on their risk levels. Organization accepts requests from the physicians who make checkups to the clients
and using the reports, documents, processes the claims raised by the physicians on behalf of the clients.
This system helps in easy fixing of appointments for clients. This system also
processes insurance claims and the related activities as a part of organization services. Organization
serves its clients in a prompt, reliable manner, and the fee structure is also highly competitive. This
system will assist the organization in quality claim processing.

Drawbacks of Existing System:


This system was already proposed, but the communication was through the
third party. The existing system lacked proper communication, proper co-ordination and accountability.
This leads to ineffective and inefficient organization and thus leads to lacking of organization
development and clients unsatisfaction. The existing system was dedicated to paperwork, which leads to
time consuming and inefficient utilization of resources. There may be claims from many citizens and
handling each and every one’s claim takes lot of time. There may also be some errors encountered while
collecting the required documents. It is also a time taking process to deliver the reports personally or by
post to the clients. There may also be some errors while handling the payments and dues.

-7-
Need for Automation:
Now a day it has become a need for every citizen to get insured on all domains and
the health plays a vital role. Hence this system when automated eases the task of processing the claims
and scheduling health checkups. The application is made online so that any client registered under an
organization can use the system effectively. The clients and other entities involved can request online and
at anytime.
The payments to be collected are calculated efficiently and all the information regarding any
dues etc is carefully handled. The system also effectively maintains the information of the clients,
managers and physicians.

2.2Attendance Management System


This project titled as ATTENDANCE MANAGEMENT SYSTEM (ATMANSYS) is a
web-based application, which is used to capture attendance plan. This means to capture and query the
attendance plan and accurately record the actual attendance including in and out timings, movements,
leave, training, etc., of employees at the place of work. Queries can be accessed as per privileges. In
addition to this, the project also maintains the database of customers, vendors and visitors who are
involved with the organization. This application digitizes a reliable, faster, easier and integrated system of
attendance management; leave etc., for improvement of business-value generated instead of being
implemented manually.
This application has basically nine types of users. There is a login for every user, so invalid
users are not given access to this application. The system administrator maintains the database of all the
employees in the organization and the receptionist enters the details of all customers, vendors and visitors.
Sessions are also implemented for further security. This prohibits the users from accessing the various
pages of the employee directly without going through the login page. This project is implemented on
windows platform. It uses JSP for front-end generation and validations, JDBC for database connectivity
and Oracle as back-end.
The project ATMANSYS being developed is a well-formulated procedure management
of all the employees, facility for the employees to post their plans regarding time-off, leave, training,
movement to the place of work, visit to other places etc., in advance. This is a simple network based
(Internet and Intranet) attendance management solution.
The present project has been developed to digitize all the above-specified services. The reason
for computerizing the service is to reduce the manual overhead in maintaining. records, to serve the staff
with faster response, to reduce cost overhead and limiting the time variable.
The development environment of the project makes the application reliable, feasible,
economical and user-friendly. The application is developed using Windows operating system, JSP for
front-end generation and validations, JDBC for database connectivity and Oracle as back-end.

Existing System

In this system, whenever an employee wants to mark his/her attendance he/she has to mark it in a
register and if he wants any other information he has to approach the respective/concerned officials,
which is too casual and does not serve any purpose. Managers apply their own means to manage the
attendance, movement and leave of their employees. The purpose of attendance recording is not well
formulated because of which what is recorded is not accurate or reliable for any purpose. There are
multiple records (main register, late register, movement register, attendance on non working days), which
are not reconciled. Any inference to be drawn needs a lot of work and essential details are not available
for any conclusion and also do not address the attendance requirements of the employees who work at

-8-
customer locations. This process increased the overhead of the employees as it is time consuming and
inaccurate. So, these are the drawbacks in this system. The proposed system is designed to overcome
these drawbacks.

Proposed System
With the existing demand for accuracy, feasibility, high-speed , prompt and immediate response
it has become mandatory to have an automated process, which reduces manpower, economic cost and
time. So, the proposed system has been designed. In this, the system administrator maintains the database
of all employees who are working in that organization. The receptionist keeps track of details of all the
visitors, vendors and customers. The proposed attendance management system-ATMANSYS, has the
ability to “capture Attendance plan”, more specifically absence plan relating to time-off, leave, training,
movements at the place of work, visits to other places of work etc., members of the staff can post a plan
in the atmansys in advance and confirm what has happened as and when it happens or later. The
advantage of posting the plan is that those who are affected by the person’s absence get to know the plan
in advance and so can work out alternatives. There is no special leave application and processing. All that
is a part of ATMANSYS.

This system maintains an accurate record of time, date, place-of-work, person id etc., are
supplied/derived so that people do not spend time entering those details and the data are more reliable.
Such data is treated as actual attendance. In addition, some information may still have to be supplied by
members of staff and their managers can review and confirm the same.

This system is very advantageous from user’s perspective. All the employee has to do is he/she
just has to enter user-id and password. Then the system does the search to check whether the entered data
is existing in the database or not. If a match is found, then it implies that the data is valid, and the page
will be displayed on the screen according to their designation. On the basis of the privileges assigned to
him the employee can access the facilities above. If no match is found, the system prompts that the data as
invalid and the employee has to recheck the details. The disadvantages of this system are that it requires
many numbers of systems and Internet should be provided.

2.3 Paylogs

Now-a-days payment of Utility bills such as Electricity, Telephone and Water services is a
difficult task for the people in their busy lives. Though payments can be done at multiple counters at
different locations, working people, people living in cities, people living in semi-urban areas have to
travel long distance and spare extra time to pay the bills which is an avoidable inconvenience. Even
though the eSeva is providing services to the people, it does not use any cost and effort saving processes
and practices and is not up to the user satisfaction. There are some limitations in case of eSeva services
like billing and collection of dues is a tedious and costly process for the utility companies, and it gets
complicated with the increasing number of consumers and varieties of services being offered.
So as to overcome these difficulties, Pay logs is developed. Pay logs is a web-based application,
which relives the customer’s workload in their busy lives. Pay logs helps in paying bills on time. Utility
companies can also benefit from this arrangement by getting consolidated payments with statements

-9-
every month. Their workload of individually processing the payments from each citizen gets reduced by
about 30%.
Pay logs ensures security for the deposits and customer satisfaction, as there is login for every
user restricting invalid access to the system. The end user can pay and check the information about
payment of bills from Internet. This application reduces the workload of customers and also the Utility
companies.
Paying Utility bills, such as electricity, telephone, water services in cash is a painful experience to
the people living in urban or semi-urban location as they are restricted to do their bill payments only at
few places like telephone exchange, electricity board etc. In such cases the workload on the people
working in these offices is hectic. Citizens are forced to wait in queue for long time for the bill payments.
Working citizens feel this more difficult because they get a clash with their working hours in weekdays.
This leads to many avoidable problems like people loose time, parking risks and traveling long distances.
Though the citizens spare time and take risk for the bill payments, billing and collection of dues is a
tedious and costly process for the Utility companies.
eSeva seeks to solve this problem, by providing many services to the people, but not up to the
user satisfaction. With eSeva the above problems are solved to some extent, as eSeva centers are kept at
many locations and the people can pay their bills at the nearest eSeva centers, which tries to reduce the
risk to some extent. There is no change in the mode of interactions at eSeva centers that they are
performed at much higher operational costs. Even though the eSeva is providing services to the people, it
has some drawbacks like billing and collection of dues is tedious and costly process and gets complicated
with the increasing number of customers and varieties of services being offered. This system is unable to
satisfy people who are busy with their hectic workload that they lack time to go to eSeva centers to pay
the bills.
To overcome the drawbacks of eSeva, Pay Logs system is developed. It is a web-based
application, which relieves the customer’s workload in their busy lives. Pay logs provides a direct
interface between the citizens and the government which serves considerable time, energy and money of
the citizens and gives the citizens the advantage of hassle free dealings with the administration. Pay logs
helps in paying the bills of the customers in time, there by turning economical for the utility companies,
organization and end users.
It registers the end users according to their expected bill amounts and required money with a
certain deposits and security in terms of bank accounts insurance or property. This project is to ensure
security for the deposits and customer satisfaction. The best part of this system is that the customer can
get the updated information about the payment of bills from Internet.
This application has four kinds of users. There is a login for every user restricting invalid access
to the system. The system administrator maintains the database of all the registered users and takes care
of the bill payments.
This project is implemented on windows platform. It uses JSP as server-side scripting language,
java script on the client side with HTML as the front-end and JDBC for database connectivity and
ORACLE for the database.

Existing System:

eSeva, which is the existing system, seeks to solve the problem of payment of bills. eseva is a
government organization built on public-private partnership model. Citizens are provided with a clean,
transparent, efficient and effective administrative system through the state-of-the-art electronic
technology. But does not use any cost and effort saving processes and practices. There is no change in the
mode of interaction at eSeva centers except that they are performed at much higher operational costs.
Payment of Utility Bills in cash, such as electricity, water etc; is tedious task because the
customer has to pay bills at different locations only in working hours on weekdays which is difficult for
working citizens. People spend time and money for travel and parking and suffer avoidable

- 10 -
inconvenience. In this case billing and collection of dues becomes complicated with the increasing
number of customers and varieties of services being offered. Although IT and monetary content is high in
billing and collection, the current facilities offered by the banking and credit card services are not
attractive.

Proposed System:

Pay logs is a web-based application. Pay logs provides a direct interface between the citizens and the
government, which saves time, energy and money. Pay logs registers the end users according to their
expected bill amounts by depositing minimum amount. The main motto of this system is to provide
security for the deposits and customer satisfaction. There is login for every user restricting invalid access
to the system. The system administrator maintains the database of all the registered users and takes care
of the bill payments. Pay logs helps in paying the bills of customer on time. This service will be available
to the citizens 24 hours a day, 7 days a week round the year. This improves the Utility Bill Payment
Process benefiting the end-users, the Utility Companies, the Bank and credit card Companies. The
important part of this system is, the customer can get updated information about the payment of bills from
Internet.

2.4 Airline Ticketing

Online reservation system was available only through manual. It was therefore necessary to develop one
such system for windows platform. This system was developed with such a necessity in mind it user
friendly by including a menu driven interface. The use of online reservation is to provide an effective
communication between costumers and airways companies. Travelers can examine, reserve and pay for
their tickets online.

The advantages are


1) Time saving
2) Less cost
3) No mediators
4) Excellent services

The main goal of online reservation is to achieve the customer satisfaction. Online reservation
provides an effective communication with travelers of any place in the world.

Existing System:
Presently online Reservation system is manually providing services to business persons and people
of an organization. The people have to go Reservation center to know their seat Reservation. This will
take more time sometimes they have no time to get their seat on time. This causes wastage of valuable
time and sometimes loss their ticket Reservation.

Proposed System:

Now a days organizations are growing fastly and are increasing the size also so these
organizations are divided into departments in the fast growing world the information is needed as fast as
possible. This can be accomplishment get reservation quickly fast reservation of Airways is not possible
in old manual system. Because in manual system reserve one place to another. But it task much time and

- 11 -
risk. In old manual system there is possibility of one time reserve for more persons. This leads the
inconsistency of information. So we need a system which is both quick and accurate. This can be
achieved by Airways. In this system the ultimate senders and receivers are always passengers, not
machines.
Project Feasibility:
In preliminary investigation we got the result that the online reservation system is feasible. This
includes 2 aspects.
Technical Feasibility:
Technical feasibility is nothing but implementing the project with existing technology. Online
Flight Reservation System is feasible.
Economically Feasibility:
Economic feasibility means the cost of under taking project should less than existing system.
Online Reservation system is economically feasible, because it reduces the expense in the manual system.

2.5 E-Banking (Core Banking Solution)

In the bank all the activities are being done manually .As the bank widens its services & it finds
difficult to manage its operations manually and hence this leads to the automation of some of its
operations.
Banking Information system is a window based applications. This project mainly deals with
managing there types of account such as Saving Account, Current Account and Recurring Deposits. In
this project bank is seeking to manage these account through computer based system.
Tasks involved in this project are opening the user accounts, recording the account holders
transactions, modify, the user records and generating the reports.
APCOB, which was started as a co-operative bank with just two branches has grown into a
large organization with 25 branches in short span. The rapid growth of the bank has strained the manual
accounting processes making it difficult to manage and transfer data. The management has decided to
automate the banking activity in a phased manner. One part is to automate the activity with respect to
savings bank. Current account and recurring deposit.

The specifications are as follows:

A. For Addition

1. Account type MUST be accepted from the user .Validation: it should be e either ‘S’,’C’OR ‘R’
2. Account No. should be generated automatically. Validation: No two accounts should have the
same account no.
3. Account holder’s name must be accepted (no validation).
4. Account holder’s address should be accepted (no validation).
5. Phone number should be accepted (no validation).
6. Occupation should be accepted (no validations).
7. Opening date should not be accepted. Validation: should not sysdate.
8. Cheque facility should be accepted. Validation: Cheque facility is valid for account type
‘s’ or ‘c’.
9. Current balance should be accepted. Validation: it should be accepted provided the
Account type is ‘s’, ’c’. If account type is ‘R’ then it should not be entered but updated
Once the user enters value for the field AMOUNT DEPOSITED.
10. Account number, number of months, rate of interest, amount of deposited, maturity date
and maturity amount should be entered only if the account type is ‘R’.

- 12 -
Incase Of Recurring:

1) Account number should be displayed from the previous block.


2) Number of months should be accepted. Validation: should be only 12, s24 or 36.
3) Rate of interest should be accepted. (No validation).
4) Amount of deposited should be accepted. (No validation).
5) Maturity date should be displayed only. Validation: should be calculated as (sysdate + no
of months).
6) Maturity amount should be displayed only. Validation: should be calculated using the
formula. Maturity Amount =(P + PNR/100)
7) Where, P- Principal amount or amount deposited
N- no. of years and
R- rate of interest.

B. For Modification

1) Account number and account type should be entered. Validation: the account no. should be
present in the database.
2) Fields account number, account type. Opening date and current balance are only displayed
3) Modification of rate of interest, no. of months , maturity date, maturity amount , maturity deposit
are not allowed.

C: For Deletion

1) Account number should be entered. Validation: the account number should be present in the data
base.
2) Before actually closing the account his /her dues have to be settled.
a) If the recurring deposit account is closed before the maturity date then the interest is
calculated till that date.
b) Before deleting the account display the matured amount first and ask for confirmation to
delete.

D. For Transaction

1) Transaction date should be system date and it should only be displayed.


2) Transaction type should be entered. Validation: It should be D / W / I.
(D-deposit , W-withdrawal, I-interest)
3) Depending on the Trans type the trans remark is displayed.
a. Trans type Trans remark

1. ‘D’ By deposit
2. ‘W’ By withdrawal
3. ‘I’ By interest

4) Transaction type D/W is allowed only for Account type Saving’s or Current.
5) Transaction type ‘I’ is allowed only for Account type Saving’s.
6) Interest will be credited only in June and December for saving account. The interest rate
is 5.5 % p.a.

- 13 -
7) Deposit holder can pay the amount without interest. If he pays before 10th of every
Calendar month. Failing to pay before 10th he will be charged a penal Interest of 10% of
his initial deposit calculated as per day.
8) For persons who have cheque (Y), a minimum amount of Rs. 1000/- should be maintained in
his/her account for current account and Rs. 500/- for saving’s account.
9) At any point of time his/her balance amount should be a minimum of Rs.250/- for saving’s
account and the minimum of Rs.500/- for current.

Existing System:

In the Bank every Activity is handled manually, such as Opening Account, storing Account
holder Details, Transaction Details, and Reports Generation. The manual system is taken more time and
the services to the Customer are slow and not accurate. The client is focus problem with the existing
system with respective two values, such as time value and cost value.

Proposed System:

In proposed system we are concentrating the problems whatever a client faced with existing manual
system. By introducing Automation system for Banking Information system. The client is provides fast
services to the customer. The transaction service, report generation service and every service is available
at no delay.

2.6Online Recruitment System

Now a days the necessity of executing things increasing rapidly in our daily activities.
Technology plays a vital role in day-to-day activities. And this in turn made great changes in many work
fields and out of them recruitment process is one that changed lot of colors in their systematic approaches.

The computer based recruitment system is to replace manual operations of recruitment of an IT


company. As recruitment is a round the year activity involving thousands of candidates a need has been
felt to automate the entire operations. Applications are collected in a prescribed format and checked for
eligibility. All eligible candidates are sent Admit cards for the selection test.

The test in three areas-Aptitude, Verbal and technical skills. The results are compiled and presented
to management to decide the cut-offs for interviews. Based on the selection criteria decided by
management interview letters are generated. The system should provide for queries and management
reports during the recruitment process.
Online Recruitment system is to replace manual operations of recruitment of an IT
company. As recruitment is a round the year activity involving thousands of candidates a need has been
felt to automate the entire operations. Applications are collected in a prescribed format and checked for
eligibility. All the eligible candidates are sent an automated message (just like Admit Card) for the
selection test.

The test is in three areas:

1. Aptitude Test
2. Verbal Ability
3. Technical Test

- 14 -
The results are compiled and presented to management to decide on cut-offs for interview. Based on the
selection criteria decided by the management, the qualified candidates are called for the interview. Also
details of candidates called for interview are prepared for the interview board. The system should provide
for queries and management reports during the recruitment process.
Recruiting is defined as persuading someone to work for a company or become a new member of an
organization.

Objectives of Online Recruitment System


1) Provide an innovative, cost efficient and effective recruitment system.
2) Increase the quality and quantity of applicants applying for vacancies.
3) Offer immediate cost savings on recruitment with substantial long term saving over a prolong
period.
4) Dramatically reduce paper work and administrative work.
5) Streamline the recruitment process and reduce the corporate’s overall recruitment cycle.

Existing System

In the existing system all the activities are done manually. For recruiting thousands of candidates, the
physical system have the following steps.
1. Calling for the applicants.
2. Selecting the applicants.
3. Generating Admit Card
4. Conducting examination.
5. Compiling results.
6. Selecting candidates for interview.
7. Generating Interview letters.
8. Preparing details for interview board.

In the existing system all these activities are done manually. It takes lot of time to recruit
candidates. In order to overcome this we must develop a solid platform for an online recruiting solution
that can be rapidly customize and deployed to meet the specific needs of each client.
Every organization should have a separate recruitment cell. The recruitment board must provide an
innovative, cost efficient and effective recruitment system. Using the advanced technology the
recruitment cell must provide efficient system so that it reduces the paper work and administrative risks.

Proposed System

We are proposing to computerize all the tasks involved. We go about the following way.

1) Admit card generations now devoid of any mistakes. The roll numbers assigning is done
efficiently by maintaining a database so that there is no chance of the same number being
assigned to different applicants. Even the chance of a roll number not being issued to a candidate
is minimized.

2) The examination is being conducted online. The three spheres in which the exam is being
conducted have the respective database of questions. The candidates take the examination online
within the time constraints after which the page automatically closes.

3) As the examination is online the evaluation process is simplified to a great extent.

- 15 -
4) With the database of the results being maintained it is very easy to generate a range of statistics
necessary to put to candidates in different categories.

5) Based on the categories the details pertaining to the students can be retrieved from the database
which we maintain for the students and this can be forwarded to the interview board.

2.7 Online Trading System

The basic information of this system is to make available the shares online to the
customers as well as sellers. Daily many companies describes their share values so that
the customer can view them and if they are interested they can buy the shares. If
companies means sellers, if satisfied with the customer quotations they can sell their
shares to the customers. Customer will have to register themselves and will get a
permanent user id and password, by using this user id and password he can buy the shares
of companies in future also. All the transactions will be made through the credit card. The
customer has to provide the credit card number and after verifying authenticity of the
credit card the share will be made available to the customer. The customer can access
various shares from the list one time and can buy the required shares. Apart from this the
customer can see the details about the shares of various companies.

The information about the ONLINE TRADING SYSTEM are stored in database in
the related tables. Generally share notifications are released through newspapers and the
customers read them. If a customer wishes to buy the shares he has to go to that particular
company and from that only he can buy the required shares. This involves a tedious and
time consuming manual procedure. This problem can be overcome through Online
Trading System.

The customer can view the list of shares online and he can buy the shares by
just paying through the credit card. This makes easier to the customer instead of tedious
manual procedure. High computer technical skills are not necessary to use this system.
Basic computer knowledge is enough for this. So this system helps the customers in
choosing required shares details in less time, the only requirement that he needs is a
credit card for transactions. Thus this Online Trading System is strongly recommended,
secured and safe system for the customers who often need regular shares.

Problem Definition
1) Manual system uses huge amounts human labor.
2) Difficulty in tracking and retrieving data from the abundant papers is
quite difficult.
3) Time consuming process

Need for Computerization


1) Manual work is reduced.
2) Retrieval and access of information is easy.
3) Transactions are processed quickly.

- 16 -
4) Easy tracking and communication of exigencies in monetary
transactions.

Proposed System
Full Online Trading System online share information helps to the customer to
reduce his manual work i.e. he can just sit in front of a computer and follow the
instructions he can buy the shares of required company. The goal of the work is to
bring down the work of the customer with the increased efficiency and to speed up
his activities.

1) The customer can easily run the system by just following the instructions
on the screen.
2) Minimum knowledge on computer is sufficient to work on system.
3) It is very easy to access this system by the users.
4) Availability of Detailed shares information.
5) An integrated normalized relational database is maintained.
6) Predefined queries for generation of any specific enquiry purposes.

2.8Resource Manager
As we all are aware that sprouting of different kinds of hospitals with multi-facilities/functions to
meet the health requirements of public are increasing, managing these many functions manually
is extremely difficult and also cost ineffective and moreover the accuracy percentage is very
minimum. Hence, there is need to bring in automation of the functions through the computers
using advanced platforms. Thus, making successful hospitals.
Resource Manager
Resource Manager is generally categorized into two categories:
(i) Human Resource
(ii) Product Resource Manger

Human Resource
Human Resource is the personnel behind the machines. They are used for effective inter-human
communication and also for analyzing the productivity of the personnel.

Product Resource Manager (Type of telemedicine System)


Product resource manager deals with the inanimate, i.e., lifeless things and also cost-
effectiveness of their utilities.
The above two categories termed together is called as “Resource Manager”.

1. The main Objective of the Resource Manager is to attain or obtain maximum profit with minimum
amount of cost.
2. It is also used to computerize the system for the facility of the user. Hence, the data retrieval and
data storage becomes easy which indicates the less manual labour.

Proposed System

- 17 -
To overcome the above disadvantages the resource manager has decided to computerize the functions or
facilities of hospital (health department). The main objective is to expedite the process of managing
activities and to reduce the process time.

Advantages
The advantages after automizing the old traditional pattern of data storing are :
1) User friendly approach.
2) Quick and easy retrieval of data.
3) High data security is provided.
4) Easy backup and record keeping facility is provided.
5) Restricting unauthorized accessing.
6) Time saving process.
7) Easy to maintain large database.
8) Lessens human intervention.
9) Instant results are obtained.
10) Less chances of making errors.

2.9 Warehouse Management System


This Warehouse Management System project mainly deals with automating the tasks of
maintaining and transacting the goods. In the Warehouse Management System inventory management is
the key process.This process includes the activities such as maintenance of stock details, maintenance of
receipts and items etc. It is a tedious job to maintain all these details manually. Hence we opted to
automate the Warehouse Management System.
Warehouse Management System automates the job of warehouse system.
It mainly includes five members .

1. Administrator
2. Sub-Location In-charge
3. Retailer
4. Supplier
5. Customer

The Administrator has the priviligies to maintain different types of Products, Suppliers, Sub Location
Incharges Databases in the warehouse.He is concerned with registration of Suppliers, Sub-Location In-
charge, and Addition of Products.
The Sub location Incharges has privilige to maintain Products which are transformed from Administrator
and registration of Retailers and all operations on these two databases
The Retailer has priviligies to maintain Products at the corrosponding Retailer
The supplier has priviligies to maintain parts Database and he can add parts and delete parts

Existing System
This Warehouse Management System project mainly deals with automating the tasks of
maintaining and transacting the goods.In the Warehouse Management System inventory management is
the key process.This process includes the activities such as maintenance of stock details, maintenance of
receipts and items etc. It is a tedious job to maintain all these details manually. Hence we opted to
automate the Warehouse Management System.

Warehouse Management System automates the job of warehouse system. It mainly includes five
members .

- 18 -
1. Administrator
2. Sub-Location In-charge
3. Retailer
4. Supplier
5. Customer

Any Warehouse Management System mainly deals with the following processes.
1. Registration of members
2. Ordering items
3. Acquiring items, Receipts
4. Transferring items
5. Selling items and generating bills
6. Generating reports

The Administrator has the privilege to maintain different types of items in the warehouse.He is
concerned with registration of Suppliers, Sub-Location In-charges. He maintains the reports of suppliers
who are eligible to supply the items. He can send the purchase order to above suppliers when items are
required. He is responsible to add receipts when items delivered to the warehouse.He is also responsible
to send the items to sub-location in-charges on demand. He deals with adding of new items and
generating reports on items, orders, receipts and stock ctc.
Sub-location In-charge is registered and verified by the administrator. He is responsible to
maintain the items for transferring them to Retailers on demand. He can send purchase order to
Administrator for getting items that are required for retailers. He can ship the items to retailer when he got
the purchase order from retailer. He deals with generating reports on items, orders and stock etc.
Retailer is registered and verified by sub-location in-charge. He is responsible to maintain the
items for selling to customers. He can send purchase order to Sub-location In-charge for getting items
that are required for customers. He deals with generating reports on items, orders, bills and stock etc.
1)The supplier supplies the items based on the order provided by the administrator.
2) The customer receives the bills from the retailer based on his purchases.
3) This project fulfills the desires of users to enhance the communication among different type
of people such as administrator and Sublocation Incharge, Retailer.

Proposed System

Proposed system are those that are automated, so that it is easy to retrieve the responses from the
system fast and updating the details once the response or services are provided to the end-users upon
their request without any difficulty and saves time.

2.10 Grivance Handling System

Municipal Corporation Profile


Municipal Corporation (MC) is a progressive local body dedicated to improving the quality of
life of the citizens. A number of key software applications like property tax, registration of births and
deaths, health, commercial complexes, water and sewerage charges etc. have been developed in addition
to internal accounts and payroll systems for MC.

Grievance Handling System

- 19 -
Having realized the importance of Information Technology in improving operational efficiency, the
department started its computerized efforts early on. The primary purpose of the Software is to maintain
information to monitor and enhance the performance of the departments.
The primary purpose of ONLINE INFORMATION CENTRE is to develop and
maintain a community information network, which provides open and free access to online information
for the citizens. The hallmark of this community information network is the ability of the general public
to obtain information that may not have been previously, or easily, accessible to them. This pertains to
maintenance of details of grievances received, action taken and status of the grievances. Users with access
to the Web can enter their grievances and find out the status of its processing. Each grievance will be
assigned a unique id for reference.

Problem Definition
Municipal Corporation deals with different day-to-day activities that take place generally in any system.
In the existing manual system huge expenditure and a lot of time is spent in communicating the
information across different branches. So, there is a need for an integrated automated system, which has
some centralized control over the entire process.

Existing System

The following drawbacks of the existing system emphasize the need for computerization of the Grievance
Handling System:
1) Conventional System makes use of huge amounts of paper for recording transactions.
2) Difficulty in tracking and retrieving data from the abundant papers is quite difficult.

Need for Computerization


1) Duplication of work avoided.
2) Paper work is drastically reduced.
3) Retrieval and access of data is easy.

Proposed System

Full on-line data entry with online validations on field and referential checking, the goal of the system is
to bring down the workload with the increased efficiency and to speed up the activities. The major
activities of Grievance Handling Module are to receive various types of grievances from citizens,
facilitate for speedy processing of Grievances received, Updating the status of Grievances as and when
required, informing the citizen about the action taken by the MC and Generation Reports.

3. FEASIBLITY STUDY AND REQUIREMENT ANALYSIS


Feasibility Study in software development life cycle is a process that determines whether the solution under
analysis is achievable, given the organization's resources and constraints.
Within a feasibility study, seven areas must be reviewed, including those of a Needs Analysis, Economics,
Technical, Schedule, Organizational, Cultural, and Legal.

- 20 -
The feasibility study is the important step in any software development process. This is because it makes analysis
of different aspects like cost required for developing and executing the system, the time required for each phase of
the system

• Feasibility study is made on the system being developed to analyze whether the system
development process require training of personnel. This help in designing training
sessions as required in later stage.
.
• Is the system developed has scope for expanding or scope for switching to new
technology later if needed in ease.
.
• Is the cost of developing the system high or does it meet the budgeted costs. That is a cost
benefit analysis is done.
.
• Analysis is made on what software to use for developing the system. This study and
analysis would help to choose the best implementation for system and the organization.
This feasibility study includes factors like scalability, how to install, how to develop etc.
.
• Feasibility study is done to analyze how one would maintain the system during
maintenance stage. This helps in planning for this stage and also helps in risk analysis.
Also the analysis helps in making analysis about what training must be given and how
and what all documents must be prepared to help users and developers to face
maintenance phase.
3.1 Advantages of making Feasibility study:

There are many advantages of feasibility study like:

• This study being made as the initial step of software development life cycle has all
the analysis part in it which helps in analyzing the system requirements completely.
.
• Helps in identifying the risk factors involved in developing and deploying the system
.
• The feasibility study helps in planning for risk analysis
.
• Feasibility study helps in making cost/benefit analysis which helps the organization
and system to run efficiently.

. Feasibility study helps in making plans for training developers for implementing the
system. So a feasibility study is a report which could be used by the senior or top
persons in the organization. This is because based on the report the organization
decides about cost estimation, funding and other important decisions which is very
essential for an organization to run profitably and for the system to run stable.

- 21 -
Economic Feasibility

The economic feasibility of an implementation alternative is the process of finding out “does
the project make financial sense?” It is done by performing a cost/benefit analysis, which as
its name suggests compares the full/real costs of the application to its full/real financial
benefits.

Table 1 lists some of the potential costs and benefits that may be acquired by a software
project.

Type Potential Costs Potential Benefits

• Hardware/software upgrades
• Fully-burdened cost of labor
(salary + benefits) • Reduced operating costs
• Support costs for the application • Reduced personnel costs from a reduction
Quantitative • Expected operational costs in staff
• Training costs for users to learn
the application • Increased revenue from additional sales of
your organizations products/services
• Training costs to train developers
in new/updated technologies
• Improved decisions as the result of access
• Increased employee
to accurate and timely information
dissatisfaction from fear of
• Raising of existing, or introduction of a
change
Qualitative new, barrier to entry within your industry
to keep competition out of your market
• Negative public perception from
layoffs as the result of
• Positive public perception that your
automation
organization is an innovator
Table 1. Potential costs and benefits of a software project.

3.1.1 Technical Feasibility

Technical feasibility is done to answer the question "Can it actually be built?" Investgation
of the technologies to be used on the project is conducted. All technology alternatives are
identified, and reasonable assessment is done on a mini-project and a proof-of-concept
prototype is build that verifies that the technologies work together. This effort may take
several weeks but will pay for itself because it verifies how well the technology choices
work.

For each technology alternative that is being assessed there is a need to identify the
advantages and disadvantages of it, because technologies evolve quickly. For example, a
database may fail a technical assessment because the current version does not scale large
enough for an organization, but it might indicate that if it was able to process 5,000

- 22 -
transactions per second (or more) then it should be looked at again. Table 2 describes two
basic categories of issues that should be addressed by a technical assessment. The first
category addresses hard-core technology issues such as the scalability of the technology
whereas the second category addresses market issues with the technology such as the
viability of the vendor. Both categories are important to adequately assess the technical
feasibility of a project.

Table 2. Some issues to consider when determining technical feasibility.

Technology Issues Market Issues

• Performance • Vendor viability (i.e. is it likely that they will be in


• Ease of learning business in two years? In five?)
• Ease of deployment • Alternate sources for the technology, if any
• Ease of support • Third-party support for related products and services
• Operational characteristics (i.e. can it run 7 • Level of support provided by the vendor
days a week, 24 hours a day?)
• Interoperability with your other key • Industry mindshare of the product (i.e. is the market
technologies gravitating toward or away from this technology?)

• Scalability
Operational Feasibility

Operational feasibility is mainly concerned with issues like whether the system will be used if it
is developed and implemented. Whether there will be resistance from users that will affect the
possible application benefits? An application should not only make economic and technical sense,
it must also make operational sense. The basic question that is answered , “Is it possible to
maintain and support this application once it is in production?” Building an application is
decidedly different than operating it, therefore you need to determine whether or not you can
effectively operate and support it.

Operations Issues Support Issues

• What tools are needed to


support operations?
• What skills will operators
need to be trained in? • What documentation will users be given?
• What processes need to • What training will users be given?
be created and/or
updated? • How will change requests be managed?

• What documentation does


operations need?
Table 3 summarizes critical issues which you should consider.

- 23 -
Table 3. Issues to consider when determining the operational feasibility of a project.

3.2 Requirements analysis in software engineering, encompasses those tasks that go into
determining the needs or conditions to meet for a new or altered product, taking account of the
possibly conflicting requirements of the various stakeholders, such as beneficiaries or users.
Requirements analysis is critical to the success of a development project.

Requirements must be documented, actionable, measurable, testable, related to identified


business needs or opportunities, and defined to a level of detail sufficient for system design.

Requirements can be architectural, structural, behavioral, functional, and non-functional.

3.2.1 Objectives of Requirements Engineering Processes

To describe the principal requirements engineering activities and their relationships


To introduce techniques for requirements elicitation and analysis
To describe requirements validation and the role of requirements reviews
To discuss the role of requirements management in support of other requirements engineering processes.

3.2.2 Steps in Requirement Engineering

Requirements elicitation;
Requirements analysis;
Requirements validation;
Requirements management.

3.2.3 Elicitation and analysis

- 24 -
• Requirements elicitation is the practice of obtaining the requirements of a system from users,
customers and other stakeholders. The practice is also sometimes referred to as requirements
gathering.
• It involves technical staff working with customers to find out about the application
domain, the services that the system should provide and the system’s operational
constraints.
• May involve end-users, managers, engineers involved in maintenance, domain
experts, trade unions, etc. These are called stakeholders.

Elicitation and analysis activities

Requirements discovery
Interacting with stakeholders to discover their requirements.
Domain requirements are also discovered at this stage.
Requirements classification and organisation
Groups related requirements and organises them into coherent clusters.
Prioritisation and negotiation
Prioritising requirements and resolving requirements conflicts.
Requirements documentation
Requirements are documented and input into the next round of the spiral.

3.2.4 Requirements validation


Requirements validation is concerned with demonstrating that the requirements define
the system that the customer really wants.
Requirements error costs are high so validation is very important
Fixing a requirements error after delivery may cost up to 100 times the cost of fixing an
implementation error.
Requirements checking means to check its:

• Validity. Does the system provide the functions which best support the customer’s needs?
• Consistency. Are there any requirements conflicts?
• Completeness. Are all functions required by the customer included?
• Realism. Can the requirements be implemented given available budget and technology
• Verifiability. Can the requirements be checked?

Requirements validation techniques


Requirements reviews
Systematic manual analysis of the requirements.
Prototyping
Using an executable model of the system to check requirements.
Test-case generation
Developing tests for requirements to check testability.

3.2.5 Requirements management

- 25 -
– Requirements management is the process of managing changing requirements during the
requirements engineering process and system development.
– Requirements are inevitably incomplete and inconsistent
1. New requirements emerge during the process as business needs change and a better
understanding of the system is developed;
2. Different viewpoints have different requirements and these are often contradictory.
3. Requirements classification

Requirement Description
Type
Mutable Requirements that change because of changes to the environment in which the
requirements organisation is operating. For example, in hospital systems, the funding of patient
care may change and thus require different treatment information to be collected.
Emergent Requirements that emerge as the customer's understanding of the system develops
requirements during the system development. The design process may reveal new emergent
requirements.
Consequential Requirements that result from the introduction of the computer system. Introducing
requirements the computer system may change the organisations processes and open up new ways
of working which generate new system requirements
Compatibility Requirements that depend on the particular systems or business processes within an
requirements organisation. As these change, the compatibility requirements on the commissioned
or delivered system may also have to evolve.

Exercises
The selected project requires the feasibility study, based on the issues discussed in the above theory, the
following information should be provided:
1. Problem Definition
2. Objective
3. System Requirement
4. Tools/ Environment
a.) Software/ compilers required for developing this system
b). Hardware environment
5. Feasibility study
6. Prepare the SRS for the selected project following the guidelines of IEEE standards.

4. DESIGN
Software design deals with transforming the customer requirements, into a form that is implementable
using a programming language.

- 26 -
Elements to be designed during the design phase:
1. Different modules required to implement the design solution.
2. Control relationship among identified modules
3. Interface among different modules.
4. Data structures of individual modules.
5. Algorithm required to implement the individual modules

4.1 Stages of Design


1. Problem understanding
• Look at the problem from different angles to discover the design requirements.
2. Identify one or more solutions
• Evaluate possible solutions and choose the most appropriate depending on the designer's
experience and available resources.
3. Describe solution abstractions
• Use graphical, formal or other descriptive notations to describe the components of the
design.
4. Repeat process for each identified abstraction until the design is expressed in primitive terms.

4.2 Software design approach


There are fundamentally two different approaches to software design, they are
1. Function oriented design
2. Object oriented design
These two design approaches are radically different and are applicable at different stages of the
design process.

4.2.1 Function oriented design


– Design with functional units which transform inputs to outputs.

– The system is designed from a functional viewpoint. The system state is centralized and shared
between the functions operating on that state.

– Supported directly by most programming languages.

– Most design methods are functional in their approach.

– CASE tools are available for design support.

– A function-oriented view of design:

- 27 -
Sh ared memory

F1 F2 F3

F4 F5

Functional design process


1. Data-flow design
• Model the data processing in the system using data-flow diagrams
2. Structural decomposition
• Model how functions are decomposed to sub-functions using graphical structure
charts
3. Detailed design
• The entities in the design and their interfaces are described in detail. These may be
recorded in a data dictionary and the design expressed using a PDL.

Data-flow design
DFD’s show how an input data item is functionally transformed by a system into an output
data item, they are an integral part of many design methods and are supported by many
CASE systems.

DFD’s May be translated into either a sequential or parallel design. In a sequential design,
processing elements are functions or procedures; in a parallel design, processing
elements are tasks or processes.

DFD notation
Different types of notations used to create data flow diagrams are as follows:
1. Process Notations
• Process: A process transforms incoming data flow into outgoing data flow.

Yourdon and Coad Process Notations Gane and Sarson Process Notation
Datastore Notations
DataStore: Datastores are repositories of data in the system. They are sometimes also referred to as files.

- 28 -
Yourdon and Coad Datastore Notations Gane and Sarson Datastore Notations

Dataflow Notations
Dataflow: Dataflows are pipelines through which packets of information flow. Label the arrows with the
name of the data that moves through it.

External Entity Notations

External Entity: External entities are objects outside the system, with which the system communicates.
External entities are sources and destinations of the system's inputs and outputs.

– Different Types of DFDs


1. Context diagram

• Defines the scope of the system by identifying the system boundary

• contains:

1. one process (which represents the entire system)

2. all sources/sinks (external entities)

3. data flows linking the process to the sources and sinks (external entities)

4. Shows interactions with environment

5. No internal details

• Example Context Diagram

2. Level-0 diagram (system diagram)

- 29 -
• Major processing steps
• Processes similar to “main menu” items Level-n diagram
• Example

3. Level-n

• Detail of one process from next highest level

• Primitive

4. Lowest level

 Each process usually has a single output

 Further detail of each process shown by a logic model

Entity Relationship Diagram


An entity relationship diagram (ERD) is one means of representing the objects and their relationship
in data model for a software product.
Requirements for creating an ERD
• Define “ objects” by underlining all nouns in the written statement of scope:
Producers/consumer of data, places where data are stored, and composite data items.
• Define “operations” by double underlining all active verbs: processes relevant to the application
and data transformations.
• Consider other “services” that will be required by the objects.
• Define the relationship which indicates “connectedness”: a “fact” that must be “remembered”by
the system and cannot be or is not computed or derived mechanically.
• Entity Relationship Diagram Notations:

Entity

Weak Entity

Relationship

- 30 -
Key Attribute

Multi valued key attribute

Derived Attribute

• Cardinality
Cardinality specifies how many instances of an entity relate to one instance of another entity.
Ordinality is also closely linked to cardinality. While cardinality specifies the occurrences of a
relationship, ordinality describes the relationship as either mandatory or optional. In other words,
cardinality specifies the maximum number of relationships and ordinality specifies the absolute
minimum number of relationships.

4.2.2 Object oriented design

OOD is concerned with developing an object-oriented system model to implement requirements.

Objectives

• To explain how a software design may be represented as a set of interacting objects that manage
their own state and operations

• To describe the activities in the object-oriented design process

• To introduce various models that can be used to describe an object-oriented design

- 31 -
• To show how the UML may be used to represent these models.

Characteristics of OOD

• Objects are abstractions of real-world or system entities and manage themselves.

• Objects are independent and encapsulate state and representation information.

• System functionality is expressed in terms of object services.

• Shared data areas are eliminated. Objects communicate by message passing.

• Objects may be distributed and may execute sequentially or in parallel.

Objects and object classes

• Objects are entities in a software system which represent instances of real-world and system entities.

• Object classes are templates for objects. They may be used to create objects.

• Object classes may inherit attributes and services from other object classes.

Interacting objects example

o1: C1 o3:C3 o4: C4


state o1 state o3 state o4
ops1() ops3 () ops4 ()

o2: C3 o6: C1 o5:C5


state o2 state o6 state o5
ops3 () ops1 () ops5 ()

The Unified Modeling Language

- 32 -
• Several different notations for describing object-oriented designs were proposed in the 1980s -1990s.

• The Unified Modeling Language is an integration of these notations.

• It describes notations for a number of different models that may be produced during OO analysis and
design.

• Employee object class (UML) example:

Employee

name: string
address: string
dateOfBir th: Date
employeeNo: integer
socialSecurityNo: string
department: Dept
manager: Employee
salary : integer
status: {current, left, retired}
taxCode: integer
. ..

join ()
leave ()
retire ()
changeDetails ()

Generalisation and inheritance

• Objects are members of classes that define attribute types and operations.

• Classes may be arranged in a class hierarchy where one class (a super-class) is a generalisation of one
or more other classes (sub-classes).

• A sub-class inherits the attributes and operations from its super class and may add new methods or
attributes of its own.

• Generalisation in the UML is implemented as inheritance in OO programming languages.

• A generalisation hierarchy example:

- 33 -
Employee

Manager Programmer

budgetsControlled project
progLanguages
dateAppointed

Project Dept. Strategic


Manager Manager Manager

projects dept responsibilities

UML associations

• Objects and object classes participate in relationships with other objects and object classes.

• In the UML, a generalised relationship is indicated by an association.

• Associations may be annotated with information that describes the association.

• Associations are general but may indicate that an attribute of an object is an associated object or
that a method relies on an associated object.

• An association model example:

E m p lo ye e D e p at m
r ent
i s -m e m b e r-o f

is -m a n a g e d -b y

m anages
Manager

Exercise

1. Draw the DFD for the selected project.

2. Draw the ERD for the selected project.

- 34 -
3. Decompose the selected project into various modules keeping in mind the modularity criteria.

4. Based on the guidelines and coding standard, do the coding for the selected project in any
programming language of your choice.

5. CODING
CODING

The coding phase is to transform the design of a system into high level language code. Input to coding
phase is the design document. During this phase different modules identified in the design document are
coded according to the respective module specification.

5.1 Coding Standards

• Rules for limiting the use of globals.


• Contents of headers preceding codes for different modules.
• Naming convention for global variables, local variable and constant identifier.
• Error returns convention and exceptional handling mechanism.

5.2 Guidelines for Coding

• Do not use a coding style that is too clever or too difficult to understand
• Avoid obscure side effects
• Do not use an identifier for multiple purposes
• The code should be well documented
• The length of any function should not exceed 10 source lines.
• Do not use goto statements

Coding involves two things

1. Front End
2. Back End

1. Front End: This is a part of the project which provides a user interface to
interact.

2. Back End: This is a part of the project which provides the database for the
storage of the data of the user.

- 35 -
6. TESTING
Software testing is an investigation conducted to provide stakeholders with information about the quality of
the product or service under test. Software testing also provides an objective, independent view of the software
to allow the business to appreciate and understand the risks of software implementation.

Software testing can also be stated as the process of validating and verifying that a software
program/application/product:

1. Meets the business and technical requirements that guided its design and development;
2. Works as expected; and
3. Can be implemented with the same characteristics.

6.1 Software Verification vs. Software Validation


• Software Verification: The software should conform to its specification (Are we building the
product right?)

• Software Validation: The software should do what the user really requires (Are we building the
right product?)

6.2 Test Plan


A test plan documents the strategy that will be used to verify and ensure that a product or system
meets its design specifications and other requirements.

6.2.1 Structure of a Test Plan


1. Test plan identifier
2. Introduction
3. Test items
4. Features to be tested
5. Features not to be tested
6. Approach
7. Item pass/fail criteria
8. Suspension criteria and resumption requirements
9. Test deliverables
10. Testing tasks
11. Environmental needs
12. Responsibilities
13. Staffing and training needs
14. Schedule
15. Risks and contingencies

- 36 -
16. Approvals

6.3 Testing phases

Component testing
1. Testing of individual program components
2. Usually the responsibility of the component developer (except sometimes for critical
systems)
3. Tests are derived from the developer’s experience

Com ponent In
teg ration
testin
g testing

Softwa
red
eveloper In
d ependenttestin
gteam

Integration testing
1. Testing of groups of components integrated to create a system or sub-system
2. The responsibility of an independent testing team
3. Tests are based on a system specification
6.4 Test data and test cases

• Test data: Inputs which have been devised to test the system.
• Test cases: Inputs to test the system and the predicted outputs from these inputs if the system
operates according to its specification.

6.5 Methods of testing


Test to specification:
1. Black box,
2. Data driven
3. Functional testing
4. Code is ignored: only use specification document to develop test cases
Test to code:
1. Glass box/White box.
2. Logic driven testing.
3. Ignore specification and only examine the code.

6.5.1 Black-box testing


• An approach to testing where the program is considered as a ‘black-box’.
• The program test cases are based on the system specification.
• Test planning can begin early in the software process.

- 37 -
Inputs causing
anomalous
Input test data I behaviour
e

System

Outputs which reveal


the presence of
Output test results Oe defects

• Types of Black Box Testing


1. Equivalence partitioning

• Input data and output results often fall into different classes where all members of a
class are related

I
n v
al
idi
n p
uts V
al
idi
n p
uts

S
yst
e m

O
ut
p u
ts

• Each of these classes is an equivalence partition where the program behaves in an


equivalent way for each class member
• Test cases should be chosen from each partition

2. Boundary value testing

• Partition system inputs and outputs into ‘equivalence sets’


If input is a 5-digit integer between 10,000 and 99,999, equivalence partitions are <
10,000, 10,000 - 99, 999 and > 10, 000
• Choose test cases at the boundary of these
sets
00000, 09999, 10000, 99999, 10001

- 38 -
6.5.2 White-box testing
• Sometime called structural testing or glass-box testing
• Derivation of test cases according to program structure
• Knowledge of the program is used to identify additional test cases
• Objective is to exercise all program statements (not all path combinations)
• Types of structural testing
1. Statement coverage -
• Test cases which will execute every statement at least once.
• Tools exist for help
• No guarantee that all branches are properly tested. Loop exit?
2. Branch coverage
• All branches are tested once
3. Path coverage - Restriction of type of paths:
• Linear code sequences
• Definition/Use checking (all definition/use paths)
• Can locate dead code
T
es
tda
ta

T
es
ts D
er
ive
s

C
om pon
ent Tes
t
c
ode ou
tputs

6.6 Levels of Testing

6.6.1 UNIT TESTING

1. Tests the smallest individually executable code units.


2. Usually done by programmers. Test cases might be selected based on code, specification,
intuition, etc.
3. Tools:
• Test driver/harness
• Code coverage analyzer
• Automatic test case generator

6.6.2 INTEGRATION TESTING

1. Tests interactions between two or more units or components. Usually done by programmers.
2. Issues:
• In what order are units combined?
• How do you assure the compatibility and correctness of externally-supplied components?
3. How are units integrated? What are the implications of this order?
• Top-down => need stubs; top-level tested repeatedly.
• Bottom-up => need drivers; bottom-levels tested repeatedly.
• Critical units first => stubs & drivers needed; critical units tested repeatedly.

- 39 -
6.6.3 SYSTEM TESTING

1. Test the functionality of the entire system.


2. Usually done by professional testers.

6.7DEBUGGING

Once errors are identified, it is necessary to first locate the precise program statements responsible for
the errors and then to fix them.
Various debugging approaches
1. Brute Force Method
2. Backtracking
3. Cause Elimination method
4. Program slicing

6.8Test Plan

A test plan is a general document for the entire project that defines the scope, approach to be taken,
and the schedule of testing as well as identifies the test items for the entire testing process and the
personnel responsible for the different activities of testing. The inputs for forming the test plan are:

1) Project Plan.
2) Requirements document.
3) System design document.

A test plan should contain the following:

1) Test unit specification


2) Features to be tested
3) Approach for testing
4) Test deliverables
5) Schedule and task allocation

6.9 Case Specifications

The test plan focuses on how the testing for the project will proceed, which units will be tested, and
what approaches (and tools) are to be used during the various stages of testing. Test case
specifications have to be done separately for each unit. Thus first the features to be tested for this
unit must be determined. The overall approach stated in this plan is refined into specific test
techniques that should be followed and into the criteria t be used for evaluation. Based on these, the
test cases are specified for the testing the unit.

- 40 -
Requirement Number Condition to be tested Test data and settings Expected Output

Exercises
1. Apply the unit testing to the various modules in the project using different set of test cases.
2. Rectify the errors in the coding of various modules using debugging techniques.

7. INSTALLATION AND MAINTENANCE


Implementation and maintenance are the last two phases of any software development life cycle, Implementation
is the process of installing the coded and tested software at the customer site.

This implementation phase consists of two steps:

7.1 Cut-over: It is the phase in which decision regarding the implementation is taken like which
modules are to be implemented first, what will the hardware and software requirements at
customer site for successful working of the developed software.

• Parallel conversion

• Direct cut-over

• Pilot conversion

• Phased conversion

•User training: In this phase training is provided to user about the working of the software.

7.2 Maintenance

A maintenance phase represents the portion of a system's mission time where the system is down and
maintenance actions are performed on some or all of its components.

7.3Types of maintenance

- 41 -
7.3.1 Corrective maintenance

o To rectify bugs observed while the system is in use.

7.3.2Adaptive maintenance

o To add new capability and enhancements when the customer need the product to run on
new platforms, or new operating systems.

7.3.3Perfective maintenance

To improve efficiency as it is required to support the new features that the user wants to
support, to change different functionalities of the system according to customer demands,
or to enhance the performance of the system.

7.4 Software Quality

A quality product is defined in terms of its fitness of purpose i.e. a quality product does exactly what
the users want it to do. The modern view of quality associates a software product with several quality
factors such as the following:

1. Portability: A software product is said to be portable, if it can be easily made to work in


different operating system environments, in different machines, with other software
products, etc.

2. Usability: A software product has good usability, if different categories of users (i.e.
both expert and novice users) can easily invoke the functions of the product.

3. Reusability: A software product has good reusability, if different modules of the product
can be easily be reused to develop new products.

4. Correctness: A software product is correct, if different requirements as specified in the


SRS document have been correctly implemented.

5. Maintainability: A software product is maintainable, if errors can be easily corrected as


and when they show up, new functions can be easily added to the product, and the
functionalities of the product can be easily modified, etc.

A quality management system (often referred to as quality system) is the principal methodology used by
the organizations to ensure that the products they develop have the desired quality. A quality system
consists of the following:

- 42 -
1. Managerial structure and individual responsibilities.

2. Quality system activities.

International standards such as ISO 9000 provide guidance on how to organize a quality system. ISO
9000 certification serves as a reference for contract between independent parties.

1) ISO 9001- This standard applies to the organizations engaged in design, development,
production, and servicing of goods. This is the standard that is applicable to most software
development organizations.

2) ISO 9003- This standard applies to organizations involved only in installation and testing of the
products.

8. CASE STUDY OF A PROJECT:


ONLINE LIBRARY MANAGEMENT SYSTEM

- 43 -
8.1 Requirement Analysis
Library is place where all kind of books are available. Intranet Library Management system is a
web based application. This system contains list of all books and can be accessed by remote users
concurrently from anywhere in the campus. But for that users must be registered user. This system is
three tier architecture.
Clients send requests. On receiving the request server processes it and extracts the data from
database and sends the result back to the client. This system provides separate interface and login for
librarian, students, faculty and assistants is restricted. Students and faculty can search for books and
renewal books online. They can recommend for new books by just sending messages to the Librarian and
assistants can modify database but access to the database for assistants is restricted.

8.2 Design Phase


Online Library management system is where the users can take the required books through online.
Previous library system is a time consuming process.
To get the books through online process user has to register his name in this system. And also provides
home delivery process i.e, user can get the books at home & no need to go for the library.

Various problems of physical system are described below

1) If one is not very careful then there is a possibility of issuing more than one book to user.
2) There is a possibility of issuing a book to a user, whose membership is not there.
3) When a user requests for the book, one has to physically check for the presence of a book in the
library.
4) Answering management query is a time consuming process.
5) Daily keeping a manual record of changes taking place in the library such as book being issued,
book being returned etc can become cumbersome if the Library size is bigger.

8.2.1 Benefits of Proposed System

1) Easy search of book in the online library.


2) Avoid the manual work.
User need not go the library for Issue any kind of book, he can renewal the book online

8.2.2 Design Principles And Explanation


8.2.2.1 LOGIN:

Using login id and password user can use the Library where user can Renewal and search for the book.
He can issue the book online and even he get the date On he has return the book if the user has failed to
return the book on the specified date then librarian has put fine on the user.

8.2.2.2 REGISTRATION:
In the Registration module, user has registered himself by supplying his personal information which gets
store in data base which are using as Backend. By registering himself user will get his login id and

- 44 -
password so that he can access Library online. Separate Register form should be designed for separate
user (student, faculty, and librarian, assistant) and separate login has to provide if the users are student
.Then student id should be sh001.

8.2.2.3 LIBRARIAN AND ASSISTANT:


Librarian and Assistant is the person who manages the Library. Library has the permission that he can
access the database but in case of Assistant he can’t. There are some task which are performed by the
Librarian and Assistant like:

1) Addition of new book.


2) Modification of book.
3) Deletion of the book.
4) Displaying Details of Book: In this module, we can view the List of book along with the following
details.
A. Name of the book.
B. Price of the book.
C. Edition of the book.
D. Author of a book.
E. No of book available.

8.2.3 MODULE DESCRIPTION

New Registration process: New user has to be registered his name and details, and gets Reg id with that
he gets required books.

Search for the books: After getting a reg id he can able to search for the required books either by
searching name, by category or by the index.

Request for a book: User has to give his reg id to place a request to get the books what he needs

Renewal a book: If the user needs a book again then he can place request for the renewal process.

Return a book: User returns the books. He is going to be charged some penalty, if he doesn’t return the
book in time.

Status of Received Books: User can check the books that he has taken.

Account Status: User checks duration of his account when it is going to be expired.

Application for Account Renewal: User will renewal his account when account date is expired.

Application for Cancel An Account: User will cancel his account by using this application.

Views: User can able to complaint, suggest or he can place any request regarding Online library system.

8.2.4 DATA FLOW DIAGRAMS

- 45 -
A. Data Flow Diagram (Book status & Branch)

Valid User Db User Db3 Branch


1 db db

Renew
Search Request
P2 al P3
for P1 for

P4
Retur Status
Accou Search
P6
n nt of P5 for
receive
status
d

Db Book
2 db

B. Data Flow Diagram (Account status)

- 46 -
Valid User

Application Application
Account
P7 for acc for cancel
P9
status P8renewal an account

Account
Db4
db

Views

P10

C. DataP1Flow Diagram (Ordinary User)


P2 P3

- 47 -
Search
Db1 Ordinary user
forBranch Db2 Registration
New Enquiry for
registration registration
process process

- 48 -
D. Data Flow Diagram (Operator)

Operator

Renewal
Checks P2 Verify the
P1 P3
the The forms
account
status

Checks for
Db1 Account db Book
P4
availability
Db3 Registration db

Db2 Book db

- 49 -
8.2.5 E-R DIAGRAMS

P/w Address Contac

U name t no

Gender Issue
U id
date
User
Book
Branch Branch
id name
H H
name a a
s s
H Return a book
Branch db a
s

Penalty
Locati Contac
Return
on
t no
date
H H Accoun
Request a book
a a
s s t no
Renewal of a book Return
Book
Extend name date
Boo Account
k
ed Issue status
nam date Amoun
H H
e date t
a a
Issue s s
date Bank
Receiv name
ed
books
Views
Book db
Book
Complai Issued
Request
s name
nts books

Suggestio Book id Book


Book
ns categor
author
y
E R Diagram(Operator)

h
- 50 -
Account a
Book Book Received BranchAmou Total
Service
Book id Bank id s Acc noid
Reg
author nameBook books no Account
Operator
name nt Registratio
amount
duration
h h
a a
s s

Book
category

Issued
books

8.2.6 DATA DICTIONARY

- 51 -
USER_DETAILS TABLE:
This is the “User details”. Whenever a user has been registered, those details can be stored in this data
base. It consists of reg no of user that can be provided by the online system, pwd, registration date, last
access date, status, valid up to.

FIELD NAME DATA TYPE

REG_NO TEXT
PWD
TEXT
DATE_OF_REG
DATE/TIME

DATE_OF_L_ACCEESS DATE/TIME

STATUS TEXT

VALID_UP_TO DATE/ACCESS

REG_FORM_DETAILS TABLE:

This is a ”Reg_form_details” table. Whenever a new user needs to register his name he has to fill
up these details &those values can be stored in this table. Mainly it consists of Reg no, user
name, hno, street, city where he is living, date of birth, gender, phone no, mailed, occupation of
the user.

FIELD NAME DATA TYPE

REG_NO TEXT

U_NAME TEXT

HNO TEXT

STREET TEXT

CITY TEXT

DATE_OF_BIRTH DATE/TIME

GENDER TEXT

PH_NO NUMBER

MAIL_ID TEXT

- 52 -
OCCUPATION TEXT

REG_DETAILS TABLE:
This is a “reg details “ table. Once a user has got a reg id, has to fill some details such as service duration,
home delivery, mode of payment, account no. & these all are stored in this table.

FIELD NAME DATA TYPE

REG_NO TEXT

BRANCH_CODE TEXT

SERVICE_DURATION DATE/TIME

HOME_DELIVERY TEXT

TOT_AMT NUMBER

MODE_OF_PAY TEXT

ACC_NO TEXT

SERVICE_DETAILS TABLE:

This is a “service details table”. User can choose duration, service. According to that
corresponding values can be displayed and those values can be stored in this table.

FIELD NAME DATA TYPE

DURATION TEXT

COST NUMBER

HOME_DEL_COST NUMBER

BOOK_REQUEST_DATABASE TABLE:

- 53 -
This is a “Book _request_db” tables. Whenever a user has renewal or returned a book. Those
vales can be stored in this table.

FIELD NAME DATA TYPE

REG_NO TEXT

BOOK_ID TEXT

BOOK_NAME TEXT

ISSUE_DATE DATE/TIME

RETURN_DATE DATE/TIME

RENEWAL NUMBER

STATUS TEXT

BRANCH_DETAILS:

This is a “Branch details table”. Whenever a user or employee need to know the information
about branches, they will get the details from this table, consists of branch code, branch name,
location of that branch, contact no, mail id.

FIELD NAME DATA TYPE

BRANCH_CODE TEXT

BRANCH_NAME TEXT

LOCATTION TEXT

CONTACT_NO NUMBER
MAIL_ID TEXT

BOOK_DB TABLE:

This is a “Branch details” table. It consists of book id, book name, book author, price of a book,
category of the book, status i.e., available or unavailable.

FIELD NAME DATA TYPE

- 54 -
BOOK_ID TEXT

BOOK_NAME TEXT

BOOK_AUTHOR TEXT

BOOK_PRICE NUMBER

CATEGORY TEXT

STATUS TEXT

EMP_DETAILS TABLE:

This is a “employee details” table. Mainly consists of id of an employee, employee name, pwd,
branch.

FIELD NAME DATA TYPE

EMP_ID TEXT

EMP_NAME TEXT

PWD TEXT

BRANCH TEXT

8.3 Coding
P1 P2 P3

- 55 -
Search
Db1 forBranch Db2 Registration
On writing the code in the suitable programming language various interfaces can be generated at
the front end.

HOME PAGE

This is a home page; valid user submits his Regid & password, then login into User login Page.
Also contains about us page, Branch details, Services, Terms & Conditions, Enquiry form, new
registration form, and Employee login page.

- 56 -
REGIST

- 57 -
REGIST

- 58 -
USE

- 59 -
SEARCH FOR A BOOK (BY CATEGORY)

This is a” Search for a book (by category)” form .After the valid user login into this page. He can
able to search a book category wise. The user has to give the category and then click on “submit”
button .The book details will be displayed on the screen.

REQUEST FOR A BOOK

- 60 -
This is a “Request for a book” form. Once the user has searched for a book then he goes to
request that book. If the book is available then it will show the issue date & return date. We have
to select either home delivery process or manual process .when user submits all these he can
enter into another form.

RENEWAL OF A BOOK

- 61 -
This is a” Renewal a book” form. If the user again needs a book he can go for this process. Not
only issue date but also extended date will be displayed. When the user submits all those things
he can enter into another msg form.

STATUS OF RECEIVED BOOKS

- 62 -
This is a “Status of received books” form. If the user needs to know how many books has he
taken then whatever the books has been issued to him those details will be displayed.

ACCOUNT STATUS

- 63 -
This is a “Account status” form. If the user needs to know his account details. This form will be
displayed, contains his name, branch no, date of registration, registration valid up to.

EMPLOYEE LOGIN FORM

- 64 -
This is a “Employee login form”. If an Employee enters his id & password then submits then he
can enter into another form.

VIEWS

- 65 -
This is a” Views” form. If the user needs to give any complaints, suggestions and requests then
he can go for this page.

8.4 Testing

The various queries that can be applied to this project are:

1) Verify user name and password.

- 66 -
2) All the registration details like bank account no etc.

3) Valid student id.

4) The return date and the extended date of the book.

5) The calculation of penalty amount.

6) Checking whether the penalty amount does not exceed the deposited amount. If yes make sure the
student deposits full amount.

7) During account renewal the account has to be checked that it does not has any pending books.

8) During account cancellation the account has to be checked that it does not has any pending books.

9) Employee id and password should be correct.

10) If a user click on complaints then those complaints of the user must be removed.

Results

Requirements Number Condition to be tested Test data and settings Expected Output

1(a) Password entered ….. Valid Output( 5 )

1(b) Password entered …….. Invalid Output( 8 )

2(a) Bank Account B5001 Valid Output


Number

2(b) Bank Account B50010 Invalid Output


Number

3(a) Student id R0001 Valid Output

3(b) Student id R0000001 Invalid Output

8(a) Employee id B5001 Valid Output

8(b) Employee id B50010 Invalid Output

9. References

1. Roger Pressman, “Software Engineering”, McGrawHill, 2008.

2. Pankaj Jalote, “An Integrated Approach To Software Engineering”, Narosa, 2010.

- 67 -
- 68 -

S-ar putea să vă placă și