Question

In: Computer Science

The goal of Requirements Engineering in the software development process is described below - •Determine exactly...

The goal of Requirements Engineering in the software development process is described below -

•Determine exactly what the client wants. This requires much interaction (interviews and questionnaires)

•What requirements are considered but not how to realize them

•Identify functional and non-functional requirements

•Extensive reviews to check that requirements satisfy client needs

From the Requirements Engineering phase, we obtain Requirements specification: the requirements will be precise (uniquely interpretable), complete (everything is specified) and consistent (no contradictions). It is the basis of contract between customer and developer.

Based on the above information, suppose you are working on building a new hypertext browsing system (web browser). Write the Requirements Specification for a hypertext browsing system (web browser).

Please help with this question and explain in your own words to avoid plagiarism. Thanks.

Solutions

Expert Solution

1. Introduction

1.1 Purpose

This document aims at defining the overall software requirements for application ‘Web Browser’. The final product will have only features/functionalities mentioned in this document and assumptions for any additional functionality/feature should not be made by any of the parties involved in developing/testing/implementing/using this product. In case if it is required to have some additional features, a formal change request will need to be raised and subsequently a new release of this document and/or product will be produced.

This specification document describes the capabilities that will be provided by the software application ‘Web Browser’. It also states the various required constraints by which the system will abide. The intended audiences for this document are the development team, testing team and end users of the product.

1.2 Scope

The software product ‘Web Browser’ will be a windows application that will be used for browsing, surfing, and downloading applications and other documents over the internet and opening any HTML page over intranet. The application will manage the browsing and downloading, history, username and passwords for different site accounts and pop-ups. It also manages the user settings which the user has before closing the application last time. It will not affect the programming of other applications that are running with it. The application makes surfing the internet joyful and very exciting.

1.3 Definitions, Acronyms, and Abbreviations

1.3.1 Definitions

HTML                - HTML is a type of computer language that is primarily used for files that are posted on the internet and viewed by web browsers.

WWW - The WWW is the universe of network-accessible information, an embodiment of human knowledge.

SRS                     -     A SRS is a complete description of the behavior of the system to be developed.

DBMS -   DBMS is a computer software program that is designed as the means of managing all databases.

Internet -   -   Internet is network of networks that consists of millions of private and public, academic, business, and government networks of local to global scope that are linked by a broad array of electronic and optical networking technologies.


1.3.2 Acronyms and Abbreviations

HTML

-   Hyper Text Markup Language

IEEE

-   Institute for Electrical and Electronic Engineers

WWW

-

World Wide Web

SRS

-

Software Requirements Specification

DBMS

-

Database Management System

NMS

-

Network Management Systems

Arch.

-

Architecture

XML

-

Extensible Markup Language

LAN

-

Local Area Network

URL

-

Uniform Resource Locator

1.4 References

IEEE Recommended Practice for Software Requirements Specifications – IEEE Std 830-1993

www.microsoft.com – For Internet Explorer www.google.com – For Google Chrome

www.mozilla.com – For Firefox Web Browser www.opera.com – For Opera Web Browser

1.5 Overview

The rest of this SRS document describes the various system requirements, interfaces, features and functionalities in detail.

2. The Overall Description

2.1 Product Perspective

The application will be a window-based, self-contained and independent software product.

Frontend

Backend

Web Browser

(with address entry facility Connection Database and

(History, Passwords,

other tools)

User Settings)

2.1.1 System Interfaces

The user system will send a request (an address by using web browser) to the server. On the basis of this request, the server gives a response (a web page accessed through web browser) to the user.


2.1.2 Hardware Interfaces

Screen resolution of at least 1024 × 768 – required for proper and complete viewing of screens. Higher resolution would not be a problem.

Support for modem and Ethernet card – that is, appropriate drivers of compatible modem and Ethernet card are installed for accessing web pages over the internet or intranet.

Standalone system or network based is not a concern as application will run on any of these.

2.1.3 Software Interfaces

A windows-based operating system (Windows XP/Vista/7) SQL Server 2005 Compact Edition as DBMS – for database.

