CS701 Software Architecture Lab Manual
CS701 Software Architecture Lab Manual
Enrollment No : 0208CS211115
Faculty Incharge
Prof. Daljeet Kaur
CSE, GGCT
Session: 2024-25
LIST OF EXPERIMENTS
S.NO AIM DATE SIGN REMARKS
AIM - To narrate Requirement Definition Document for the target system with following
three areas: Problem Identification, Problem Definition, and Problem Statement.
THEORY - The Online Shopping System (OSS) for electronics item shop web applicationis
intended to provide complete solutions for vendors as well as customers through a single get
way using the internet. It will enable vendors to setup online shops, customer to browse
through the shop and purchase them online without having to visit the shop physically. The
administration module will enable a system administrator to approve and reject requests for
new shops and maintain various lists of shop category.
DEFINITIONS -
PROBLEM IDENTIFICATION –
Problem Identification is the process of identifying the problem and making a proper
structure of the project. This projects aims to develop an online shopping for customers
with the goal so that it is very easy to shop your loved things from a extensive number of
online shopping sites available on the web.
PROBLEM DEFINITION–
This is the first and foremost concern. If we can’t state the problem, we can’t even know
where to begin in solving it. This can be one of the most difficult parts of any project and
themost important.
Online shopping is a process that has been well known only in the last few years to
be precise. However, it focuses on consumers choosing their products and buying
them online.
The entire process is virtually done and there is no need for the person to be
physically present at the place at the moment. It is an extensively fuss-free
process which has saved a lot of precious time of people who are busy with their
daily life.
Online shopping project deals with all these online shopping sites and
their proper functioning such that people can access it easily.
However online shopping poses different problems.
The quality of the product which we see online and the product we receive is often
different. This creates a bad impression for the consumer. Also, delivery time may
vary in the case of online shopping. So the main challenges for the online
shopping system is to provide the products of the same quality as they see them
online while purchasing and give best services to the customers.
PROBLEM STATEMENT–
This projects aims to develop an online shopping for customers with the goal so that it is
very easy to shop your loved things from a extensive number of online shopping sites
available on the web. With the help of this you can carry out an online shopping from your
home. Here is no compelling reason to go to the crowed stores or shopping centers during
festival seasons. You simply require a PC or a laptop and one important payment sending
option to shop online.
To get to this online shopping system all the customers will need to have a email and
password to login and proceed your shopping. The login credentials for an online shopping
system are under high security and nobody will have the capacity to crack it easily. Upon
successful login the customers can purchase a wide range of things such as mobiles, books,
apparel, Jewellery, infant care, gifts, tools, etc. can be dispatched using online shopping
system.
Not just these, you can also purchase from outside nations by few clicks on your mouse.
And of course you will get your requested ordered items at your door step. It is simple. You
will pick your favorite items from variety of online shopping sites looking at cost and quality.
No need to go physical shops with this you will have more time to spend with your family. It
Just need a computer and a payment making options like net banking, credit card, debit card
or PayPal.
Almost a wide range of things can be brought through online shopping system. You can
purchase goods from foreign places from your bedroom and you will get your goods at your
home. It is extremely secure. Customer service is accessible.
PRACTICAL -2
THEORY - Comparing with Online Shopping System, the traditional commodity sales are based on
physical stores, which require a large amount of manpower and material resources, failing to achieve
the desired expectations. But obviously, it is a good choice to develop an online shopping system to
organize all aspects of commodity and generate considerable savings. In terms of operations, the
system runs in Windows, using MySQL database, which has good performance in operation and
management.
With regard to the functional requirements analysis, the design of the system is finished after a
significant amount of researches. And the Online Shopping system is supposed to have following
functions based on all of above analysis: Firstly, the system is provided with personalized user
interface and straightforward to use, the systematic proscenium is equipped with display function of
commodity information, so that customers can browse and compare commodity.
Classification of goods is followed by, which plays an important role in the convenience of
choosing items. The next section is the design of shopping cart, users can add items to it, and change
the quantity at pleasure. It is necessary to implement the function of setting up the bulletin board of
the commodity and sales ranking of goods, so that customers can get the latest information on shelves
and some special offers. Last but not least, the system should be excellent function of background
management, which is critical for administrator performs maintenance operations.
Functional Requirement
This section provides requirement overview of the system. Various functional modules that can be
implemented by the system will be -
Description
1. Registration - If customer wants to buy the product then he/she must be registered,
unregistered user can’t go to the shopping cart.
2. Login -Customer logins to the system by entering valid user id and password for the
shopping.
3. Changes to Cart -Changes to cart means the customer after login or registration can make
order orcancel order of the product from the shopping cart.
4. Payment -For customer there are many type of secure billing will be prepaid as debit or
credit card, post paid as after shipping, check or bank draft. The security will provide by the
third party like Pay-Pal etc.
5. Logout - After the payment or surf the product the customer will logged out.
6. Report Generation - After all transaction the system can generate the portable document
file (.pdf) and then sent one copy to the customer’s Email-address and another one for the
system data base to calculate the monthly transaction .
Non-Functional Requirements:
Following Non-Functional Requirements will be there in the insurance to the internet:
(i) Secure access to consumer’s confidential data.
(iv) Flexible service based architecture will be highly desirable for future extension.
Non-Functional Requirements define system properties and constraints. Various other Non-
Functional Requirements are:
1. Security 2. Reliability 3.Maintainability 4.Portability 5.Extensibility 6.Reusability
7.Compatibility 8.Resource Utilization
The following information shows the advantages and disadvantages of each stakeholder:
Buyers
Advantages: can easily shop online and able to buy products overseas
Disadvantages: Safety and privacy are issues
Designers
Companies
Advantages: Can quickly and easily inform customer of their new products
Competitors
Advantages: easily find out its competitors' sells and cost. Also can improve itself
Disadvantages: customers might go to their shop
PRACTICAL -3
AIM- To select appropriate Architectural View and Style and prepare Architecture Diagram
for the target system.
THEORY - Architectural design is concerned with understanding how a system should be organized
and designing the overall structure of that system. In the model of the software development process,
architectural design is the first stage in the software design process. It is the critical link between
design and requirements engineering, as it identifies the main structural components in a system and
the relationships between them. The output of the architectural design process is an architectural
model that describes how the system is organized as a set of communicating components.
In agile processes, it is generally accepted that an early stage of the development process should be
concerned with establishing overall system architecture. Incremental development of architectures is
not usually successful. While refactoring components in response to changes is usually relatively
easy, refactoring system architecture is likely to beexpensive.
The three main advantages of explicitly designing and documenting a software architectureare:
2. System analysis. Making the system architecture explicit at an early stage in the system
development requires some analysis. Architectural design decisions have a profound
effect on whether or not the system can meet critical requirements such as performance,
reliability, and maintainability.
A high-level architectural view of a system is useful for communication with system stakeholders and
project planning because it is not cluttered with detail. Stakeholders can relate to it and understand an
abstract view of the system. They can then discuss the system as a whole without being confused by
detail. The architectural model identifies the key components that are to be developed so managers
can start assigning people to plan the development of these systems.
ARCHITECTURE DIAGRAM FOR ONLINE SHOPPING SYSTEM
PRACTICAL - 4
THEORY - In software engineering and software architecture design, architectural decisions are
design decisions that address architecturally significant requirements; they are perceived as hard to
make and/or costly to change
Architectural decisions influence and impact the non-functional characteristics of a system. Each
architectural decision describes a concrete, architecturally significant design issue (a.k.a. design
problem, decision required) for which several potential solutions (a.k.a. options, alternatives) exist.
An architectural decision captures the result of a conscious, often collaborative option selection
process and provides design rationale for the decision making outcome, e.g., by referencing one or
more of the quality attributes addressed by the architectural decision and answering "why" questions
about the design and option selection. Architectural decisions concern a software system as a whole,
or one or more of the core components of such a system.
Types of architectural decisions are the selection of architectural tactics and patterns, of
integration technologies, and of middleware, as well as related implementation strategies and assets
(both commercial products and open source projects
1. Login Page
2. Registration Form
3. There will be a screen displaying information about product that theshop having.
4. If the customers select the buy button then another screen of shopping cart will be
opened.
5. After all transaction the system makes the selling report as portable document file
(.pdf) and sent to the customer E-mail address.
4.1 GUI
1. Login Page
2. Registration Form
3. Product Page
4. Shopping Cart
5. Portable Document file (.pdf) buying report
Hardware Interface
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.
Software Interface
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.
PRACTICAL – 5
AIM- To implement the target system using the Technical Architecture conforming to
technology availability and scalability
THEORY - In the current business around the world, most of organizations tend to expand their
market channels towards online market, aiming for increasing income, awareness and reliability. With
capability of worldwide connection and convenient access, Internet is the most preferred media used
by companies to serve this purpose. Of course, it facilitates onlinetechnology which is used to achieve
online business development. At present, the growth rate of E-commerce is high due to the expansion
of businesses towards online market. With support of Internet technology, communication devices,
such as PDA and full-function mobile phone, etc., can easily access Internet. Operating on the
Internet, Ecommerce is thus more reliable, especially payment gateway – supporting transactions
which are the major element of the E-commerce system. The objectives of this study are to explore
online business, concentrating on development of a shopping centre. The distinctive feature of this
system is providing a convenient, low cost, web site packages for entrepreneurs to open their
businesses under the same domain name
The web site, designed as an online shopping centre, is separated into two parts: back end and front
end parts.
This part provides facility for each store owner to edit and modify information in his own store.
Providing validation check for member and store identification, the back end system can securely
protect users’ proprietary information. In addition, all page views employ session variables to deter
manually defined variables by users. Applying user friendly approach, and focusing on web
programming inexperience, the user can effortlessly manage his back end information. Inside the
back end, users can control and view all store information. Beside that, using content management
design, the back end part encompasses with these modules: product management, shop information
management, web board management, shopping cart management, member management, promotion
management, banner management, plaza management, poll management, currency management and
article management. The back end components can be organized as shown in Figure .
Back end System
The front end part, comprising of pages which users can view, is created by using templates so that it
can expedite design and loading processes. This part, in the appearance, the main menu is consistent,
thus it is easy to use. Considered as the most frequently access when comparing with other parts of the
web site, front end pages have to use template, and in turn, saving bandwidth and number of database
accesses. For database operation issue, aiming for minimizing number of accesses, it needs just four
queries to display all details. Those queries consist of jointed SQL statements, which inquire merely
main information from the database. The front end design of the web site can be illustrated in Figure.
Implementation and Results
According to the system design mentioned earlier, the shopping system, consisting two major
components: back end and front end system, was successfully implemented and loaded on the
Internet.
PRACTICAL – 6
AIM- To create Test Plan, Test Cases and apply them to test the performance adequacy of
the system implemented.
TEST CASES
USER
Approach-
This section describes the overall approach of the testing which ensures that the each feature
and the combination of the features are adequately tested. The major tasks that are used are
Unit testing -
Unit testing is a method of testing that verifies the individual units of source code are
working properly. The goal of unit testing is to isolate each part of the program and show
that the individual parts are correct. The NUnit a testing tool for C#, will be used for unit
testing.
Load testing-
Load testing is the process of creating demand on a system or device and measuring its
response. It generally refers to the practice of modeling the expected usage of a software
program by simulating multiple users accessing the program concurrently. As such, this
testing is most relevant for multi-user systems; often one built using a client/server model,
such as web servers
System Testing-
Once the entire system has been built then it has to be tested against the Software
Requirement Specification and System Specification to check if it delivers the features
required. System testing can involve a number of specialist types of test to see if all the
functional and non-functional requirements have been met.
Performance Testing -
The system should meet the performance requirements as mentioned in the Vision
document. The performance will be evaluated based on the response time of the GUI and
the database commands. Using JMETER tool performance testing will be done.
Manual Testing
Manual Testing will be done to ensure the correctness of various parts of the code using test
cases generated by the tester.
Pass/fail criteria -
The system should satisfy all the functional requirements, in the Vision document. Each
feature to be tested will be evaluated against its requirement as stated in the Vision
Document. The pass or fail of a test depends on whether the system meets with all the
particular post conditions. Test cases executed on the Online Book Store will pass if they
meet the specific requirements as mentioned in the Vision Document.