Software Engineering

Software Requirement Specification SRS on E-Commerce

Software Requirement Specification (SRS) on E-Commerce website / application provides detail view of problem statement, objectives, design and functional and non functional requirements. This e-commerce system provides easy access of information regarding the categorized product. It also helps to buy, sells, chat, verify and validate customer details, transact and generate report with legal contract.

E-commerce website categorize product and services as per their requirement, parties may chat with each other, confirms the deal, add to cart and transact with or even the platforms on which they operate.

Name of Project:

SRS Prepared by:                                    Date of SRS Prepared:

SRS Reviewed by:                                   Date of SRS Reviewed:


Software Requirement Specification SRS is designed document and describe the agreement between the customer and the developer regarding the specification of e-commerce site.

1.1 Purpose:

E-commerce is an emerging and fast growing technique which is used to buy and sell categorized product or services, chat, transact, generate report and track history of every customer.

1.2 Scope:

E-commerce is an interface between customer and marketer, which can be used for any kind of business product or services.

1.3 Definitions, acronyms & abbreviations:

E – Electronic

1.4. References:

E-commerce sites (example: Amazon, Flip cart, eBay etc.)

1.5 Overview:

E-commerce is a web based application or mobile application implemented for easy to access product or services around the corner of world, buy, sell, chat, transact, get service and maintains records. Using record we can track customer and inform customized and future offers and discount.
Legal contract department prepare policy contract and sends to customer after payment has received from the customer.


2.1 Product Perspective:

E-Commerce website or application supports a number of functions for both the consumer and marketer

2.1.1 System interfaces:
2.1.2 User Interface
2.1.3 Hardware:
2.1.4 Software:
2.1.5 Communication:

Can communicate via alert, emails, text message etc.

2.2. Product functions:

Provides following list of functions:

  • Allow to login and become prime member
  • Show categorized product with detailed specification
  • Available function to compare different product
  • Add to cart
  • Check offers
  • Make Wish list
  • Remind me later
  • Online Transaction
  • Chatting with parties
  • Maintain records
Posted by Kumar in Software Engineering, 1 comment

What is an Entity Relationship Diagram (ERD)

An Entity Relationship Diagram (ERD) is a type of flow chart which shows the relationship of entity sets stored in database. With the help of ER diagram we can represent any object like entities, attributes of an entity, relationship sets, and attributes of relationship sets etc. An Entity Relationship Diagrams are most often used to design or debug relational databases in any field.

ER diagram used to illustrate logical structure of database.

It visualizes how an entity of the system relates with each other. Visualization can be represented with the help of following terms

1] Entity

2] Relationship and Cardinality

3] Attribute

1] Entity:-

A distinguished object can be shown as an entity. I other word, definable object, things, concept or event that can have data stored about it, is called as entity.

Entity is a noun.

Example: – Customer, product etc.

It is represented by rectangle.

2] Relationship and Cardinality:-

Relationship refers the association between two or more than two entities. It helps to identity relations between entities.

It works like verb.

It is represented by diamond.

Example:- one customer can buy many products

Relationship categories into two types:-

A] Strong Relationship

B] Weak Relationship

Cardinality specifies how many instances of an entity related with other entity. It defines numerical relationship between entities or entity set.

Cardinal relationship divides into three main types:-
A] One to One

B] One to Many or Many to One

C] Many to Many

3] Attributes:-

Attributes are associated with properties or characteristics of entity. It is directly connected to the entity.

It is represented by ellipse

Example:- Students has attributes like name, address, contact number etc.

Attributes are divided into three types:-

A] Single value attributes

B] Multi-values attributes

C] Derived attributes

ERD diagram can be used in following way:-

I] Database design

II] Database troubleshooting

III] Business information system

IV] Process re-engineering

V] Research


Posted by Kumar in Software Engineering, 0 comments

What is Data flow diagram (DFD)

Data flow diagram (DFD) is a graphical representation of how data is processed by a system in terms providing input and collecting output. It represents the flow of data through an information system, modeling its process aspects. Data flow diagram can be dividing into more detail using DFD levels and layers which gives clear look with deep view and easy access.

Data flow diagram represents the flow of information, where data comes from, where it goes and where it is stored.

