Data flow design is a way to represent the architectural design of the software. It expresses the input-process-output of the software. The designs start with creating the data flow diagram, and later we transform the diagram into a structure chart. The data flow diagram represents the data flow and data transformation within the software. However, the structure chart … [Read more...] about Data Flow Design
Software Engineering
Open Source Software Development
Open-source software development is a method of developing open-source software that is publicly accessible. Well, open-source software is distributed along with its source code. Thus the source code is available to all, with its original rights. The open-source software comes with a license that allows the other programmers to add patches to the source code or change or fix … [Read more...] about Open Source Software Development
Agile Development Model
The agile development model is a process model that decides what will be the plan of action to develop software. Here ‘Agile’ means ‘move quickly’. Now a day’s market condition changes frequently and the need of the customer evolves day by day. In order to cope with these rapid changes, the developer must approach an engineering practice that would allow them to remain … [Read more...] about Agile Development Model
Software Robustness
Software robustness is a quality check that reveals how much software is tolerant to faults. No software can proclaim to be faultless, every software has some or the other fault. But in your day to day life whenever you use software, you are never worried about its malfunction or about the correctness of the result provided by the software. This is because software is … [Read more...] about Software Robustness
Data Structure Design
The data structure design is a method that starts with the specification of the program (what the program does) and leads to the detailed program design expressed in the form of pseudo-code. This method is variably referred to as the 'Michael Jackson program design method' after the name of its inventor 'Michael Jackson'. Sometimes, we refer to it as 'Jackson Structured … [Read more...] about Data Structure Design
Functional Decomposition
Functional decomposition is a method used to design a detailed structure of components or modules of the software. Functional decomposition specifies the functions, activities, processes or actions that the component or module of the software has to perform. You can better understand the concept of functional decomposition with the help of an example. So in this context, we … [Read more...] about Functional Decomposition
Modularity in Software Engineering
Modularity specifies the separation of concerned 'components' of the software which can be addressed and named separately. These separated components are referred to as ‘modules’. These modules can be integrated to satisfy the requirement of other software. In this context, we will be discussing the concept of modularity in software design, why do we require modularity, … [Read more...] about Modularity in Software Engineering
Feasibility Study
A feasibility study specifies whether the proposed software project is practically possible or not. Whenever there arises a need for any software you don’t directly jump in developing the particular software. Instead, we must first analyze certain facts to realize whether the software is worthwhile or not and this is called the feasibility study. The feasibility study … [Read more...] about Feasibility Study
Requirement Engineering
Requirement engineering is the process of collecting, validating and managing the requirements essential for the development of the software, specified by the clients or the end-users. This task is performed at the initial stages of software development. The requirement engineering process involves a team of software developers or engineers, business analysts, customers and … [Read more...] about Requirement Engineering
Difference Between Black Box Testing and White Box Testing
Black box testing and white box testing both are the methods of testing the software. But, the main difference between black box and white box is that the black box testing checks the functionality of the software (external view) whereas, the white box testing, tests the internal structure or procedural design (internal view) of the software. Black box testing and white box … [Read more...] about Difference Between Black Box Testing and White Box Testing