HTTP VS HTTPS: Differences That You Should Know

Difference HTTP VS HTTPS

You may have seen http:// or https:// before a domain name in a browser's URL bar while surfing the Internet. And, you might be wondering - what is the difference between HTTP and HTTPS in general?

In this article, we have discussed the major differences that will give you a better understanding of HTTP vs. HTTPS. Before discussing the differences, let's understand exactly what HTTP and HTTPS are:

What is HTTP?

HTTP is an abbreviation for ‘HyperText Transfer Protocol’. It is a networking protocol used for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for World Wide Web (WWW); it means that it transfers the data (i.e., text, images, audio, video, etc.) on WWW.

In other words, HTTP establishes communication between different systems to transfer the hypertext from client-end to the server-end. It basically allows the transmission of data from a web server to a web browser in order to display web pages to the users.

HTTP is also known as a ‘stateless system' because each command is executed separately, without using the reference of the previous run command.

How does HTTP work?

HTTP works in the request and response cycles of the client requesting the web page. Suppose you want to access any webpage from the server using your web browser. You enter http:// in the browser's URL bar before the domain, which tells the browser to connect over HTTP. The HTTP GET request is generated by the browser and sent across the Internet.

As soon as the original server receives the HTTP request, it generates an HTTP response back to the user's browser. If the connection is successfully established with the response code HTTP/1.1 200 OK, a webpage will be provided on a browser. If there is a problem with the HTTP request or response, you will have a status code on your browser so that you can better troubleshoot the issue.

HTTP is considered a less secure connection. It is because HTTP requests are sent to the host server in plain text, whatever the user has entered into the text fields of the web page. This is risky in cases where the user enters important information such as credit card details or any other personal details. Hackers or anyone who is monitoring a session can easily read text data sent or received over HTTP.
How does http work

Advantages of HTTP

It can be implemented with other protocols on the Internet or other networks.
Web pages are stored as a cache in computers and the Internet, making it easily and quickly accessible.
It is platform-independent, thus, supports cross-platform porting.
It does not require runtime support.
It is usable on firewalls, increasing the potential for global applications.
It is not connection-oriented, therefore, there will be no network overhead when creating and maintaining session state and information.

What is HTTPS?

HTTPS (HyperText Transfer Protocol Secure) is an encrypted version of HTTP. It is not actually the opposite of HTTP. Instead, it is an improved version of HTTP. HTTPS uses a combination of Transport Layer Security (TLS) and Secure Sockets Layer (SSL). This establishes a secure encrypted connection between the host server and the browser.

In HTTPS, transactions are carried out with the help of a key-based encryption algorithm. The public key infrastructure (PKI) is used because it is supported by most web browsers, while the private key is used by the webserver of the particular website the user wants to access. The distribution of public keys is done through certificates that are maintained by web browsers. 

When a client starts a connection with a host server, the two devices use the public and private key to agree on new keys, known as session keys, to encrypt further communications between them. Encryption keys are exchanged between the host server and the web browser before the actual data or hypertext.

How does HTTPS work?

Just like HTTP, HTTPS is also used to request web data and display it on the web browser. But, HTTPS has a slightly different working process. Unlike HTTP, HTTPS encrypts requests and responses so an intercepting hacker would not see the actual text a user has entered. Instead, the hacker will see random characters and would not be able to understand it due to the encryption.

The SSL certificate is responsible to encrypt the information that the user enters on the site. The information or data is converted into random code. In addition, TLS provides an extra layer of security. TLS helps provide data integrity, which helps prevent data from being modified or corrupted and authenticated, proving to your users that they are communicating with the intended website.
How does https work

Advantages of HTTPS

It encrypts the connection and helps users to do secure online transactions such as online banking.
It uses SSL technology to protect user information from unauthorized sources which builds the trust of users.
Typically, HTTPS uses the redirect option to provide increased security. This means that if a user enters http: // instead of https://, it will automatically redirect to an https:// and establish a secure connection.
An independent authority verifies the identity of the owner of the certificate. Therefore, each SSL certificate contains unique, certified information about the certificate owner.

Note: Previously, HTTPS was only used by sites that have an online payment option. This was helpful in securing the credit/debit card details. However, in 2014, Google recommended sites to use HTTPS to achieve better search engine rankings. And after that, most sites switched to HTTPS. Nowadays, many websites prefer HTTPS.

Difference between HTTP and HTTPS

In general, HTTP and HTTPS are protocols. Using these protocols, a particular web site's information is exchanged between the host server and the web browser. The main difference between HTTP and HTTPS is that HTTPS is a lot more secure than HTTP.

Now, let's explore the difference between HTTP and HTTPS more deeply:

HTTP HTTPS
It stands for ‘HyperText Transfer Protocol’. It stands for ‘HyperText Transfer Protocol Secure’. An additional 'S' has been added to the abbreviation to specify 'security'.
Data over HTTP is not secure. Data is vulnerable to hackers and cyber attackers. Data over HTTPS is secure. It is designed to prevent hackers from accessing your critical information.
The default port number is 80, for communication. Here, the default port number is 443.
In URLs, http:// is used before the domain name. In URLs, https:// is used before the domain name.
HTTP works at the application layer. HTTPS works at the transport layer.
It operates at TCP (Transmission Control Protocol)/ IP (Internet Protocol) level. It does not have a separate protocol. It runs over HTTP but uses TLS/SSL encrypted connection.
HTTP websites do not require any kind of certificate. HTTPS websites require SSL certificates.
No encryption is present in HTTP websites. Encryption is present on HTTPS websites.
In HTTP, website speed is fast. In HTTPS, website speed is slower due to redirects and data encryption. However, you can create accelerated mobile pages (AMP) with HTTPS that will boost website speed for smartphones and tablet users.
HTTP does not help in search engine optimization. HTTPS helps in search engine optimization.
It is more suitable for websites designed for information consumption, such as a personal blog. It is a good fit for websites that collect critical data such as credit /debit card details, personal information, etc.