A DFD is often used as a preliminary step to create an overview of the system without going into great detail, which can later be elaborated.

It is designing tool used in top-down approach to system design. So it is used for both analysis and design phase of SDLC.
The purpose of DFD is clarifying system requirements and identifying major transformations of system.

It is also called as bubble chart.

DFD can be used in -:
1] Use of DFD in software engineering-:
With the help of DFD, developers and designers can use it to write pseudo code, which is combination of English and coding language. Pseudo code facilitates the development of the actual code.

2] Use of DFD in business analysis-:
It is used to analyze existing system and find deficiencies.

3] Use of DFD in business process re-engineering-:
DFD used to model a better, more efficient flow of data through a business process.

4] Use of DFD in agile development-:
In agile development DFD can be used to visualize and understand business and technical requirements after merging new requirement and plan the next steps

5] Use of DFD in system structure-:
It is used to analyze the system requirement and improve system technical and non technical requirement basis.

The symbols of DFD used / named after their creators:
1) Yourdon and Coad

2) Gane and Sarson

3) Yourdon and DeMarco

Following symbols depict the four components or notations of data flow diagrams.
1] External entity – Objects outside the system, with which the system communicates

2] Process – Transforms incoming data flow into outgoing data flow.

3] Data flow – Information moves from one to another

4] Data store – Data storage or data files

Posted by Kumar in Software Engineering, 0 comments

Software Requirement Specification (SRS) on Life Insurance Management System

Software Requirement Specification (SRS) on Life Insurance Management System provide detail view of web based application. This online insurance management system provides easy access of information regarding the policy to customer, employee and agent. It also helps to verify and validate customer details and generate report with legal contract and payment.

Name of Project :- Life Insurance Management System Prepare by :- Mr. Kamlesh


1. Introduction :-
1.1. Purpose :-
Life insurance system has provides automatic insurance policy to the Indian people. LIS includes customer, agent and employee from verification and legal contract department. LIS provides system interface to ease some of the processes to the customer, agent and employee.

LIS is web based application implemented for sending customer details through agents to the verification department; further verification department will enter all the details of the customer in to the system and sends the report to the legal contract department. Legal contract department prepare policy contract and sends to customer after payment has received from the customer.

1.2. Scope :-
This system allows the customer’s to maintain their insurance policy, online payment for policy premium. Agents also part of the system that is associated with customer as well as Insurance Company who plays a mediator between customer and insurance system. Employees from the insurance company are the part of the system.

1.3. Definitions, acronyms & abbreviations :-
LIS: Life Insurance System
SRS: Software Requirement Specification
GUI: Graphical User Interface

1.4. References :-
LIC of India online system.

1.5. Overview :-
LIS is web based application implemented for sending customer details through agents to the verification department; further verification department will enter all the details of the customer in to the system and sends the report to the legal contract department.

Legal contract department prepare policy contract and sends to customer after payment has received from the customer.

2. Overall description :-
2.1. Product perspective

2.1.1. System interfaces :-
The Life Insurance System has four active actors and one cooperating system. The Customer, Agent and Employee online Insurance through the Internet.

2.1.2. User interfaces :-
1. User interface for customer insurance report form.

2. UI for policy agent for sending medical report of customer

3. UI for verification department employee

4. UI for legal contract department employee

2.1.3. Hardware interfaces :-
The System must run over the internet, all the hardware shall require to connect internet will be hardware interface for the system. As for e.g. Modem, WAN – LAN, Ethernet Cross-Cable.

2.1.4. Software interfaces :-
The system is on server so it requires the any scripting language like PHP, VBScript etc. The system require Data Base also for the store the any transaction of the system like MYSQL etc. system also require DNS(domain name space) for the naming on the internet. At the last user need web browser
for interact with the system.

2.1.5. Communications interfaces :-

2.1.6. Memory constraints :-
Memory constraints are Minimum because it’s a web based application

2.2. Product functions

2.3. User characteristics :-
Customer need have minimum computer knowledge to operate system and do payments online. Agent needs the knowledge of computer as well as insurance policy domain Insurance company employees need knowledge of Insurance domain as well as computer.

2.4. Constraints

2.5. Assumptions and dependencies

2.6. Apportioning of requirements

