Network Security and Management

by Professor Brijendra Singh.

Systems Analysis and Design

by Professor Brijendra Singh.

Data Communication And Computer Networks

by Professor Brijendra Singh.

Quality Control And Reliability Analysis

by Professor Brijendra Singh

Wednesday, 29 April 2020

What is software reliability and its importance


What is Software Reliability ? and its importance
The subject of Reliability was first recognised during second word war. The primary steps taken were to establish joint Army and Navy parts standards and set up a vacuum tube development committee in June 1943. At the close of the war, between 1945 and 1950, several studies have been done.
High levels of reliability can be predicted and achieved as far as the hardware portions of modern large and complex real-time computer-based control systems are concerned but software is a critical part and plays a vital role in influencing the overall system reliability. Hardware reliability A statement of the ability of hardware to perform its functions for some period of time. It is usually expressed as MTBF (mean time between failures).
Software reliability tends to change continually during test periods. While hardware reliability may change during certain periods such as initial burn in or the end of useful life however it has a much greater tendency than software value.
From the beginning of the industrial age reliability problems have had to be considered. At first, reliability was confined to mechanical equipment. However, with the advent of electrification considerable efforts went into making the supply of electric power reliable. Reliability entered a new era with the onset of the electronic age, the age of jet aircraft flying at sonic, and supersonic speeds and the age of missiles and space vehicles.
Sometime soon, software reliability is going to become a highly visible and important field, unfortunately, given human nature, its thrust into prominence will only happen once we experience the software equivalent of the Chernobyl, Bhopal or space shuttle challenger disasters. Such a disaster is likely to happen in the next few years.
Software Reliability is important to attribute of software quality, together with functionality, usability, performance, serviceability, capability, installability, maintainability, and documentation. Software Reliability is hard to achieve because the complexity of software tends to be high.
Number of models have been established since the early 1970s, but how to quantify software reliability remains mostly unsolved.
There is no individual model that can be used in all situations. No model is complete or even representative.
Software Reliability is the probability that the program performs successfully, according to specification, for a given time period.
Most software models contain the following parts:
  • Assumptions
  • Factors
Differentiate between software reliability prediction models and software reliability estimation models
Basics
Prediction Models
Estimation Models
Data Reference
Uses historical information
Uses data from the current software development effort.
When used in development cycle
Usually made before development or test phases; can be used as early as concept phase.
Usually made later in the life cycle (after some data have been collected); not typically used in concept or development phases.
Time Frame
Predict reliability at some future time.
Estimate reliability at either present or some next time.

A reliability growth model is a numerical model of software reliability, which predicts how software reliability should improve over time as errors are discovered and repaired. These models help the manager in deciding how much efforts should be devoted to testing. The objective of the project manager is to test and debug the system until the required level of reliability is reached.



Software Architecture and Design


Software Architecture and Design
Software architecture is a high-level structure of software, a discipline of creating such structures, and the documentation of these structures. Software design process allocates the requirements to either software or hardware systems by establishing an overall software architecture. Software design involves identifying and describing the essential software abstractions and their relationships.
Software design is an explanation of the structure of the software to be implemented, data models, structures used by the system, interfaces between system components, and algorithms used. Designers do not enter at a finished design instantly but develop the design iteratively. They insert requirement and element as they develop their design with stable backtracking to accurate former designs. Activities of design process are as:

1. Architectural design exposes the top-level design and permits a designer to reason about satisfaction of software requirements in terms of assignment of functionality to design elements and allows designers to develop recurring patterns of software organization. There is different architectural design style such as:
  • Data-Flow Architecture (Pipes and Filters)
  • Data-Flow Architecture (Batch Sequential)
  • Data-Centered Architecture
  • Layered Architecture (OS Type)
  • Layered Architecture (Protocol Layer Type)
  • Call and Return Architecture 
  • Client-Server Architecture
2. Interface design is part of software and is designed as it is expected to provide the user. Interface design focuses on anticipating what users might need to do and ensuring that the interface has elements that are easy to understand, access, and use to facilitate those actions. User interface brings together concepts from interaction design, visual design, and information architecture. User interface (UI) is divided into two categories: command line interface (CLI) and graphical user interface (GUI).
There are numerous tools available using which the designers can develop complete GUI on a mouse click. Some tools can be embedded into the software environment such as integrated development environment (IDE).GUI implementation tools provide dominant array of GUI controls. For software customization, software designers can change the code consequently. There are different segments of GUI tools according to their different use and platform. For example: Computer GUI, Mobile GUI, Touch-Screen GUI etc. Here is a list of some tools which is used to create GUI:
  • FLUID
  • LucidChart
  • AppInventor (Android)
  • Wavemaker
  • Visual Studio
3. Component design is a design specification for adaptable components. Using the generation procedure set of these components is implemented for certain products and software. For example: A component design is a specification for an adaptable component that can be used to assemble a draft application work product. The adaptation specification defines the adaptation parameters for this adaptable component. The interface specification is parameterized where suitable in terms of these adaptation parameters.

4. Database design is a process of developing a detailed data model of database which contains all the needed physical and logical design. Physical storage parameters needed to generate a design in a data definition language which can then be used to create a database. For example: The unified modeling language (UML) is used to expressing complex systems in visual way which is created in an object oriented language. For instance, an entity is known as a class in UML.

Software architecture usually refers to the bigger structures of software and it deals with how many software processes assist to carry out their tasks. Software design refers to the smaller structures and it deals with the internal design of a single software process. Software architecture is a program or computing system which depicts the system that aids in understanding how the system will perform and work.
The architecture design process focuses on the decomposition of a system into different components and their relations to satisfy functional and non-functional requirements. The key inputs to software architecture are: 

  1.The requirements produced by the analysis tasks.
         2.The hardware architecture. 

The result or output of the architecture design process is an architectural depiction. The basic architecture design process is composed in three steps: understand the problem, evaluate the architecture design, and transform the architecture design. Software architecture is essential because it affects the maintainability, performance, availability, and robustness of software. The non-functional requirements depend on the software architecture in which these components are planned and communicated. It is a creative process because the activities within the process depend on the type of system being developed, the exact requirements for the system, and the background and experience of the system architect.
Software design generally involves problem solving and planning a software solution. This includes both a low level component and algorithm design, and a high level component and architecture design. Software architecture serves as the blueprint for both the project and the system developing it, defining the work assignments that must be carried out by design and implementation teams. The architecture is the major carrier of system qualities such as usability, performance, modifiability, reliability, and security. None of which can be achieved without a unifying architectural rules and vision. Architecture is an object for early analysis to make confident that a design approach will give up an acceptable system. By developing an effective architecture, we can identify design problems and risks which mitigate them early in the software development process.
Software architecture is the worthy study of the large scale structures of software systems. From its qualitative descriptions of useful software organizations, software architecture has matured to include wide explorations of notations, analysis techniques, tools, and creation methods. Initially the research area interpreted software practice and offers concrete direction for complex software design. Software architecture interacts and overlaps with the study of software families, software design, domain specific design, specific classes of components, component based reuse, and program analysis. It is not productive to try strict division among these areas.
For software design and architecture, to mature into a robust area capable of handling the issues posed by emerging applications, advances in numerous areas are essential. First is sufficient support for moving from architecture to implementation and gracefully moving between design and coding. If design does not eventually support development of a satisfactory implementation then it is an unsuccessful effort. Various existing design approaches fall silent when it comes to coding. Second is capacity to characterize stakeholder’s interests. Various interests and multiple perspectives enforce demands for assessing or guaranteeing consistency of design decisions as well as demands for several presentations of select design data. Third, as software applications become gradually interwoven into an organization there is a need to develop co-design of software. Fourth is the design of applications as seen and practiced by users. 
























Knowledge Management


Knowledge Management 
Knowledge Management is the process of creating, sharing, using and managing the knowledge and information of an organisation. It refers to a multidisciplinary approach to achieve organisational objectives by making the best use of knowledge.
Knowledge can refer to a theoretical or practical understanding of a subject. It can be implicit (as with practical skill or expertise) or explicit (as with the theoretical understanding of a subject). Knowledge management is essentially about getting the right knowledge to the right person at the right time. Different frameworks for distinguishing between different 'types of' knowledge exist.

Tacit knowledge (It is also known as implicit knowledge)  is the kind of knowledge that is difficult to transfer to another person by means of writing it down or verbalizing it. For example, Delhi is in the INDIA is a piece of explicit knowledge that can be written down, transmitted, and understood by a recipient. However, the ability to speak a language, ride a horse, play a musical instrument, or design and use complex equipment requires all sorts of knowledge which is not always known explicitly, even by expert practitioners, and which is difficult or impossible to explicitly transfer to other people.

Explicit knowledge (It is also known as expressive knowledge) is the knowledge that can be readily articulated, codified, stored and accessed. It can be easily transmitted to others. Most forms of explicit knowledge can be stored in certain media, It may be in audio, video or write form. Explicit knowledge is often seen as complementary to tacit knowledge.

It is easy to manage explicit knowledge. It is important to remember that knowledge management is not about managing knowledge for knowledge's sake. 

Concept: Knowledge management strategy must be dependent on corporate strategy. The objective is to manage, share, and create relevant knowledge assets that will help meet tactical and strategic requirements. The organisational environment influences the way people interact, the context within which knowledge is created, the resistance they will have towards certain changes, and ultimately the way they share (or the way they do not share) knowledge. Knowledge Management requires competent and experienced leadership at all levels.




Tuesday, 28 April 2020

Data Mining, Database and Temporal Database



Data Mining, Database and Temporal Database



Data mining is the process of discovering patterns in large data sets involving methods at the intersection of  machine learning, statistics, and database systems. OR it can be defined as Data Mining is the process of analyzing data from different perspectives and summarizing the results as useful information.


Explain some important terms, which are used in data mining:

data set (or dataset) is a collection of data. In the case of tabular data, a data set corresponds to one or more database tables, where every column of a table represents a particular variable, and each row corresponds to a given record of the data set in question. The data set lists values for each of the variables, such as height and weight of an object, for each member of the data set. Each value is known as a datum. Data sets can also consist of a collection of documents or files.

Machine learning (ML) is the study of computer algorithms that improve automatically through experience. It is seen as a subset of artificial intelligence. Machine learning algorithms build a mathematical model based on sample data, known as training data, in order to make predictions or decisions without being explicitly programmed to do so. Machine learning algorithms are used in a wide variety of applications, such as email filtering and computer vision, where it is difficult or infeasible to develop conventional algorithms to perform the needed tasks.

DBMS

The DBMS is the software that interacts with end-users, applications, and the database itself to capture and analyze the data. The DBMS software additionally encompasses the core facilities provided to administer the database. The sum total of the database, the DBMS and the associated applications can be referred to as a "database system". Often the term "database" is also used to loosely refer to any of the DBMS, the database system or an application associated with the database. database is an organized collection of data, generally stored and accessed electronically from a computer system. Where databases are more complex they are often developed using formal design and modelling techniques.

Temporal database stores data relating to time instances. It offers temporal data types and stores information relating to past, present and future time. Temporal databases could be uni-temporal, bi-temporal or tri-temporal.
More specifically the temporal aspects usually include valid time, transaction time or decision time.
  • Valid time is the time period during which a fact is true in the real world.
  • Transaction time is the time period during which a fact stored in the database was known.
  • Decision time is the time period during which a fact stored in the database was decided to be valid.

Temporal Data Mining is a rapidly evolving area of research that is at the intersection of several disciplines, including statistics (e.g., time series analysis), temporal pattern recognition, temporal databases, optimisation, visualisation, high-performance computing, and parallel computing. 

The research area of temporal databases has made important contributions in characterizing the semantics of such information and in providing expressive and efficient means to model, store, and query temporal data.




An Efficient Approach for Improving Website Design



An Efficient Approach for Improving Website Design

Prof. Brijendra Singh, Hemant Kumar Singh

https://www.researchgate.net/profile/Brijendra_Singh16



Day by day competition is increasing, organizations do not want to annotate and loose user due to poor website structure. The objective of organization is that user must get required information in one or two clicks away in their website. At present two approaches are available to improve the website structure i.e. Web personalization and Web Transformation. In web personalization web pages are rearranged in a website and in Web Transformation links on web pages increased without changing the original structure. These approaches make the navigation effective for the user but how can it be find that rearranging or re-linking of website is required. The objective of the paper is to help website developers whenever website design needs enhancement in website. This paper proposed an efficient approach for improving website design which is based on the threshold value. It finds average number of clicks …



Published by
Prof. Brijendra Singh, Hemant Kumar Singh
IEEE Conference
2015 Fifth International Conference on Communication Systems and Network Technologies
Publication date   2015/4/4   
Pages  945-949

Monday, 27 April 2020

Algorithm for Web Server Security


Algorithm for Web Server Security


by  &Agarwal

The Web application layer is the number one target for malicious online attacks. Millions of Web sites regulate access to highly sensitive information including social security numbers, credit card numbers, names, addresses, birthdates, intellectual property, financial records, trade secrets, medical data, and more. These data must be rigorously protected from intruders. To reduce the risk of losses, brand damage, theft of intellectual property, legal liability, and fines, enterprises need timely information about how Web sites are penetrated and how they can be defended. This article presents an algorithm to generate the security report. The proposed algorithm uses the experimental data of 69 different Indian research/educational Web sites and the generated security report took place after checking all the possible prospective of obtained experimental attributes dataset. This article also presents the changes in the security settings of the Indian Web sites within 3 years, on the bases of open port’s study of 3 years experimental result. Based on port scanning, preventive security measures can be taken by organizations as a policy matter.

PUBLISHED IN IETE Journal of Research

Publication Cover
 
Journal

IETE Journal of Research 

Volume 57, 2011 - Issue 5

Everyone reacts differently to stressful situations


Everyone reacts differently to stressful situations

Taking care of yourself, your friends, and family can help you cope with stress. Helping others cope with their stress can also make your community stronger. 
Stress is actually a normal part of life. At times, it serves a useful purpose. Stress can motivate you to get that promotion at work, or run the last mile of a marathon. But if you don't get a handle on your stress and it becomes long-term, it can seriously interfere with your job, family life, and health. 
How you respond to the outbreak can depend on your background, the things that make you different from other people, and the community you live in.
A positive attitude helps stop you from being dragged down by unhappy feelings. A positive attitude also boosts the problem solving that a stressful situation requires.
People who may respond more strongly to the stress of a crisis include people who are helping with the response to COVID-19, like doctors, other health care providers, and first responders.
We must focus on facts, reject rumours and theories. we can avoid fear or depression upto certain level with the help of correct and reliable information.  We must know, that knowledge is power; If you know correct information about a certain issue, then less fearful you may feel. We must make sure to access and believe only the most reliable sources of information for self-protection. It is essential for us, Do not follow sensational news or social media posts which may impact on your mental state as well as do not spread or share any unverified news or information further.