Conclusion

We have covered almost everything to explain the difference between HTTP and HTTPS and we hope that you can now easily find out if a website is running over HTTP or HTTPS. 

If you are planning to launch a new website, it is better to use HTTPS. If you already have a site with HTTP, you can easily switch to HTTPS. Make sure that you follow the proper guidelines to avoid the mistakes of migration that most people make. This will provide you with a base level of website security and will also boost your search engine ranking.

Read More

HDD vs SSD: Differences That You Should Know

Difference between HDD vs SSD

In the digital era, it is very difficult to choose the right hardware when you are going to upgrade your computer or laptop, or if you are going to buy a new one. In this article, we are going to compare two storage mediums, traditional hard disk drive (HDD) and solid-state drive (SSD)

Both SSDs and HDDs perform the same tasks and look almost similar in their physical specifications. However, they work differently and have their own unique features. Here, you will learn all the differences between HDD and SSD in terms of speed, capacity, cost, and lifespan, etc. This will let you decide which one is right for you.

Before we discuss the differences between them, let's have a quick overview of these two storage devices:

What is HDD?

HDD or Hard Disk Drive is a data storage device that is made up of magnetic tape and consists of mechanical parts inside. HDD rely on spinning disk, or metal platter with a magnetic coating, to read and write data. A read/write head on an arm floats above the spinning platter to access the data. It consists of a motor that is used to spin the platter and move the arm. 

The faster the platter spins, the faster the HDD reads and writes data. The common size for HDDs is 2.5 inches for laptops and 3.5 inches for desktop computers. HDDs predominantly use SATA (stands for "Serial Advanced Technology Attachment," or "Serial ATA") interface.

What is HDD (Hard Disk Drive)?

What is SSD?

SSDs almost perform the same functionalities as HDDs, but SSDs use interconnected flash-memory chips to store data. As its name suggests, solid-state drive, which means there are no moving parts in SSDs. Without the spinning disk, head, and arm, SSDs can go down to the shape and size, making them more flexible for smaller devices.

SSDs also come with SATA ports and 2.5-inch format so that they can be easily installed in place of HDDs. Also, there are smaller SSDs with mini-SATA (mSATA) used in the mini-PCI (Peripheral Component Interconnect) Express slots. Most modern laptops come with SSD installed in a PCI Express expansion slot or mounted directly on the motherboard. These board mounted SSDs use a form factor known as M.2.

Apart from this, there are upgraded SSDs using NVMe (Non-Volatile Memory Express) interface that can deliver the fastest possible SSDS read/write speed. However, NVMe is the way to go. It may take some time to move from servers in the data center to consumer laptops.

Note: While SSDs may take the size of traditional 2.5-inch or 3-inch HDDs, they can also be of different sizes. For SSD-based M.2 modules, the most common sizes are 22mm wide x30mm long, 22mm x 42mm, 22mm x 60mm, 22mm x 80mm and 22mm x 110mm.
What is SSD (Solid State Drive)?

Difference between HDD and SSD

Both of these storage devices have advantages and disadvantages. The choice is really dependent on the user, their needs, and budget. We have selected some key aspects to define the difference, let's look at them:

HDD vs SSD: Price

This is one of the major differences between HDD and SSD. SSDs cost more per gigabyte than traditional HDDs. SSDs based on SATA are cheaper than M2 and PCIe SSDs. SATA SSDs are not that much expensive when compared to a traditional hard drive. 

Since SSDs use new technology, they will remain expensive from the hard disk for the foreseeable future even after the price has been reduced for years.

HDD vs SSD: Capacity

In terms of capacity, a hard disk drive has little advantage over solid-state drives because; you can have plenty of space at a cheaper price. However, more physical space will be used to store several terabytes.

On the other hand, SSDs are very expensive if you want to buy more than 1TB. However, SSDs are much smaller in size if you obtain several terabytes. But, this is currently unusual due to price.

HDD vs SSD: Reliability/Durability

When it comes to durability, SSDs are said to be more durable. Since there are no moving parts, if you accidentally drop your laptop, your data is more likely to be protected.

HDDs, on the other hand, are more susceptible to physical damage because they are made of mechanical parts. If you drop an HDD or laptop, you are more likely to lose your data with a corrupted HDD or physical damage. This is an issue because there is a high probability that all moving parts inside the HDD may collide.

HDD vs SSD: Lifespan

Since each cell in a flash-memory supports the limited number of read/write cycles, the lifespan of HDDs is said to be more than SSDs. However, it is not a serious concern nowadays due to the TRIM command technology. This technology dynamically optimizes the read/write cycles. 

Typically, an SSD nowadays will take decades until the disk fails; Even if someone writes data to a hard disk 24 hours in a row. A person can upgrade their SSD due to the desire to have more storage before the current SSD fails or goes bad.

Also Read: Types of Computer Memory

HDD vs SSD: Speed

Speed is one of the biggest factors that can distinguish SSDs from HDDs. Speed in a hard disk is usually calculated according to RPM (revolutions per minute). The higher the RPM, the faster the HDD can perform.

Nowadays, HDDs typically spin at either 5400 RPM or 7200 RPM for personal computers and laptops. However, some server-based platters can spin up to 15000 RPM. In general, drives with 5400 RPM can deliver speeds of 100MB/s, while 7200 RPM can go up to 150 MB/s.