3. Specific Requirements :-
3.1 External interface requirements

3.1.1 User interfaces :-
UI-1: The Life Insurance System shall provide registration form for customer, agent and employee.

UI-2: Agents sends the request all the details of medical report of customer to verification department.

UI-3: verification department gets requirement from the agent, the employee from the verification department further verify it and approve or disapprove the application.

UI-4: Life Insurance System will provide interface for verification department employee to send the status report to finance and legal contract department.

UI-5: The Life Insurance System will provide a help link that will download a user manual and project it onto the screen in case the user has difficulty in using the program.
UI-6: The customer will be notified by the system that their insurance policy.

3.1.2 Hardware interfaces
3.1.3 Software interfaces

3.1.4 Communication interfaces
CI-1: The security of a user must be consistent through the use of passwords.

CI-2: The Life Insurance System will signal the mail message generator when it needs to send an email to the Customer as well as agents.

CI-3: The Life Insurance System will communicate to the database through a wireless Ethernet system.

3.2 Specific requirements
3.2.1 Sequence diagrams

3.2.2 Classes for classification of specific requirements

3.3 Performance requirements
There is no performance requirement in this system because the server request and response is depended on the end user internet connection.

3.4 Design constraints

3.5 Software system attributes
3.5.1 Reliability :-
The system provides storage of all databases on redundant computers with automatic switch over. The reliability of the overall program depends on the reliability of the separate components.

The main pillar of reliability of the system is the backup of the database which is continuously maintained and updated to reflect the most recent changes. Thus the overall stability of the system depends on the stability of container and its underlying operating system.

3.5.2 Availability :-
The system should be available at all times, meaning the user can access it using a web browser, only restricted by the down time of the server on which the system runs. In case of a of a hardware failure or database corruption, a replacement page will be shown. Also in case of a hardware failure or database corruption, backups of the database should be retrieved from the server and saved by the administrator. Then the service will be restarted. It means 24 X 7 availability.
3.5.3 Security :-
System implemented on MVC architecture and maintains all the sessions for better security and performance. Online payment implements through payment gateways which used 128 SSL encryption.
3.5.4 Maintainability :-
A commercial database is used for maintaining the database and the application server takes care of the site. In case of a failure, a re-initialization of the program will be done. Also the software design is being done with modularity in mind so that maintainability can be done efficiently.
3.5.5. Portability :-
The application is HTML and scripting language based. So The end-user part is fully portable and any system using any web browser should be able to use the features of the system, including any hardware platform that is available or will be available in the future. An end-user is use this system on any OS; either it is Windows or Linux. The system shall run on PC, Laptops, and PDA etc.

3.6 Other requirements

4. Supporting information :-
4.1 Table of contents and index

4.2 Appendixes

Posted by Kumar in Software Engineering, 2 comments

Compare incremental vs spiral vs RAD vs waterfall model

Following are the to 14 points to Compare incremental vs spiral vs RAD vs waterfall model -: To achieve structured and controllable software development efforts, various development models are being used. All models are acceptable in development process because of systematic way to accomplish in orderly way. To develop product development project in SDLC, each model of SDLC has its own unique features.

All models are used to manage complexity during software development process. The aim of all models are to deliver quality product.

Following are the points focus on how incremental, spiral, RAD and waterfall models are differed from in terms of requirement, planning, duration required, strategies applied, cost, testing, deployment etc.

S.N Features Incremental Spiral RAD Waterfall
 1  Requirement  Beginning  Beginning  Time boxed release  Beginning
2  Planning  Yes Yes Not require Yes
3  Documentation  Yes Yes Not necessary Yes
4  Handle large project  Not necessary  Yes  Not necessary  Not necessary
5 User involvement Intermediate High At beginning only At beginning only
6 Returning to early phase Yes Yes Yes No
7  Cost Low High Low Low
8 Modifications Easy Easy Easy Difficult
9 Duration Long Long Short Long
10 Testing After each iteration After each iteration After coding After coding
11 Risk low Medium to high low High
12 Maintenance Easy Hard Easy Easy
13 Reuse Up to some extent Up to some extent Yes Up to some extent
14 Framework Iterative and Linear Iterative and Linear Linear Linear
Posted by Kumar in Software Engineering, 0 comments

