You are on page 1of 8

Sr. Key System Software. Application Software.

No.

Definition System Software is the type Application Software is the type of


of software which is the software which runs as per user
1 interface between application request. It runs on the platform
software and system. which is provide by system
software.

Development In general System software Application software are


2 Language are developed in low level developed in high level language.
language.

Usage System software is used for Application software is used by


3 operating computer user to perform specific task.
hardware.

Installation System software are Application software are installed


installed on the computer according to user’s requirements.
4
when operating system is
installed.

Dependency System software can run application software can’t run


5
independently. independently.

Examples Some examples of system examples of application software’s


software’s are compiler, are word processor, web browser,
6
assembler, debugger, driver, media player, etc.
etc.

r. No. Key Hardware Software

Type Hardware is a set of physical parts Sofware is a program or set


1 of computers which actually of instructions which are to
executes the instruction. be executed by CPU

Development A Hardware is manufactured in A software is developed,


2 factories. engineered by software
development companies.

Dependency A hardware cannot do any task A software cannot execute if


3 with a software instructing it. underlying hardware is not
present.
r. No. Key Hardware Software

Tangible A hardware can be touched being Softwares being digital can


4 a physical electronic device. be seen but cannot be
touched.

Categories Hardware categories: Input Software categories:


Devices, Output Devices, Storage Programming Softwares,
5
Devices, Internal components of Application Softwares,
CPU and motherboard. Operating Systems.

Virus impact Hardware remain unaffected by Software is affected by virus


6
viruses. being primary target.

Digital A hardware can be only physically Software can be transferred


7
Transfer transferred. electronically.

Replacement If hardware gets damaged, it is If Software get damaged, it


8
replaced with new one. is reinstalled.

Sr. Key Product Process


No.

Concept The product is the final result of a The process is a sequence or set of
1 development cycle. steps that should be followed to
create a product.

Focus Product development focus is on final The process focuses on each step
2 outcome. to be followed during software
product development.

Life A product life cycle tends to be in the A process life cycle is generally
3
short term. long term.

Goal The main goal of product The main goal of a process is to


4 development is to finish the work and make a good quality products.
get the product delivered successfully.

Software Engineering | Agile


Development Models
In earlier days Iterative Waterfall model was very popular to complete a project. But
nowadays developers face various problems while using it to develop software. The main
difficulties included handling change requests from customers during project
development and the high cost and time required to incorporate these changes. To
overcome these drawbacks of Waterfall model, in the mid-1990s the Agile Software
Development model was proposed.
The Agile model was primarily designed to help a project to adapt to change requests
quickly. So, the main aim of the Agile model is to facilitate quick project completion. To
accomplish this task agility is required. Agility is achieved by fitting the process to the
project, removing activities that may not be essential for a specific project. Also, anything
that is waste of time and effort is avoided.
Actually Agile model refers to a group of development processes. These processes share
some basic characteristics but do have certain subtle differences among themselves. A
few Agile SDLC models are given below:
 Crystal
 Atern
 Feature-driven development
 Scrum
 Extreme programming (XP)
 Lean development
 Unified process
In the Agile model, the requirements are decomposed into many small parts that can be
incrementally developed. The Agile model adopts Iterative development. Each
incremental part is developed over an iteration. Each iteration is intended to be small and
easily manageable and can be completed within a couple of weeks only. At a time one
iteration is planned, developed and deployed to the customers. Long-term plans are not
made.
Agile model is the combination of iterative and incremental process models. The steps
involve in agile SDLC models are:
 Requirement gathering
 Requirement Analysis
 Design
 Coding
 Unit testing
 Acceptance testing
The time to complete an iteration is known as a Time Box. Time-box refers to the
maximum amount of time needed to deliver an iteration to customers. So, the end date for
an iteration does not change. Though the development team can decide to reduce the
delivered functionality during a Time-box if necessary to deliver it on time. The central
principle of the Agile model is the delivery of an increment to the customer after each
Time-box.
Principles of Agile model:
 To establish close contact with the customer during development and to gain a clear
understanding of various requirements, each Agile project usually includes a customer
representative on the team. At the end of each iteration stakeholders and the customer
representative review, the progress made and re-evaluate the requirements.
 Agile model relies on working software deployment rather than comprehensive
documentation.
 Frequent delivery of incremental versions of the software to the customer
representative in intervals of few weeks.
 Requirement change requests from the customer are encouraged and efficiently
incorporated.
 It emphasizes on having efficient team members and enhancing communications
among them is given more importance. It is realized that enhanced communication
among the development team members can be achieved through face-to-face
communication rather than through the exchange of formal documents.
 It is recommended that the development team size should be kept small (5 to 9
people) to help the team members meaningfully engage in face-to-face
communication and have collaborative work environment.
 Agile development process usually deploys Pair Programming. In Pair programming,
two programmers work together at one work-station. One does coding while the other
reviews the code as it is typed in. The two programmers switch their roles every hour
or so.
Advantages:
 Working through Pair programming produce well written compact programs which
have fewer errors as compared to programmers working alone.
 It reduces total development time of the whole project.
 Customer representatives get the idea of updated software products after each
iteration. So, it is easy for him to change any requirement if needed.
Disadvantages:
 Due to lack of formal documents, it creates confusion and important decisions taken
