Thursday, 16 February 2023

What is Project Traceability?

 Project traceability is the ability to trace and link requirements, design, development, testing, and deployment artifacts across the software development lifecycle. Traceability ensures that each requirement is met by a corresponding design element, implementation code, test case, and deployment artifact.

The primary goal of project traceability is to establish a clear relationship between various stages of the software development lifecycle and to enable stakeholders to trace back any change or issue in the software product to its origin. Traceability ensures that all requirements are met, and any changes in the requirements are appropriately tracked and managed.

Project traceability is often achieved through a traceability matrix, which is a table that links each requirement to its corresponding design element, implementation code, test case, and deployment artifact. The traceability matrix allows stakeholders to trace the progress of a requirement through each stage of the software development lifecycle and to ensure that all requirements are met.

Traceability is crucial in highly regulated industries, such as healthcare and aerospace, where software products must meet strict regulatory requirements. However, project traceability is also important in any software development project to ensure that the product meets the customer's needs and requirements and to enable effective tracking and management of changes throughout the development process.




High level vs low level design ?

High-level design and low-level design are two stages in the software design process that are used to define the architecture and functionality of a software system.

High-level design refers to the early stages of the design process where the overall architecture and requirements of the software system are defined. This includes defining the system's modules, interfaces, and data structures, as well as its overall functionality and user interface. High-level design provides an abstract view of the system and focuses on the system's major components and their interactions.

On the other hand, low-level design involves the detailed design of individual modules or components within the software system. This includes defining the algorithms, data structures, and programming language constructs to be used in each component. Low-level design focuses on the specific implementation details of the system and provides a more detailed view of how the system will function.

In summary, high-level design focuses on the overall architecture and functionality of the system, while low-level design focuses on the specific details of individual components within the system. Both are important stages in the software design process and contribute to the development of a high-quality, efficient software system.




Tuesday, 7 February 2023

What happens when you type a URL into your browser?

URL stands for Uniform Resource Locator. URL is the address of the website which you can find in the address bar of your web browser.

Example : https://www.debuggersspace.com/ 

DNS : DNS is short for Domain Name System. Like a phonebook, DNS maintains and maps the name of the website, i.e. URL, and particular IP address it links to. Every URL on the internet has a unique IP address which is of the computer which hosts the server of the website requested.

CNAME recordA Canonical Name record is a type of resource record in the Domain Name System that maps one domain name to another. This can prove convenient when running multiple services from a single IP address.

Steps for what happens when we enter a URL :

  1. Browser checks cache for DNS entry to find the corresponding IP address of website.
    It looks for following cache. If not found in one, then continues checking to the next until found.
    • Browser Cache
    • Operating Systems Cache
    • Router Cache
    • ISP Cache
  2. If not found in cache, ISP’s (Internet Service Provider) DNS server initiates a DNS query to find IP address of server that hosts the domain name.
    The requests are sent using small data packets that contain information content of request and IP address it is destined for.
  3. Browser initiates a TCP (Transfer Control Protocol) connection with the server 
  4. Browser sends an HTTP request to the web server. GET or POST request.
  5. Server on the host computer handles that request and sends back a response. It assembles a response in some format like JSON, XML and HTML.
  6. Server sends out an HTTP response along with the status of response.
  7. Browser displays HTML content
  8. Finally, Done.

How to improve applications performance which is hosted in cloud ?

Improving the performance of an application hosted in Microsoft Azure involves a combination of optimizing your application code, leveraging...