Spiral Model in SDLC

What is Spiral Model in SDLC -: Spiral model in SDLC is a software development process. It is integration of incremental (iterative) process model and waterfall (sequential linear) development model. Spiral model emphasized on high risk and used in large project development which involve continuous enhancement. It refines specific activities repeatedly passes through continuous (spiral) iterations.

Spiral model in software development is also called as meta model since it encompasses all other life cycle models.

It is realistic approach to the development of large scale system and software. It might be used represent “product development project”.

Using spiral model in SDLC, software is designed and developed in a series of evolutionary releases.

It is divided into set of framework activities. Each framework activities represented one segment of the spiral path. The circuits around the spiral model are -:
A] Communication

B] Planning

C] Modelling

D] Construction

E] Deployment

As this evolutionary process start, the development team performs activities that are implied by a circuit around the spiral in clockwise direction.

A] Communication -:
Gathering and very well understand all business requirements. Communicate collected information to the different teams to understand, prepare  and identify process.

B] Planning -:
Schedule, analyse and estimate product and process based on collected requirement.

C] Modelling -:
Conceptual design and build system architecture as per the specified requirement.

D] Construction -:                                                                                                                                          Write code and test according to design and based on requirement.

E] Deployment -:
Deploy system for open market. Collect feedback and if and changes suggest then update in next version.

When Spiral model used -: Spiral model used in following scenario:
– When project is in large scale

– When requires significant changes

– Where requirement is bit complicated

– Where continuous risk evaluation needs

This model is very helpful where large scale project is going to develop. It can enhance easily and deliver small prototypes through iterations (Spiral). Spiral model requires expertise to schedule, estimate risk throughout product development project.

Posted by Kumar in Software Engineering, 0 comments

Rapid Application Development RAD Model in SDLC

Rapid Application Development RAD model in SDLC is a software development process and type of Incremental Process Model. It emphasizes a short development cycle. The RAD model is a “high speed” adaption of the Waterfall Model, in which it is achieved by using a component based construction approach. It is developed faster and of higher quality through requirement gathering, early planning, well designed and construction, reuse and deployment followed by review.

If requirements are clear, well understood and project scope is constrained, RAD process enables a development team to create a fully functional system within a short time period.
RAD model maps into the basic framework activities like
A] Communication
B] Planning
C] Modelling
D] Construction
E] Deployment

A] Communication -:
It works to understand the requirement, business problem and information that must accommodate.

B] Planning -:
It is very essential part of development to run multiple team works parallel on different system. It is used to conduct smooth functionality.

C] Modeling -:
It establishes design representation of system that serves to RAD model. It encompasses into three major phases viz.
I] Business Modeling -:
It is designed to represent flow of information and distribute information between different business channels.

II] Data Modeling -:
Information is gathered, analyzed set of data object. It defines and establishes relation between data objects.

III] Process Modeling -:
Defined data object is converted into business information to achieve objective.

D] Construction -:
It emphasizes the use of the pre-existing software component and code generation.

E] Deployment -:
Deploy and ready to access system after construction and testing.

When RAD model used -:
RAD model is used when all requirements are clear and well understood. It should be designed and developed within short time period.

Drawback of RAD model -:
1. Sufficient human resource require  to complete large product
2. It will fail if not committed to RAD activities
3. It will be problematic when it is not modularized and building properly
4. It may not be appropriate when technical risk are high

Posted by Kumar in Software Engineering, 0 comments

Incremental Process Model

Incremental process model of software engineering provide, a limited set of software functionality to users quickly and then refine and expand on the functionality in later software release.

The product through iterative process model in SDLC , is decomposed into number of components, each of which is designed and build separately and deliver to the client when it is complete.

If modifications are required, it is to be done in next release through linear sequences or “increments” of software.

The incremental process model combines elements of the waterfall model applied in an iterative approach.

It delivers a series of releases called increments that provides progressively more functionality for the customer as each increment is delivered to the client.

Phases of incremental process model are as same like waterfall model, which carried out increments in each phases of -:
A] Requirement Gathering and analysis
B] Planning
C] Designing
D] Coding
E] Testing
F] Deployment
G] Maintenance
First increment is core product that is, basic requirement is addressed, but many supplementary features remain undelivered.