during different phases can be misinterpreted at any time by different team members.
 Due to the absence of proper documentation, when the project completes and the
developers are assigned to another project, maintenance of the developed project can
become a problem.
Application Program InterfaceSystem CallAPI is a set of protocols, routines, and
functions which allows the exchange data among various applications and devices.System
call allows a program to request services from the kernel.The protocols and functions in API
that define the methods of communication among various components.It is a method which
allows a program to request services from the operating system’s kernel.It can be a web-
based system, operating system, database or software library.It provides an interface
between user programs and operating systems.

HTTP
 It can be expanded as Hypertext Transfer Protocol.
 It is less secure in comparison to HTTPS protocol.
 This is because it has a vulnerability which could be used by hackers.
 By default, it uses the port 80.
 In general, HTTP URLs begin with http://.
 It is generally used in websites that are designed to consume information (such as
blogs).
 It doesn’t scramble the data that needs to be transmitted.
 It operates at the TCP/IP level.
 A website with HTTP doesn’t need SSL certificate.
 It doesn’t use any encryption.
 It doesn’t help improve search rankings.
 It is quick.

HTTPS
 It can be expanded as Hypertext Transfer Protocol that is secure.
 It has been designed to avoid hackers from accessing important information.
 It provides a good amount of security against attacks by hackers.
 By default, it uses port 443.
 HTTPS URLs generally begin with https://.
 It is generally used in places where a website requires to collect private information
such as credit card number.
 It scrambles the data before transmitting it.
 At the receiver’s end, the data is descrambled to recover the original data.
 This means, the transmitted information is difficult to hack.
 It doesn’t have any separate protocol.
 It works with the help of HTTP but uses encrypted TLS/SSL connection.
 It requires SSL certificate.
 Websites that use HTTPS have data encryption.
 It also helps improve the search rankings.
 It is slower in comparison to HTTP.
 It is secure since the data is encrypted before sending across a network.
SOAP
SOAP represents Simple Object Access Protocol. It is an XML-based protocol for
penetrating web services. SOAP is a W3C recommendation for connection between two
applications. SOAP is an XML based protocol.
It is platform-independent and language-independent. By using SOAP, it will be able to
connect with other programming language applications.
The SOAP specifications are authorized internet standards, maintained and developed
by the World Wide Web Consortium (W3C).
It is an authorized protocol and it appears with rigid rules and improved security features
including built-in ACID compliance and authorization. It needed more bandwidth and
resources, which can lead to easy page load times.
It depends heavily on XML, and together with schemas, represents a very powerful typed
messaging framework. All data transform between user and server happens over a
common format such as XML and it has a defined structure named SOAP messages.
Its structure includes envelopes, header & body header, such as data about messages,
authentication, complex types, routing data, etc. The body includes actual data of
request, which is defined to be sent to the server.

HTTP
HTTP represents Hypertext Transfer Protocol. HTTP is the protocol that can transfer
information over the web. It is the Internet protocol suite technique and describes
commands and functions used for sending web page information.
HTTP uses a server-client model. A client, for instance, can be a computer or telephone
device. The HTTP server is frequently a web host running web server software, such as
Apache or IIS.
HTTP also represents commands such as GET and POST, which are used to handle
submissions on websites. The CONNECT command can act as a fast connection that is
encrypted using SSL.
HTTP is equivalent to SMTP as the data is transferred between client and server. The
HTTP contrast from the SMTP in how the messages are shared from the client to the
server and from the server to the client. SMTP messages are saved and advanced, while
HTTP messages are delivered directly.
The HTTP protocol is media independent as data can be transmitted as long as both the
user and server know how to manage the data content. It is necessary for both the user
and server to specify the content type in the MIME-type header.
The concept of the HTTP protocol is easy. A client sends a request, which views like
mail, to the server. The server sends the response, which view like a mail acknowledge,
to the client. The request and response messages carry information in the form of a letter
with a MIME-like structure.
The commands from the client to the server installed in a letter-like request message.
The contents of the requested documents or several data embedded in a letter-like
response message.

Sr. Key REST API SOAP API


No.

Implementation Rest API is implemented as it On other hand SOAP API has


has no official standard at all an official standard because it
1
because it is an architectural is a protocol.
style.

Internal REST APIs uses multiple SOAP APIs is largely based


communication standards like HTTP, JSON, and uses only HTTP and XML.
2
URL, and XML for data
communication and transfer.

Resource As REST API deploys and On other hand Soap API


requirement uses multiple standards as requires more resource and
stated above, so it takes fewer bandwidth as it needs to
3
resources and bandwidth as convert the data in XML which
compared to SOAP API. increases its payload and
results in the large sized file.

Description REST API uses Web On other hand SOAP API used
Application Description Web Services Description
4 Language for describing the language for the same.
functionalities being offered by
web services.

Security REST has SSL and HTTPS for On other hand SOAP has SSL(
security. Secure Socket Layer) and WS-
security due to which in the
5
cases like Bank Account
Password, Card Number, etc.
SOAP is preferred over REST.

Abbreviation REST stands for On other hand SOAP stands


6 Representational State for Simple Object Access
Transfer. Protocol

Interchange REST can make use of SOAP On other hand SOAP cannot
as the underlying protocol for make use of REST since
7 web services, because in the SOAP is a protocol and REST
end it is just an architectural is an architectural pattern.
pattern.

You might also like