As there are no platters or other moving parts inside SSDs, the speed of SSDs is measured in MB/s. Typically, an SSD based on SATA can achieve speeds up to 550 MB/s, which is about three times higher than a traditional HDD. Moreover, the average speed for M.2/PCIe SSDs can go up to 2.2GB/s. Therefore, SSDs are much faster than HDDs.

HDD vs SSD: Gaming

When the computer drive has better read/write speeds, the gaming experience is improved, which makes SSDs more conducive to accessible gaming. Games can carry many GB of data as they are made up of assets such as high-resolution textures, audio, characters, models, and more. These data are loaded in parts or when needed.

Typically, games that take three to four minutes to load on an HDD can take one or two minutes on an SSD. In short, SSDs are game-changers.

HDD vs SSD: Noise

As there are moving parts inside the HDD, it makes little noise when in use. The faster the platter rotates inside the HDD, the more noise it produces. Besides, SSDs make no noise because there are no moving parts. SSDs are non-mechanical.

HDD vs SSD: Power Consumption

HDDs use more battery than SSDs. It is because there are moving parts inside the HDDs such as a platter which require energy to rotate itself from a standstill. Consequently, the energy consumed by HDDs is also wasted as friction or noise.

SSDs are energy efficient and can add extra hours of battery life when you are working on a laptop or tablet. 

HDD vs SSD: Other Consideration

There are many other things to consider before concluding what is right for you. For example, because SSDs don’t have moving parts, they are more robust. There is no fragmentation issue with SSDs as the data can be written anywhere without penalty. Due to random access, SSDs are incredibly fast compared to an HDD.

While SSDs are faster, robust, and more energy-efficient, HDDs are more affordable due to its price- especially when it comes to having larger capacities.

HDD and SSD: Side by Side Comparison

Let’s perform side by side comparison which might help you determine which is better for your individual needs. 

Attribute HDD SSD
Full-Form Hard Disk Drive Solid State Drive
Components Moving Mechanical Parts, e.g., arm. Electrical Parts, e.g., ICs.
Cost Cheap Expensive
Battery Consumption High Low
Speed Lower than SSD High
Capacity Higher Lower
Weight Heavy Light-weight
Size Large Compact
Data Transfer Sequential Random
Reliability Less, due to mechanical parts. More reliable than HDD.
R/W Time Higher number of R/W time Shorter R/W time
Fragmentation Issue Yes No
Magnetism Effect Susceptible to strong magnets. No effect, safe from magnetism.
Latency Higher Shorter
Noise Yes, due to spinning No Noise
Vibration Little vibration No vibration

Conclusion

If you are still confused and not able to decide which one is right for you, then let’s get straight to the conclusion:

An HDD might be the right choice if:
You don't want to spend a lot of money.
You don’t care about the speed of your computer like how fast it boots up or open programs.
You want to keep your data saved for a longer time.

An SSD might be the right choice if:
You can pay more because you cannot negotiate with the performance.
You are not willing to store the data for so long, especially not willing to rewriting the data many times.

The best solution that people prefer is to use a combination, where the SSD will be used as a primary drive to store operating systems and software, and HDD will be used as a secondary drive to store your personal data files or media files. In this way, you will get an all-round machine with a balance of price, performance, and space.

Read More

Different Types of Computer Networks: LAN, MAN, and WAN

Types of Computer Networks

There are different types of computer networks that can be used for sharing data, resources, and applications. Computer networks are generally distinguished based on their size as well as their functions. Some computer networks are wired and some are wireless. Wireless networks are such types of computer networks that do not require cables. In this article, we have covered all the available computer networks including their definitions and characteristics. Before explaining the types of computer networks, let's have a quick overview of computer networks.

What You Will Learn


What is a network?

A network is defined as a group of two or more electronic devices linked to each other. A network can be built with a small handful of devices within a single room to millions of devices spread across the entire world. Networks are typically a medium to establish a connection between nodes (a group of devices) or computers. It can be established using either wired sources or wireless media.

What is a computer network?

A computer network is a group of two or more computers linked together for exchanging information, data, or resources.” 

A simple computer network can be established from two computers while a complex computer network can be established from thousands or millions of computers.

Types of Computer Networks

According to the size, distance, and structure, a computer network can be mainly classified into four types:

PAN (Personal Area Network)
LAN (Local Area Network)
MAN (Metropolitan Area Network)
WAN (Wide Area Network)

Types of Computer Networks

Apart from the mentioned networks, there are some other networks that we have also explained below.
Let’s understand all of these networks in details:

What is PAN (Personal Area Network)?

A personal area network is a small network built around an individual or person. PAN is typically set up to share resources within a personal computer such as wireless keyboard and mouse, Bluetooth enabled headphones and speakers, wireless printers, scanners, and more. PANs can usually be installed in a range of about ten meters.

What is PAN (Personal Area Network)?

Types of Personal Area Network

Personal Area Networks are divided into the following two types: 

Wired Personal Area Network: A wired personal area network is set up using wired cables on a USB (universal serial bus) port.

Wireless Personal Area Network: The Wireless Personal Area Network is set up using wireless technologies such as Bluetooth, Wi-Fi, and NFC, etc.

Types of Personal Area Network 

What is LAN (Local Area Network)?

A Local Area Network is a group of computers or peripheral devices connected in a small geographic area such as a house, building, school, or office, etc. It is a widely used network for sharing hardware devices such as printers, and software such as application programs or data. LANs are built with inexpensive networking and routing equipment such as hubs, network adapters, and Ethernet cables, etc. Various devices in a LAN are connected to a central device called a Hub or Switch. The LAN can be installed simultaneously in wired, wireless, or both forms. However, LAN typically relies on wired connections for better speed and increased security.