Visual Studio 2008 Professional – C#.NET – for coding/developing the software.

Software mentioned in last two points will be required only for development of the application. The final application will be packaged as an independent setup program that will be delivered to the client.

2.1.4 Communications Interfaces

The application ‘Web Browser’ will support the following interfaces/network protocols for maintaining communication between client and the server:

1.

IP

: IP (Internet Protocol) is the primary protocol for delivering

distinguished protocol datagrams (packets) from source to

destination solely based on their addresses.

2.

TCP

: TCP (Transmission Control Protocol) provides reliable,

ordered delivery of a stream of bytes from a program on one

computer to another program on another computer. It

controls segment size, flow control, the rate at which data is

exchanged, and network traffic congestion.

3.

UDP

: UDP (User Datagram Protocol) provides an unreliable

service and datagrams may arrive out of order, appear

duplicated, or go missing without notice. With UDP,

computer applications can send messages (datagrams) to

other hosts on an IP network without requiring prior

communications.

4.

BOOTP

: BOOTP (Bootstrap Protocol) is a network protocol used

by a network client to obtain an IP address from a

configuration server.

5.

FTP

: FTP (File Transfer Protocol) is used to exchange and

manipulate files over a TCP/IP based network. It is built on

client-server arch. and utilizes separate control and data

connections between the client and server applications.

6.

HTTP

: HTTP (Hypertext Transfer Protocol) is a protocol for

distributed, collaborative, hypermedia information systems.

It is used for retrieving inter-linked resources, called

hypertext documents, led to the establishment of the WWW

in 1990.

7.

IMAP

: IMAP (Internet Message Access Protocol) is one of the

protocols for e-mail retrieval. It supports both on-line and

off-line modes of operation. IMAP operation allows multiple

clients to access the same mailbox.

8.

NNTP

: NNTP (Network News Transfer Protocol) is a protocol

used for transporting Usenet (a worldwide distributed

internet discussion system) news articles between news

servers and end-user client application for reading.

9.

NTP

:

NTP (Network Time Protocol) is a protocol for

synchronizing the clocks of computer systems over packet-

switched, variable-latency data networks.

10.

POP

:

POP (Post Office Protocol) is a protocol used by local

e-mail clients to retrieve e-mail from a remote server over a

TCP/IP connection. It has been developed through several

versions, with version 3 (POP3) being the current standard.

11.

SMTP

: SMTP (Simple Mail Transfer Protocol) is an internet

standard for electronic mail (e-mail) transmission across IP

networks. It is specified for outgoing mail transport.

12.

SNMP

: SNMP (Simple Network Management Protocol) is used in

NMS to monitor network-attached devices for conditions

that warrant administrative attention. It consists of a set of

standards for network management, a database schema, and

a set of data objects.

13.

SOAP

: SOAP (Simple Object Access Protocol) is a protocol

specification for exchanging structured information in the

implementation of web services in computer networks. It

relies on XML as its message format, and HTTP for

message negotiation and transmission.

14.

Telnet

: Telnet (Teletype Network) is used on internet or LANs to

provide access to a command-line interface on a remote host

via a virtual terminal connection.

15.

DHCP

: DHCP (Dynamic Host Configuration Protocol) is a

computer networking protocol used by hosts to retrieve IP

address assignments and other configuration information.

2.1.5 Memory Constraints

At least 64MB RAM and 150MB space on hard disk will be required for running the application.

2.1.6 Operations

There will be two modes of operations:

First mode: In this mode application will save history and cookies. Hence use system resources while surfing the internet.

Second mode: In this mode application will not save history and cookies. This mode saves the memory of the computer system.

The user will set the time period in first mode, after which the browsing history and cookies get deleted from his/her computer system. The handling of all the web browser settings will be done by the user only. No backup facility will be provided to save the settings, history, updates etc. by the application. The application will provide a ‘reset all settings’ option which will cause the loss of all the settings made by the user.

All the data processing will be done at the background. Hence, user will have no interaction with the data which the application will store\retrieve while running on the user’s computer system.

