Fourth-generation techniques encompass a broad array of software tools. The tool then automatically generates source code based on the developer's specification.
A software development environment that supports that 4GT paradigm includes some or all of the following tools: non-procedural languages for database query, report generation, data manipulation, screen interaction and definition, code generation, high-level graphics capability, spreadsheet capability, and automatic generation of HTML and languages used for website creation.
Like other paradigms, 4GT begins with the requirements gathering step customer describes requirements and they will be translated directly into an operational model. But this is unworkable, because the customer may be MBBS about the specification or unable to specify them in a manner that a 4GT tool can consume.
For Small applications, the requirements stage will be followed by implementation using the non-procedural language. For large projects, it is necessary to develop a design strategy for the system even if your 4gl is to be used. Implementation involved automatic code generation according to the specifications of the developer.
To transform 4GT implementation into a product, the developer has to conduct proper testing, develop documentation and perform all other integration activities that are needed for any other SE paradigm.
The major advantage of this model is the significant production of software development time and increased productivity. The disadvantage is that it is not much easy to use 4GT tools, like using a programming language.
The use of 4GT is a good approach for many application areas. Corporate with Case tools code generator, 4GT offers a good solution to software problems. The use of 4GT reduces the development time to a very great extent. However, the use of 4GT for large software development efforts. Demand more analysis, design and testing to save I am in coding.
Too many variables-human, technical, environmental, political can affect the ultimate cost of software and the effort applied to develop it.
To achieve reliable cost and effort estimates, several options arise:
Software project estimation is too complex if it is considered as a single piece. For that reason, we decompose the problem into a set of smaller problems. Before an estimation can be made, the project planner must understand the scope of the software to built and generate an estimate of its "size".
In the context of project planning, size refers to the quantifiable outcome of a software project. If a direct approach is taken, size can be measured in LOC. If an indirect approach is chosen, the size is presented as FP.
There are four different approaches to the size:
Fuzzy Logic sizing
This approach uses approximate reasoning techniques. To apply these approaches, the planners must identify those types of applications, establish its magnitude on a quantitative scale and independent magnitude. The planner and use their personal experience and historical database.
Function point sizing
We have to calculate FP from the number of user inputs, output, inquires, files and external interfaces.
Standard component sizing
Software is composed of a number of different standard components. For example, standard components of information systems are modules, screens, reports, programs, files and object-level instruction. The project planner estimates the number of occurrences of each standard component. By the use of historical project data, the planner determines the delivered size per standard components.
This approach is used when a project encompassed the use of existing software that must be modified. The planners estimate the number and type of modifications that must be accomplished. Using an effort ratio for each type of change the size of the change may be estimated.
Each of these sizes approaches the combined statically to create a three-point or expected value estimate.
Problem Based estimation
LOC and FP are used in two ways during software project estimation. LOC and FP estimation are district estimation techniques in Problem based estimation. For estimation, the project planner must begin with software scope, then they have to decompose software into problem function. Baseline productivity metrics are then applied to the appropriate estimation variable, or and cost or for the function is derived. Fasten estimates combined to produce overall estimates for the entire project.
Average labor rates are then applied to the effort estimated for each process activity. The Labour rate will vary for each task. Senior staff activities are generally more expensive than junior staff activities.
The COCOMO model
COCOMO has three different models such as basic, intermediate, advanced model. The basic model applied area in a project. Intermediate Model applied after requirements are satisfied. The advanced model is applied after the design is complete.
COCOMO has three different modes:
Organic - relatively small software teams develop software in a highly familiar, in-house environment.
Embedded - operate it tight constraints, the product is strongly tied to Complex of hardware, software, regulations, and operational procedures.
Semi-detached - Intermediate stage from where between organic and embedded.
Software quality assurance Software quality is described as conformance to explicitly state functional and performance requirements, explicitly documented standards and implicit features that are anticipated of all professionally developer software ... Read More
A tunnel establishes a virtual pipe for data packets between a tunnel entry and a tunnel endpoint. Packets entering a tunnel are forwarded inside the tunnel leave the tunnel unchanged. Tunneling, that is, sending a packet through a tunnel, is achieved by using encapsulation ... Read More
The overall structure of the software components and how the success provides a conceptual integrated file system. In other words, architecture is the hierarchical structure of program components, how these components interact, and the structure of data that are used by the components ... Read More
Real-time and distributed system design The real-time system is a software system the correct functioning of the system depends on the results produced by the system the time at which these results are produced ... Read More
Waterfall Model The waterfall model also called classic life cycle requirements is well defined and stable. It suggests a systematic, sequential approach to software development. It begins with customer specification of requirements and processes through planning, modeling, instruction, and deployment ... Read More
Software Design A software design is an essential engineering description of some software product that is to be established. A design can be determined to the customer's requirements and can be assessed for quality against predefined patterns ... Read More