LANs are mostly installed on private IP addresses and do not involve heavy routing. The LAN allows it to operate under the local domain and can be controlled centrally. LAN involves either Ethernet or Token-ring technology. Ethernet is the most widely used LAN technology based on a star topology, while the token-ring is rarely seen. 

Before, LANs were capable of transferring the data with a speed ranging from 4 to 16 megabits per second (Mbps). Nowadays, the speed lies between 100 to 1000 Mbps, depending on the number of connections.

What is LAN (Local Area Network)?

Types of LAN

Local Area Networks are divided into the following four types:

ARCNET: ARCNET stands for “Attached Resource Computer NETwork”. It is considered the oldest, simplest, and cheapest type of Local Area Network. It was the first networking system for microcomputers. ARCNET was introduced by Datapoint Corporation in 1977. It became popular in 1980 and used widely to process office automation tasks. ARCNET could handle up to 255 nodes per network.

Ethernet: Ethernet is a part of computer networking technologies designed for local area networks. It was invented in 1980 by Robert Metcalfe. Ethernet has largely replaced competing LAN technologies and is known as one of the most widely implemented LAN standards. Ethernet involves a token-bus topology network with the data transfer speed up to 10 Mbps. However, a later version of Ethernet (known as 100Base-T or Fast Ethernet) supports data transfer rates up to 100 Mbps. The latest version, called Gigabit Ethernet, supports data transfer rates up to 1000 Mbps.

Token Ring: The token ring is a type of local area network in which all devices are connected to a ring topology and transmit one or more tokens for channel acquisition. The devices are connected in a circle and receive tokens as required. A token rotates continuously in a circular ring. A token is a special type of frame of 3 bytes that keeps traveling along with the ring servers or stations. A token can transmit a data frame only when it has a token. Once the data frame is successfully received, the tokens are issued.

FDDI: FDDI stands for “Fiber Distributed Data Interface”. It is a group of ANSI and ISO standards for data transmission in LAN over optical media. It is used in large distances covering up to 200 kilometers in diameter. FDDI includes two token rings, a primary ring for transferring data or tokens, and a secondary ring as a backup in case the primary ring does not work.

Types of Local Area Network

What is MAN (Metropolitan Area Network)?

A Metropolitan Area Network is a network consisting of different LANs throughout the larger geographic area such as an entire city. The primary aim of MAN is to expand the Local Area Networks. Most of the Government sectors and other private organizations use MAN to connect all of its offices in a city. MAN uses high-capacity fiber optics to provide increased speed. 

The MAN works between the local area network and the wide-area network and provides an uplink from the LAN to the WAN or the Internet. The MAN is typically installed in a range of more than 100 kilometers and often consists of a combination of various hardware components and transmission media. A widely used example of MAN is a cable TV network, covering an entire city or various LANs. Commonly used protocols in MAN are Frame Relay, ATM, RS-232, ADSL, OC-3, ISDN, etc. 

What is MAN (Metropolitan Area Network)?

What is WAN (Wide Area Network)?

As the name suggests, the Wide Area Network is a network that covers a large geographical area such as states, countries, or the entire world. WAN is generally a connection between LANs and MANs. WANs are considered as the slowest data communication medium because of the largest distances. An installation cost of a wide area network is very high as it uses expensive network equipment. WAN may include advanced technologies such as Synchronous Optical Network (SONET), Frame Relay, and ATM (Asynchronous Transfer Mode). WAN uses Optic wires, Microwaves, and Satellite for data transmission.

The internet and telecommunication networks are the best examples of the Wide Area Network.

What is WAN (Wide Area Network)?

Types of WAN

There are typically two types of Wide Area Networks:

Enterprise WAN: An enterprise WAN is a network that connects all the LANs of any organization to different sites or different locations. Enterprise WAN can be seen in large, broad organizations such as corporates, universities, and governments. These are private networks. 

Global WAN: Unlike enterprise WAN, Global WAN is a network that connects diverse organizations and institutions throughout the world. This type of network can be private or public depending on the requirements. Private WAN is known as Intranet and belongs to a specific organization. The internet is an example of Global WAN or Public WAN.

Types of Wide Area Network

Other Networks

Apart from the above types of networks, some other important types of networks are as follows:

Wireless Local Area Network (WLAN)
System Area Network (SAN)
Storage Area Network (also known as SAN)
Home Area Network (HAN)
Passive Optical Local Area Network (POLAN)
Campus Area Network (CAN)
Enterprise Private Network (EPN)
Virtual Private Network (VPN)

These networks are also defined based on geographical area or location. Let’s discuss each in details:

Wireless Local Area Network

A Wireless Local Area Network or WLAN is a network that is used to connect different devices by using radio or infrared signals within a limited area. WLANs are established by using a device known as an Access Point (AP) to the edge of the wired network. These APs are considered as the base stations for the wireless network. Wireless clients such as mobile devices, laptops, or fixed devices having wireless adaptors can communicate with the AP for data transmission. The WLANs are usually established in home, school, or office building. It can be public or private depending on the requirement.

System Area Network

A System Area Network or SAN is used for local networks. It is designed to achieve high-speed connections in server-to-server applications (cluster environments), storage area networks, and processor-to-processor applications. The computers connected on a System-Area Network operate as a single system at a very high speed. These networks are often used where high processing is required.

Storage Area Network

As the name suggests, a Storage Area Network is used to connect shared pools of storage devices to multiple servers. SANs do not rely on LANs or MANs. Besides, they use their own high-performance network to place storage resources which works as a drive attached to a server. In other words, it is used to make consolidated, block-level data storage devices. It typically supports data storage, retrieval, and replication on networks by using high-end servers, several disk arrays, and Fiber Channel interconnection technology. Types of storage-area networks include converged, virtual, and unified SANs. 