2.1.7 Site Adaptation Requirements

The terminal at the client site will have to support the hardware and software interfaces specified in the above sections.

2.2 Product Functions

A summary of the major functions that the software will perform:

1. It can access any secure site or account. It will check the status of security of the web page before loading the web page. If page is not secure than it does not allow user to access that web page.

2. It will have a toolbar having the following controls with their unique fuctions: Back Button: to navigate to previous accessed web page.

Forward Button: to navigate to next accessed web page.

Address Field: to enter the URL of the web page which is to be accessed.

Go Button: to begin navigation to the URL entered in Address Field.

Home Button: to access the home page directly.

Refresh Button: to reload the current web page.

Stop Button: to stop the navigation/loading of the requested web page.

Add Tab Button: to add a new tab in the window.

Remove Tab Button: to close the current tab in the window.

3. It will allow user to access/delete the browsing and download history.

4. It will allow the user to access the source code of the web page which he/she currently accessing.

5. It also allows the user to switch to any mode at any time. This will not affect the currently opened web pages in any mode.

6. It manages favorites, cookies, downloading/browsing speed, username and password of different accounts, browsing/download history etc. with a great ease.

7. It allows the user to access any site in the favorites by just one click.

8. It allows the user to print any web page.

9. It allows the user to change the text size and encoding of the current web page.

2.3 User Characteristics

Educational Level: User should be comfortable with English language and general computer and internet related terms.

Technical Expertise: User should be comfortable using special as well as general-purpose applications on a computer. He/she should know the security aspects of the web pages and the files present over the internet.

2.4 Constraints

Very high resolution or black and white monitors may cause distortion in the design of the application ‘Web Browser’ window.

As SQL Server 2005 Compact Edition is used, it is not possible to store a large browsing or download history.

2.5 Assumptions and Dependencies

The number of users who will use this application will be too large in the near future.

Upcoming new technology will not affect the execution of the application ‘Web Browser’.

2.6 Apportioning of Requirements

More features will be introduced in later versions of the applications.

3. Specific Requirements

3.1 External Interfaces

3.1.1 User Interfaces

The user interface will be somewhat looks like the screen given below:

The Title Bar will look like the figure given below:

The Menu Bar will look like the figure given below:

The Tool Bar will look like the figure given below:

The status bar will look like the figure given below:

The user interface for download history will look like the following figure:

The user interface for browsing history will somewhat look like the following figure:

History

3.1.2 Hardware Interfaces

As stated in Section 2.1.2

3.1.3 Software Interfaces

As stated in Section 2.1.3

3.1.4 Communications Interfaces

As stated in Section 2.1.4

3.2 Functions

Accessing any Web Document Description

The application will maintain information about the hacked sites URLs, cookies, browsing history, usernames and passwords for different site accounts.

The application will allow deletion of saved cookies and usernames and passwords.

Validity checks

i. Internet connection should be there.

ii. Entered URL should be correct and not to be present in the stored hacked sites URL list.

iii. If the cookie of the web document is stored or not (operational in first mode of the application).

Error handling/response to abnormal situations

If either internet connection is not there or entered URL is not correct then navigate to error page which will look like given below:

If the URL entered is present in the list of hacked sites then navigate back to the previous accessed site.

If cookie of accessing web document is not saved then save its cookie in the computer system on which the application is running.

Downloading any File Description

The application will maintain information about the download which has been performed by using the ‘Web Browser’.

The application will allow deletion of saved download history.

Validity checks

i. The downloading file should be free of viruses or other spywares.

ii. Internet connection should be maintained.

Error handling/response to abnormal situations

If downloading file is either of executable type or suspected to contain any virus or spyware then show a warning and allow the user to choose whether the file to be download or not.

If internet connection is not there for more than one or two minutes then cancel out all the current downloading files.

3.3 Performance Requirements

All the static numerical requirements will depend upon the internet connection speed or the status of the server. And all the dynamic numerical requirements will depend upon the configuration of the computer system on which the application will be running.

3.4 Design Constraints

None