As a result of use and evaluation, a plan is developed and delivered in next increment.

Through additional enhanced features and functionality, core product should be meeting and satisfy customer needs.

This process is repeatedly following the delivery of each increment, until the complete product is produced and delivered to the customer.

When it is used -:
– All requirements should be clearly understood
– Modifications are required early release
– While team resources are limited and not trained or skilled

Advantages of Incremental process Model -:
1] Progress and parallel development can be measured and planned
2] Easy to manage risk
3] Easy to test during each increments and regression testing should be conducted
4] Customer can respond to review the product for needful changes

Disadvantages of Incremental process Model -:
1] Cost may exceed because of incremental raised issues
2] Need to good understand, plan and design
3] More and skilled resource required

Posted by Kumar in Software Engineering, 0 comments

Waterfall Model

Waterfall model is oldest paradigm proposed by Winston Royce in 1970 for software engineering used software development process, in which sequentially developed through series of phases. The series of phases includes requirement gathering and analysis, planning, designing, coding, testing, deployment and maintenance.

All requirements are well understood, when work flows from requirement gathering through deployment in linear approach.

It is also called as “classic life cycle” or “linear sequential life cycle” that begins with customer specification of requirement and progresses through series of phases in ongoing support (feedback) to complete software.

All phases are progresses steadily downwards like waterfall and each phase must be completed before moving to the next phase. The phases are as -:


A] Requirement Gathering and Analysis-:
All possible requirements should be gathered and analyse about customer needs, define and clearly state terms and documented in Software Requirement Specification.

B] Planning -:
It includes estimating, scheduling and tracking process based on analysed requirement.

C] Designing -:
Detailed system architecture or design can be produced on the basis of collected requirement.
It is done by the designer.

D] Coding -:
Construct the code as per the design or system architecture pre-defined coding standard.
It is done by the programmer or development team.

E] Testing -:
Test and validate constructed code with the help of compiler, debugger, interpreter and media editor.
It is tested by tester and test to find out defect and mismatch requirement (functional and non functional).

F] Deployment -:
Once functional and non functional requirement test, the product is deployed into the market for customer uses.

G] Maintenance -:
If some issues raised after customer uses, delivery support feedback should be provide to development team to enhance product in better software version.
It is done to deliver modified version to the customer.

When it is to be used -:
It is used only, when all requirements well understood, clearly stated, defined and fixed.

Advantages of Waterfall Model -:
1. It is simple, easy to understand and use.
2. It is processed systematically one by one after successfully completed of first.
3. Requirement should be very well understood and review each process.

Disadvantages of Waterfall Model -:
1. It is very difficult to go back and change something after reviewed each phase.
2. High amount of risk and uncertainty.
3. It is poor model and long time ongoing project.

Posted by Kumar in Software Engineering, 0 comments

What is Agile Scrum Methodology

Agile Scrum Methodology that incorporates the framework activities like requirement, analysis, design, evolution and delivery. Agile Scrum Methodology emphasizes project priorities, partitioned work unit, communication and frequent customers valuable feedback.

It adapt feedback loop to deal with complexity of work and risk. Complex work is divided into chunks, plan to implement typically in 2-3 weeks, asses progress through meeting to focus timely delivery.

Scrum principles by ADM96 are used to guide development activities are -:
– Small working teams are formed to communication and reduce overhead
– Process must be adaptable
– Constant testing and documentation performed after increment
– Development work and resources are partitioned
– Ability to declare a product done

Scrum emphasizes the use of software process pattern that proven effective with project with firm time line and changing requirement which defines set of development activity.
1. Backlog -: List of project requirement.

2. Sprints -: Work units that are required to achieve a defined requirement in predefined time.

3. Scrum Meeting -: It is held to asses progress of activity.

4. Demos -: It deliver software increment to the customer.

Scrum Role -:
1. Product Owner
2. Scrum Master
3. Team
1. Product Owner –: Product owner is responsible for continuous communication, planning,  vision and priorities to the development team.

2. Scrum Master -: It leads the meeting and asses the response of individual team member during the development.

3. Team -: It responsible for self organizing to complete assigned work.

Posted by Kumar in Software Engineering, 3 comments