Also Read: Types of Computer Storage (Memory)

Home Area Network

A Home Area Network is established by interconnecting two or more computers within the home. The Home Area Network generally forms a local area network that allows the owner to communicate between multiple computers. HAN helps for sharing files, programs, printers, and other peripherals within the home. This type of network is useful for homes having more than one computer.

Passive Optical Local Area Network

Passive Optical Local Area Network or POLAN is a technology that allows users to integrate into structured cabling. It is an alternative to traditional switch-based Ethernet. It is basically designed to overcome concerns about supporting traditional Ethernet protocols and network applications such as Power over Ethernet (PoE). POLAN uses optical splitter that separates an optical signal from a single-mode optical fiber and converts it into multiple signals.

Campus Area Network

A Campus Area Network is built up by interconnecting LANs within a specific geographical area. These networks are larger than LANs but smaller than MANs. These types of networks are usually seen in the university campus, school, or small businesses. It is also referred to as “Corporate Area Network”.

Enterprise Private Network

An Enterprise Private Network or EPN is a network that is designed for businesses to securely connect all the computers from multiple locations to transfer data or other computer resources. This type of network is only accessible from within the enterprise to provide increased security. 

Virtual Private Network

A virtual private network or VPN is a private network that uses a public network to connect remote sites or users together over a secure network connection. VPNs allow users to transmit or retrieve data as if their devices were directly connected to private networks, even if they were not. It uses data encryption techniques to secure data transmission. It is often used by organizations that cannot afford their own infrastructure for connectivity between two stations over long distances.

Summary

A computer network is usually classified according to their size as well as its purpose. Widely used types of computer networks are PAN, LAN, MAN, and WAN. Apart from these networks, there are some other networks like WLAN, SAN, HAN, POLAN, CAN, EPN, and VPN.


Read More

Top 30 SDLC Interview Questions and Answers 2020

SDLC Interview Questions and Answers

Mostly asked SDLC Interview Questions and Answers are described below:

Quick Links


1) What is SDLC? What is the SDLC process?

SDLC is an abbreviation for "Software Development Life Cycle". SDLC is the process of systematic development of software by following every step in the development process. The entire process may involve different software development methodologies. SDLC is useful for improving the quality of software and ensuring the software properly meets user expectations.

2) What are the different phases involved in the SDLC process?

SDLC approach is used to design or develop software in a systematic manner. Following are the phases involved in an SDLC process:

Planning or Requirement Analysis
System Design
Development
Coding
Testing
Deployment and Maintenance

Software Development Life Cycle (SDLC) Phases

3) What is the initial phase of SDLC?

The initial phase of the software development life cycle is referred to as "Planning or Requirement Analysis”. It means that the developers figure out the basic requirements of the project and build a plan to achieve that approach. There are several factors such as technical, economic, and operational feasibility which are carried out in the initial phase. The possible risks and other unexpected circumstances that could be a part of the software project are also discussed in this phase.

4) What is the feasibility study? Who does it?

The feasibility study is one of the important factors of the software development life cycle. It allows assessing how viable and beneficial software project development will be for any organization. The software analyst is responsible to perform a complete study to understand the technical, economic, and operational feasibility of any project.

Technical: Under the technical study, it is measured whether the system can be developed according to the requirements. The study also includes the suitability of devices and operating systems for running the software. Tools and utilities required for the project are also reviewed in the technical study.

Economic: All economic factors such as resource transportation, training costs, tools and utility costs, and other costs and benefits are estimated under economic feasibility.

Operational: The operational study allows us to measure whether the organization will adjust properly according to the changes made as per the demand of the software project. The study also includes whether the change is useful.

5) What is the design phase in SDLC?

In the design phase, the basic structure for the development of the software is designed according to the software requirement specification (SRS). The requirements and other details are documented in a DDS (Design Document Specification). The requirements are further converted into a logical structure and implemented in software through a specific programming language. The design phase is the most challenging phase of the software development life cycle. 

6) What is mean by SRS?

SRS stands for “Software Requirement Specification”. It is typically a document that is generated at the time of requirement gathering. SRS is referred to as an agreement between the developer and the customer containing all the functional and non-functional requirements of the software to be developed. SRS works as an input for the software design phase. It is built with the proper communication between Business Analysts, client, and the technical team.

Functional Requirements: Functional requirements are the functional features and specifications that a user expects from the software.

Non-functional Requirements: Non-functional requirements include security, performance, user interface design, interoperability, cost, etc. expected by users from the software.

7) State the importance of the Coding phase.

In the coding phase of SDLC, the design document is converted into an executable programming language. This means that the actual programming or coding for the development of the software is performed in this phase according to SRS and DDS. Based on the requirements, the programming language is selected like Java, Python, or C#, etc.

This phase is said to be the longest phase of the software development life cycle. The output obtained from the coding phase acts as the input of the test phase.

8) What is the testing phase of SDLC?

Prior to deployment of software, programming, or code is tested against DDS to ensure that the software is actually performing according to the specifications addressed during the requirements analysis phase. During the testing phase, various types of tests are done such as unit testing, integration testing, system testing, and acceptance testing, etc. The software testing team works closely with developers to detect and resolve software bugs, which may have occurred in the previous phase. The entire software is retested until it meets the specified requirements outlined in SRS.

Nowadays, there are advanced testing tools that allow firms or organizations to test software for selected custom requirements.

9) What tasks are performed in the deployment and maintenance phase?