3.5 Software System Attributes

3.5.1 Reliability

The application will be very reliable as it will not interfere in the execution of other applications that are running simultaneously on the same system. Also it will not allow the user to access any hacked site or account.

3.5.2 Availability

The application will be available for free downloading on the internet.

3.5.3 Security

The application maintains the list of hacked URLs which cannot be accessed by user in any way.

3.5.4 Maintainability

The application will be maintained by the regular updates of very small size (ranges between 5KB to 50KB).

3.5.5 Portability

The application will be compatible with windows XP or the later version of the windows operating system.

3.5.6 Efficiency

The application will use the minimum amount of the system resources for execution, to store its data or for other purposes.

3.6 Logical Database Requirements

For database only the list of all the hacked sites or accounts is required.

3.7 Other Requirements

The list of hacked site or accounts will be received and prepared by concerning different users or companies directly or through internet.


Related Solutions

Goal Models for Software requirements engineering class: Consider a simplistic engine-control system whose specification includes the...
Goal Models for Software requirements engineering class: Consider a simplistic engine-control system whose specification includes the following: (Goal) If PressureToLow then AlarmRaised (Domain Property) If StartMode then not PressureTooLow Explain why the condition: StartMode and not AlarmRaised cannot be considered as an obstacle to that goal.
List the different roles in requirement engineering process and their responsibilities. For example, software development team...
List the different roles in requirement engineering process and their responsibilities. For example, software development team is one of the roles and its responsibilities are to examine the feasibility of the requirements as well as challenging the business on the business value of such requirements. What other roles do you think exists and what are their responsibilities?
Software Engineering Process Discuss the activities that make up a software engineering process. Your response should...
Software Engineering Process Discuss the activities that make up a software engineering process. Your response should include the engineering phases of requirements : - Design, coding, testing, reviews, refactoring, defects, team and customer communication. - How is Agile the same as the Plan and Document process (aka Waterfall) - In what ways is Agile different from Plan and Document
1. a What are the main activities in software requirements engineering? b.Why is it important to...
1. a What are the main activities in software requirements engineering? b.Why is it important to document the software requirements clearly? c. What do we represent in use cases? d. How do we represent the software requirements? Answer this questions in your words please.Thanks you. e. What diagrams can be used to elaborate the use cases?
The first step in writing a software application is to determine the requirements. There is no...
The first step in writing a software application is to determine the requirements. There is no value in writing a program that does not address the needs of the client. Requirements can be gathered in many ways, but ultimately, the requirements serve to document what the application should and should not do. After the requirements are written, the application design can be prepared, followed by the actual coding. For this project, you will gain some practice in the design phase...
Unlike other engineering approaches software engineering process is NOT rigid. Justify why?
Unlike other engineering approaches software engineering process is NOT rigid. Justify why?
In Software engineering, Describe in detail the five activities associated with the software measurement process.
In Software engineering, Describe in detail the five activities associated with the software measurement process.
Create a list of the top 10 software engineering requirements for the organization. This list should...
Create a list of the top 10 software engineering requirements for the organization. This list should address requirements that are common to most of the software development projects rather than specific project requirements. Include descriptions for each of the requirements that provide sufficient information to align the requirements with architectural strategies that were defined in the previous week. Add the subtitle: Architecture Strategy Evaluation Discuss the pros and cons of the architectural strategy.
Model the business process described below using Bonita BPM software. Answer all questions at the end....
Model the business process described below using Bonita BPM software. Answer all questions at the end. You can assume that communication with customers, doctors, and insurance companies is done by telephone. This means that you do not need separate pools; focus on the process within the pharmacy. You should make reasonable/sensible assumptions about the information on prescriptions, information about insurance, and information about drugs. Include what you think is necessary for a realistic process. Consider the following process at a...
Provide the basic goal of Software Architectural evolution in the software design process. Also, discuss three...
Provide the basic goal of Software Architectural evolution in the software design process. Also, discuss three stages of software development stages where architectural evaluation can be applied. NO HANDWRITING PLEASE... THANK YOU.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT