0% found this document useful (0 votes)
7 views9 pages

How Does The Client-Server Model Work? Client-Server Internet

The document discusses the Client-Server model, which separates service providers (servers) from service requesters (clients), facilitating data requests over the internet. It also covers reference architectures in software engineering, emphasizing their role in standardizing application design for consistency and scalability. Additionally, it addresses software maintenance and evolution, highlighting the importance of continuous updates to meet user needs and adapt to changing environments.

Uploaded by

xzguru72
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views9 pages

How Does The Client-Server Model Work? Client-Server Internet

The document discusses the Client-Server model, which separates service providers (servers) from service requesters (clients), facilitating data requests over the internet. It also covers reference architectures in software engineering, emphasizing their role in standardizing application design for consistency and scalability. Additionally, it addresses software maintenance and evolution, highlighting the importance of continuous updates to meet user needs and adapt to changing environments.

Uploaded by

xzguru72
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

M3

1 Client server model

The Client-server model is a distributed application structure that partitions tasks or workloads
between the providers of a resource or service, called servers, and service requesters called clients.
In the client-server architecture, when the client computer sends a request for data to the server
through the internet, the server accepts the requested process and delivers the data packets
requested back to the client. Clients do not share any of their resources. Examples of the Client-
Server Model are Email, World Wide Web, etc.

How Does the Client-Server Model Work?

In this article, we are going to take a dive into the Client-Server model and have a look at how
the Internet works via, web browsers. This article will help us have a solid WEB foundation and help
us easily work with WEB technologies.

• Client: When we say the word Client, it means to talk of a person or an organization using a
particular service. Similarly in the digital world, a Client is a computer (Host) i.e. capable of
receiving information or using a particular service from the service providers (Servers).

• Servers: Similarly, when we talk about the word Servers, It means a person or medium that
serves something. Similarly in this digital world, a Server is a remote computer that provides
information (data) or access to particular services.
2}*Reference Architectures in Software Engineering*

*Reference architecture* is a predefined, standardized architectural template that provides a high-


level blueprint for designing software systems. It defines the *best practices, components, patterns,
and guidelines* for building specific types of applications, ensuring consistency, scalability, and
interoperability.

## *Types of Reference Architectures*

### *1. Cloud Reference Architecture*

- Defines the best way to design cloud-based applications.

- Example: *AWS Well-Architected Framework*, Google Cloud Architecture.

### *2. Microservices Reference Architecture*

- Defines how *microservices* should communicate, scale, and be secured.

- Example: Netflix Microservices Architecture.

### *3. Enterprise Reference Architecture*

- Provides a standardized approach for large-scale business applications.

- Example: *TOGAF (The Open Group Architecture Framework)*.

M4

1 software maintainence

What is Software Maintenance?

Software maintenance is a continuous process that occurs throughout the entire life cycle of the
software system.

• The goal of software maintenance is to keep the software system working correctly,
efficiently, and securely, and to ensure that it continues to meet the needs of the users.

• This can include fixing bugs, adding new features, improving performance, or updating the
software to work with new hardware or software systems.

• It is also important to consider the cost and effort required for software maintenance when
planning and developing a software system.

• It is important to have a well-defined maintenance process in place, which includes testing


and validation, version control, and communication with stakeholders.
• It’s important to note that software maintenance can be costly and complex, especially for
large and complex systems. Therefore, the cost and effort of maintenance should be taken
into account during the planning and development phases of a software project.

• It’s also important to have a clear and well-defined maintenance plan that includes regular
maintenance activities, such as testing, backup, and bug fixing.

Several Key Aspects of Software Maintenance

1. Bug Fixing: The process of finding and fixing errors and problems in the software.

2. Enhancements: The process of adding new features or improving existing features to meet
the evolving needs of the users.

3. Performance Optimization: The process of improving the speed, efficiency, and reliability of
the software.

4. Porting and Migration: The process of adapting the software to run on new hardware or
software platforms.

5. Re-Engineering: The process of improving the design and architecture of the software to
make it more maintainable and scalable.

6. Documentation: The process of creating, updating, and maintaining the documentation for
the software, including user manuals, technical specifications, and design documents.

2}

Software Evolution – Software Engineering

Last Updated : 03 Jan, 2024

Software Evolution is a term that refers to the process of developing software initially, and then
timely updating it for various reasons, i.e., to add new features or to remove obsolete functionalities,
etc. This article focuses on discussing Software Evolution in detail.

What is Software Evolution?

The software evolution process includes fundamental activities of change analysis, release planning,
system implementation, and releasing a system to customers.

1. The cost and impact of these changes are accessed to see how much the system is affected
by the change and how much it might cost to implement the change.

2. If the proposed changes are accepted, a new release of the software system is planned.
3. During release planning, all the proposed changes (fault repair, adaptation, and new
functionality) are considered.

4. A design is then made on which changes to implement in the next version of the system.

5. The process of change implementation is an iteration of the development process where the
revisions to the system are designed, implemented, and tested.

Necessity of Software Evolution

Software evaluation is necessary just because of the following reasons:

1. Change in requirement with time: With time, the organization’s needs and modus Operandi
of working could substantially be changed so in this frequently changing time the
tools(software) that they are using need to change to maximize the performance.

2. Environment change: As the working environment changes the things(tools) that enable us
to work in that environment also changes proportionally same happens in the software
world as the working environment changes then, the organizations require reintroduction of
old software with updated features and functionality to adapt the new environment.

3. Errors and bugs: As the age of the deployed software within an organization increases their
preciseness or impeccability decrease and the efficiency to bear the increasing complexity
workload also continually degrades. So, in that case, it becomes necessary to avoid use of
obsolete and aged software. All such obsolete Pieces of software need to undergo the
evolution process in order to become robust as per the workload complexity of the current
environment.

4. Security risks: Using outdated software within an organization may lead you to at the verge
of various software-based cyberattacks and could expose your confidential data illegally
associated with the software that is in use. So, it becomes necessary to avoid such security
breaches through regular assessment of the security patches/modules are used within the
software. If the software isn’t robust enough to bear the current occurring Cyber attacks so it
must be changed (updated).

5. For having new functionality and features: In order to increase the performance and fast
data processing and other functionalities, an organization need to continuously evolute the
software throughout its life cycle so that stakeholders & clients of the product could work
efficiently.
m

m5

1verrification an validation

Verification Validation

Verification refers to the set of Validation refers to the set of


activities that ensure software activities that ensure that the
correctly implements the specific software that has been built is
Definition function traceable to customer requirements.

It includes checking documents, It includes testing and validating the


Focus designs, codes, and programs. actual product.

Type of Testing Verification is the static testing. Validation is dynamic testing.


Verification Validation

It does not include the execution of


It includes the execution of the code.
Execution the code.

Methods used in verification are Methods used in validation are Black


reviews, walkthroughs, inspections Box Testing, White Box
Methods Used and desk-checking. Testing and non-functional testing.

It checks whether the software meets


It checks whether the software
the requirements and expectations of
conforms to specifications or not.
Purpose a customer or not.

It can only find the bugs that could


It can find the bugs in the early stage
not be found by the verification
of the development.
Bug process.

The goal of verification is application


The goal of validation is an actual
and software architecture and
product.
Goal specification.

Quality assurance team does Validation is executed on software


Responsibility verification. code with the help of testing team.

Timing It comes before validation. It comes after verification.

It consists of checking of
It consists of execution of program
Human or documents/files and is performed by
and is performed by computer.
Computer human.

After a valid and complete Validation begins as soon as project


Lifecycle specification the verification starts. starts.

Error Focus Verification is for prevention of errors. Validation is for detection of errors.
Verification Validation

Verification is also termed as white Validation can be termed as black box


Another box testing or static testing as work testing or dynamic testing as work
Terminology product goes through reviews. product is executed.

Verification finds about 50 to 60% of Validation finds about 20 to 30% of


Performance the defects. the defects.

Verification is based on the opinion of


Validation is based on the fact and is
reviewer and may change from person
often stable.
Stability to person.

2 component sw

Component Software Testing

Last Updated : 14 Aug, 2019

Component Testing is a type of software testing in which usability of each individual component is
tested. Along with the usability test, behavioral evaluation is also done for each individual
component. To perform this type of testing, each component needs to be in independent state and
also should be in controllable state. Each component of the software should be user comprehensible.

Assume in a software application consists of five components. The testing of each component is
done independently by the tester as part of the development cycle before integration testing is
performed on it. It helps in saving time by finding the bugs at a very early stage in the cycle. Test
structure tools or debugging tools are used for this type of testing as this is performed by
programmers on the code written by them and with the support of IDE. Defects detected during
component testing are fixed as soon as possible when they are found without maintaining the
records.

Component testing has an important role in finding the issue. Before processing with the integration
testing, component testing is performed in order to ensure that each component of the application is
working correctly and as per requirement.

Objective of Component Testing:


The objective of Component Testing is:
• To verify the input and output behavior of the system.

• To check the usability of each component.

• To test the user comprehensibility of the software.

• To test the state of the each components of the system.

Component Testing Process:

• Requirement Analysis:
User requirement related to each component is observed.

• Test Planning:
Test is planned according to the analysis of the requirements of the user.

• Test Specification:
In this section it is specified that which test case must be run and which test case should be
skipped.

• Test Execution:
Once the test cases are specified according to the user requirements, test cases are
executed.
• Test Recording:
Test recording is the having record of the defects that are detected.

• Test Verification:
Test verification is the process to determine whether the product meet specification.

• Completion:
This is the last phase of the testing process in which the result is analyzed.

You might also like