Case Tools
Write a note on prototype model.
- Prototype is defined as first or preliminary form from which other forms are copied or derived.
- Prototype model is a set of general objectives for software.
- It does not identify the requirements like detailed input, output.
- This model is an interesting idea for complicated and large systems, because these systems do not have manual processes to determine the requirements of the software product.
What is software prototyping?- Prototype model is a software working model of limited functionality.
- It doesn't hold the exact logic that is used in the software application.
- It allows the user to evaluate developer proposals and try them out before implementation.
- It helps to understand the user specific requirement.
Approaches to design software prototypes:
Requirement gathering:- In this approach product requirements are gathered. Developer and customer meet and discuss overall objectives of the software. Identify those requirements which are known. Detailed design like performance and security are not discussed in this step.
Quick design:- Quick design system is created when requirements are known. It includes only important aspects like input and output format of software which are visible to the user rather then detailed design plan. It helps to construct a prototype.
Prototype building:- Information gathered in quick design is used to refine requirements for the software to be developed.
- To satisfy the need of customer iteration obtain when prototype is in tuned.
User Evaluation:- Evaluation of prototype recognizes its strengths and weaknesses like what is to be added or removed. User gives comments and suggestions which in turn are provided to the developer.
Refining prototype:- If the user is not satisfied with the current prototype then it refines according to the requirement and a new prototype is developed. New prototype is evaluated like previous prototype and the process continues until all requirements are met.
- When the user is satisfied with the developed prototype, a system is developed on the basis of final prototype.
Engineer product:- In this approach user accept the end prototype when all the requirements are completely met. It evaluates the end system with its regular maintenance for preventing its failures.
Advantages of prototyping model- Prototype model need not know the detailed input, output, processes, adaptability of operating system and full machine interaction.
- In development process of this model users are actively involved.
- The development process is the best platform to understand the system by the user.
- Errors are detected much earlier.
- Gives quick user feedback for better solutions.
- Identify missing functionality easily.
- It also identifies confusing or difficult functions.
Disadvantages of prototyping model- The client involvement is more and it is not always considered by the developer.
- It is a slow process because it takes more time for development.
- Many changes can disturb the rhythm of the development team.
- It is a thrown away prototype when the users are confused with it.
When to use prototype Model?- When system needs to have a lot of interaction with end users or client then this model is used.
- End users constantly work with a system and provide feedback which are used for a system.
Write a short note on case tools.
- CASE means Computer Aided Software Engineering.
- It means that the software is used for development activities such as requirement engineering, design, program development and testing.
- A set of software application program are used to automate software development life cycle activities.
- To develop a software system, case tools are used by software project manager, analyst and engineers.
- Case tool include design editors, data dictionaries, compilers, debuggers, system building tools etc.
- Number of case tools are available to simplify the software development life cycle like analysis tool, design tool, project management tool, database management tool, documentation tool etc.
- Case tools are used to accelerate the development of a project to form a desired result and help to uncover fault before moving to the next stage.
Classification of case tools:- A number of different criteria are used to classify the case tools.
- Functional perspective criteria are classified according to the functional tools.
- Process perspective criteria are classified accordinWrite a short note on case tools.g to the process activities.
- The Integrated perspective criteria is used to classify according to the tools that are organized and combined or organized into integrated units.
For example the functional classification includes:- planning tools such as estimation,scheduling.
- Editing tools such as text, diagram, model.
- Testing tools such as automated tester, oracle, data generator.
- Language processing tools such as compiler, interpreter.
- Debugging tool, etc.
Components of case tools:
Case tool are broadly divided into following categories on the basis of their software development life cycle.
1. Central Repository- Case tools require a central repository.
- It serves as a source of common, integrated and consistent information.
- It is a central place of storage where information is stored regarding management, product specifications, requirement documents, related reports and diagrams.
2. Upper case tools- These tools support the early stages of the software development life cycle, such as planning, analysis and design stage.
3. Lower case tools- It provides support to the later stages of the software development life cycle, such as implementation, testing and maintenance.
4.Integrated case tools- These tools are helpful in all stages of the software development life cycle from requirement gathering to testing and documentation.
Scope of case tools:- The scope of case tools is throughout the software development life cycle.
Benefits of Case tools:- Case environment saves the cost of project during all development stages.
- Use of case tools improves the quality of product.
- The use of case tool reduces the chances of human error.
- It is used to create consistent and high quality documents.
Reasons for using case tools:
The primary reasons for using the case tools are:
- It is used to increase the productivity of the software.
- It helps to produce better quality software at lower cost.
Organization of case tools:
The way of organizing a case tool are as follows:
1. To facilitate single design methodologies:- It helps to organize the process of development.
- As the common methodology is adopted integration has become easy.
2. Rapid Application Development:- System development organization use case tools to improve the speed and quality of the system.
3. Testing:- Case tools help in improving the testing process along with automated checking and simple program maintenance.
4. Documentation:- The quality of documentation at various stages depend on the individual. Case tool improves the quality and consistency of documentation at various stages of software development life cycle.
- It ensures the completeness of the document.
5. Project Management:- It improves the project management activity.
6. Reduced the Maintenance cost:- The software is easy to maintain by using the case tools, hence the maintenance cost is reduced.
7. Increase productivity:- To increase the productivity of the software it uses various activity of a system development and process management.
Case tools assist various phases of software development - Justify.
- Case tools are identified by the stage or stages of software development life cycle.
- Different tools cover the different stages and share common information of software development life cycle.
- To make the Case Tools usable, they must be integrated with the central repository.
- The central repository is a common data dictionary which contains the definition of all composite and elementary data items.
- A central repository shares common information amongst various stages of SDLC.
- A case environment enables the automation of step by step methodology for software development.
- In case tool environment, a programming environment is an integrated collection of tools to support only the coding phase of software development.
- Case tool is shared dictionary that is accessed by the strategy and analysis tool, the design tool, built and maintenance tool.
- The repository store knowledge from multiple tools and is accessible to all tools throughout the entire development of life cycle.
- The analysis phase uses input from developer with system analysis and diagram.
- Implementation phase require the expert in a programming.
- Planning phase tools are estimation,scheduling.
- Editing tools are text, diagrams, models.
- Testing tools are automated tester, oracle, data generator.
- Language processing tools such as compiler, interpreter, debugging tool, etc.
- Many system developers use case tools at various stages of software development life cycle.
These tools are mainly used in following methodologies:
1. Life cycle
2. Object oriented approaches
3. Rapid applications development
4. Prototyping
5. Joint application development- Case tools help the system developer to perform the task efficiently.
The case tool are mainly classified into following ares:
1. Requirement analysis tool
2. Structured Analysis tool
3. Software Design tool
4. Code generation tool
5. Test case generation tool
6. Document production tool
7. Reverse engineering tool
Components of case tools:
Case tool are broadly divided into following categories on the basis of their software development life cycle.
1. Central Repository- Case tool requires a central repository.
- It serves as a source of common, integrated and consistent information.
- It is a central place of storage where information is stored regarding management, product specifications, requirement documents, related reports and diagrams.
2. Upper case tools- These tools support the early stages of the software development life cycle, such as planning, analysis and design stage.
3. Lower case tools- It provides support to the later stages of the software development life cycle, such as implementation, testing and maintenance.
4. Integrated case tools- These tools are helpful in all stages of the software development life cycle from requirement gathering to testing and documentation.