After the software is tested, it is distributed/deployed to customers for their use. The software can be released as a demo to get user feedback, to further improve it. The process of transferring authentication and ownership of software, deployment tasks, and closing of a software project is done in the deployment phase.

However, software maintenance is performed after deployment to implement new requirements and to fix bugs present in the software even after the testing phase. The software is continuously monitored during the maintenance phase to measure its stability, flexibility, performance, and user-friendliness.

10) Explain the Software Release Process.

The software release process is the distribution of software to the customer. After the testing phase, the project manager typically builds a release team consisting of developers, testers, system administrators, and project management executive. The release team is responsible for the deployment of the software and provides training to use it if necessary.

11) What are the different models of the software development life cycle?

There are several models used in SDLC. The following are the commonly used SDLC methodologies or models:

Agile Model
Waterfall Model
Spiral Model
Rapid Application Development (RAD) Model
Iterative or Incremental Model
Evolutionary Prototype Model
V-Shaped Model
Big-bang Model
Capability Maturity Model
DevOps Model

Software Development Life Cycle (SDLC) Models

12) Which SDLC model is the best?

SDLC models are adopted according to the requirements of the development process. Each model offers unique features for software development. Therefore, it may vary software-to-software to decide which model is best. However, the Agile Model is currently the most popular and widely adopted by software firms.

13) What is the Agile Model in SDLC? What are the advantages of the Agile Model? 

The Agile method is a quick and realistic development approach to deliver software with few functional requirements within two or three weeks. The model is based on iterative and incremental development where requirements and solutions are developed through collaboration between cross-functional teams. At each iteration, the software is tested.

The Agile method needs more engagement and support from the customer as testers and developers work together to establish whether the software meets the requirements. The risks in the Agile method are minor because constant changes are made based on user feedback.

Advantages of Agile Model
It is easy to implement, understand, and use.
It has simple and easy deliverables that are often planned on a sprint basis that ensures frequent and high-quality deliverables.
It is suitable for both small and large software development projects.

14) What is the Waterfall model in SDLC? Write its advantages and disadvantages.

The waterfall model is one of the earliest and widely used software development processes. The model is based on a sequential design process which means that we move on to the next phase only after the first phase is successfully completed. Therefore, it is also known as the "Linear Sequential Life Cycle Model". This type of development model is typically used for small projects with no uncertain requirements.

Advantages of the Waterfall Model
Simple, easy to understand, and use.
Suitable for small projects where requirements are well understood.
Easy to manage due to the rigidity of the model (each phase has specific deliverables and a review process).
Easy to implement because of its linear process.
Allows departmentalization and managerial control.

Disadvantages of Waterfall Model
Difficulty in estimating the time and cost of the process resulting in delayed delivery of the product.
Poor model for long and ongoing projects.
High amounts of risk and uncertainty.
Difficulty in implementing new features or requirements in the current development process.
Not suitable for complex and object-oriented projects or projects where requirements are at a moderate to high risk of change.

15) What is the Spiral model in SDLC?

The spiral model is similar to the iterative model that is typically implemented in high-risk projects. The spiral life cycle model consists of four stages: planning, risk analysis, engineering, and evaluation. A software project goes through these stages in iterations (called spiral in this model). All activities in this model are organized as a spiral.

The spiral model is a combination of the prototype model and the waterfall model. It is generally used for large, expensive, and complex projects.

16) What is the RAD model in SDLC?

The term RAD stands for “Rapid Application Development”. As the name itself suggests, the RAD model is a technique for developing fast and high-quality software products by:

Requirements using workshops or focus groups.
Prototyping and early, reiterative user testing of designs.
The re-use of software components.
A rigidly paced schedule that defers design improvements to the next product version.
Less formality in reviews and other team communication.

17) What is the Iterative model in SDLC?

An iterative model does not attempt to begin with a full specification of requirements. Instead, development begins by specifying and implementing only part of the software, which can then be reviewed to identify further requirements. This process is then repeated, creating a new version of the software for each cycle of the model. The iterative model is very simple to understand and use.

18) What is the Prototype model in SDLC?

A prototype model is an immediate approximation of the final software but is not based on strict planning. A prototype is usually a working sample of software that allows users to test the product to ensure if it meets their needs.

Based on the analysis and customer feedback, the developers redefine requirements, modify software design, and produce new Prototypes. The prototypes are enhanced and updated little by little and tested in a real-time environment with the customers. This process reduces the total cost and time taken for development as problems are fixed and all requirements of customers are added before implementation. The available types of prototyping are Rapid, Incremental, Evolutionary, and Extreme.

19) What are the different types of Prototype models?

The following are the types of Prototype models:

The Patch-Up Prototype
Non-operational Prototype
First-of-a-Series Prototype
Selected Features Prototype

20) What is the V-shaped model in SDLC? What are some advantages and disadvantages of the V-shaped model? 

The V-shaped model is an updated form of the waterfall model. As the name suggests, the V-shaped model stands for the validation and validation model. The verification phase includes requirements analysis, product design, architecture design, and module design. The validation phase consists of unit testing, system testing, integration, and acceptance testing. In a V-shaped model, a phase is started only after successfully completing the last phase. Developers and testers work parallel to achieve product requirements. 

Advantages of V-shaped Model
The higher success rate as multiple stages of testing are performed.
Due to multiple stage testing, the quality of the product increases.
Each stage has specific deliverables.
Supports various development methods such as structured and object-oriented system development.
Suitable for small projects where the requirements are easily understood.

Disadvantages of V-shaped Model
Expensive, rigid, and least flexible.
Software is developed during the implementation phase, so there will be no prototype of the software project.
It is difficult to add new requirements and changes in the middle of the process as the entire system will be updated, including test documents and requirements documents.

21) What is the Big-bang model in SDLC?

The Big Bang model has no specific process. Planning takes less time and the requirements are implemented without much analysis and research. It is commonly used for small projects and is not suggested for large or complex projects. The Big Bang model is a high-risk model, even the customer is not sure about their needs and objectives. If the requirements are misunderstood, the entire project may go in the wrong direction and may have to be restarted.

22) What is the Capability Maturity Model in SDLC? What are the capability maturity levels?

The Capability Maturity Model (CMM) is a standard or benchmark for analyzing and measuring the maturity of software development processes being followed in an organization. It is a technique used to develop and refine a company’s software development process.

CMM can be used to assess an organization against a scale of five process maturity levels based on certain key process areas (KPAs). It describes the maturity of the organization based on the project the organization is working on with customers.

The five different levels of the Capability Maturity Model are:

Initial
Repeatable
Defined
Managed (Capable)
Optimizing (Efficient)

23) What is the DevOps model in SDLC?

The DevOps methodology is one of the latest methodologies in the process of the software development life cycle. As the name suggests, Developers and Operations teams work closely as a single team. This helps accelerate innovation and deploy higher-quality and more reliable software products and functionalities. In a DevOps model, small and frequent updates are provided for software products. Discipline, continuous feedback and process improvement, and automation of manual development processes are all indications of the DevOps model.

24) Explain HLD and LLD in short.

HLD: HLD stands for “High-Level Design". It provides the overall system design in terms of functional architecture and database design. It consists of the entire architectural design of the system from the main module to all sub-modules.

LLD: LLD stands for "Low-Level Design". The view of the application developed during the HLD is broken down into modules and programs. Then it is designed separately. Logic design is done for each application or program and then documented according to the program's prescribed specifications. A unit test is also made for each program.

25) What is the role of Requirements Gathering in SDLC?

In the initial phase of SDLC, requirements analysis and gathering are done. The project requirements are analyzed in terms of input data and the desired output. The cost analysis, benefits, and scheduling of the project are also analyzed in this phase. Business analysts are responsible for gathering requirements from the customer and document them. The document may be referred to as BRS (Business Requirements Specification) or CRS (Customer Requirements Specification) or PRD (Product Requirements Specification) or URS (User Requirements Specification) or BDD (Business Design Document).  Document name may vary from company to company but the process is the same.

26) What does STLC mean? How is it different from SDLC?

STLC stands for “Software Testing Life Cycle”. STLC is a process of testing any software in a planned and systematic way. Different organizations have different phases and methodologies in their software testing process. However, a generic STLC involves the following phases:

Planning
Test Design
Execution
Evaluation of Exit criteria
Closure

Difference between SDLC and STLC:

The main differences between SDLC and STLC are tabulated below:

SDLC STLC
Software Development Life Cycle (SDLC) is a process of systematic development of software from design to deployment. Software Testing Life Cycle (STLC) is a process of systematic testing of software by following different testing phases.
SDLC includes complete verification and validation of Process or Project. STLC only includes Validation.
Requirements are calculated from market and sales data and analyzed by the development team. Requirements are gathered from the SRS (Software Requirement Specification) by the testing team to test the software to see if it meets the requirements.
Coding is done to develop the software according to the needs of the SRS. Coding is done to develop test cases and to identify test points to use these cases.

27) What is mean by Software Maintenance? Can software bug fixes also be performed in software maintenance?

Software maintenance is a process of SDLC. Modifying or updating existing software after delivery is necessary to fix bugs and improve performance. Sometimes, new features are also required by the customer. Therefore the maintenance team consisting of developers, testers, and project manager officers is formed by the project manager who is responsible for software maintenance.

Various types of software maintenance are:

Corrective: Removing errors reported by users.
Adaptive: Dealing with changes in hardware and software environments where software is deployed.
Perfective: Adding new requirements or features as per user’s need.
Preventive: Taking appropriate measures to avoid future problems.

28) What is mean by the 'scope' of a project? 

The scope of the project or Software scope is the predefined objectives, goals, and expectations of the project. It is a well-defined boundary, which contains all the stages required to develop and distribute the software product. The software scope also includes all the artifacts, features, and functionalities to be distributed as a part of the software. The scope also helps identify what the final software will be able to do and what it will involve.

29) What is the primary aim of SDLC?

The primary purpose of the software development life cycle is to follow a systematic, planned approach to create a robust software application for the customer. The entire software development process is divided into several stages that make it easy to evaluate each stage of development and work concurrently on each stage. SDLC not only helps in easy development, but it also helps to ensure that the software meets customer requirements.

30) What are the Pros and Cons of the software development life cycle?

Pros:

The formal review is created at the end of each phase that allows maximum management control.
SDLC approach helps developers to create considerable system documentation which ensures that the software requirements meet stated business goals and objectives.
Many intermediate products can be produced with this approach according to user-defined standards and requirements. These products can be further improved to ensure that the business needs it.

Cons:

Producing documentation is time-consuming and expensive. It's even harder to keep updated.
SDLC encourages stiff implementation instead of creativity.
Users may not be able to easily review and evaluate intermediate products (such as data flow diagrams) according to their business needs.


Read More

Tips on How to Write a Resume in Less Than 15 Minutes

How to Write a Resume - TutorialsMate
A resume is an efficient way of presenting yourself. It is the first thing that you use to advertise yourself and try to prove that you are the best choice for your employer. You must show your major assets through your resume like:
Qualifications
Experience
Achievements
Capabilities
Qualities
You must prepare your resume in such a way that it makes an impression in the first look. It should define that you are a perfect fit for the corresponding job. An employer hardly takes 10-15 seconds to decide that you are an excellent choice or not. If your resume is appropriately written then, surely, you will be shortlisted for an interview.
Now without making the things difficult, I am going to take you through step by step guide for creating a great resume:

Steps 1: Address Section

The address section should be on top of your resume containing the details about your name, address, phone/mobile number, and email address. It should be left-aligned. It is always better to put a line below to the address section to make it separated from the rest of the document. For example:
ANIL SINGHANIA
A-2, New Street, Haryana - INDIA
Contact No: +91 1234567890
Email Id: anil.singhania@gmail.com


Step 2: Summary Section

This section should start with a heading called Summary. You should mention your over-all experience, achievements, certifications, and other positive attributes, etc. This part is just like a movie trailer where you get all the great scenes and get excited to watch a movie. Just like that, you have to select attractive and powerful words while documenting this part of your resume.
To draft a summary section, you will have to think about your great points and make them more attractive and impressive before you write down in your resume. Because if they don't leave a positive impact on the reader, then there is no point to use those things in the summary section.
If you are a fresher, then you should mention the creative and impressive projects that you have completed at the college/university.  Just highlight your achievements and capabilities etc.
Take a look at examples below:
Core expertise in checking and billing services related to 4G technology including GPRS, VOIP and VAS Services.
A Software Analyst Engineer with having overall 4 years of extensive experience including designing, developing, and testing complex telecom software.

Step 3: Education Detail

After getting the Summary section completed with the experience and achievements, it's time to start mentioning your educational details. Most of the organizations give preference to the educational background. Hence, it is very important to mention your academic records.  It is recommended to mention your highest qualification on top and then lower qualifications in the same order.
It is strongly recommended to mention information about your position, rank, percentage, or CPI along with that particular degree or certification. Every employer wants to see a clear picture of your educational background without wasting much time. Check out the following example that will guide you on how to put your educational records in a resume.
MCA (2018) from Meerut University with 61.20% marks
BCA (2015) from Meerut University with 60.20% marks
Intermediate (2012) from U.P. Board with 81% marks
High School (2010) from U.P. Board with 79.80% marks
If you have completed several certifications and training courses, then it is better to create a separate section for Trainings & Certifications just after the Educational Details.

Step 4: Technical Skills

In this section, you should mention your major skills on which you have a proper command. First, mention all of your skills on which you are confident and then put the rest of the skills at lower levels. Look at the example below to know how can you make this section attractive.
Programming Language: C, C++, Java, and Python
Operating Systems: Windows 10, Kali Linux, and Ubuntu
Databases: MySQL
You can add or reduce skills according to your criteria. You don't have to use all the skills. If you have knowledge in any particular protocol such as programming languages or Operating Systems etc, then mention only that specific skill.

Step 5: Projects Details

This section of your resume plays a crucial role, and you must mention all of your projects and assignments in this section. It will surely create a good impact on the reader. You need to mention your experiences with different types of projects, people, tools, and technologies. Just make sure that whatever you mention here, you do have enough knowledge about that. You have to be clear about your role, organizations, year of project, role, responsibilities, achievements, etc, on each and every project that you mention.
If you have experienced other than projects, then simply change the heading name to Experience Details and mention your experiences either in bulleted form or in simple and short paragraphs.
You should start with the most recent project and continue mentioning all of your projects or assignments in a series to the oldest ones. Check out the example below and understand how you can use this section to make your resume look attractive:
Railway Information System [Meerut University]
Duration: May 2019 - June 2019
Group Size: 3
Role: Developer
Skills Used: C
This system simply provides information about the list of trains from one route to another. Using this system, a user can also track the exact location of any particular train.

Step 6: Strengths

After sharing your complete details regarding projects, you can mention your strengths that will boost your chances to be qualified for an interview. We have listed some of the significant strengths, but it is recommended to use your own strength rather than choosing the one that you don't have. Look at the following examples:
➪ Great time management skill
➪ Work as a team in an organized manner
➪ Action-oriented and result-focused
➪ Good communication and presentation skills
➪ Quick learner with a good grasping ability
➪ High tolerance of stress and enjoys responsibilities

Step 7: Extra-Curricular

This section is not compulsory because it is only suitable if you have been involved in some extra activities. Although this section can make a positive impact on your resume, especially when you have the same curriculum as a reader. Following are the examples to give you an idea of how to mention your curricular activities:
➩ Won a second prize for swimming at inter state-level competition
➩ Have been a member of football training council at Meerut University
➩ Played chess at inter-state level
➩ Mimicry Artist, Singing and Reading

Step 8: Personal Detail

This is the last but an essential section of your resume, which will provide all of your necessary information. It is better to keep this section simple, neat, and clean. Check out the following example demonstrating how you can put your details in this section:
Date of Birth: 22nd Aug 1993
Sex: Male
Marital Status: Single
Nationality: INDIAN
Languages Known: English & Hindi

Step 9: Conclusion

Now you have successfully created a great resume. In this section, you can mention that the information given in the resume is verified by you. You should mention your name and the date at last.

Resume Template

As a bonus, I have put all the mentioned sections together in a single word document file which you can use to prepare a final resume easily. You can download the Resume Template from the given link, and you are free to modify the document as per your skills.

Related Searches

Read More

Subscribe To Get All The Latest Updates!


Popular Tutorials


Blog with us

CONNECT WITH US

Like Tutorialsmate on Facebook Follow Tutorialsmate on Facebook Add Tutorialsmate on Facebook Subscribe Tutorialsmate on Facebook Follow Tutorialsmate on Facebook Follow Tutorialsmate on Facebook
Get tutorialsmate on Google Play
© 2020 TutorialsMate. Designed by TutorialsMate