A Goal Model technique
This is an element of requirement modeling that is always widely used in the analysis in businesses. This technique is related to various elements including context analysis, scenario and the analysis of stakeholders. It is also applied in dealing with other technical and business areas. With goals being the objectives that a system aims to achieve through the cooperation of the various actors in the needed environment and software, the goal modeling technique is used in the early phase of the project. There is always considerations by the project on how to meet the specific goals, how to address the interests of the stakeholders and the reason behind needing the system. (Jonasson, 2012)
The goal model technique do aim at expressing the various relationships that exist between the environment and the system in an attempt to map what the system should do and not the reason as to why it should do it. In this case, the system lives up to its usefulness of changing the business fundamentally rather than automating the practices that are long established. Through the goal model, there are clarities in as far as the reasons for certain goals are concerned, how to achieve the goals and ultimately the other means that can be explored to realize the goals apart from the main means. The requirements of the stakeholders are always revealed I this process of goal model with a lesser risk of over specifying the requirements or missing them. The model allows for the analysis of the goals into smaller sections of goals that are realizable. The goal model also comes handy in the identity and resolution of tradeoffs that exist between security, flexibility, performance, cost and the other set goals. The model deals with conflicts as through it there is easy identification of the areas of conflicts.
Prototyping is an activity that involves the creation of prototypes of various applications of software. It involves the software programs which are usually incomplete. It occurs in prototyping and is comparable to the software development in various fields such as manufacturing or mechanical engineering. Some aspects of the final products are always stimulates by the prototypes. Prototyping has a number of benefits including the getting of feedback that are valuable by both the software implementer and the software designer.There is an easy comparison between the contractor and the client on the specifications of the software and the built structure of it. It is always effective as it allows the software engineer to have some insight in the project estimates in an accurate manner. This result to easy determination of whether the milestones and deadline proposed in the projects can be met successfully.
Contract style requirement list.
This is one of the traditional ways of requirements documentation. The application of contract style requirement list can often run to as long as one hundred pages long. In modern analysis, this model is currently out of touch and inappropriate to use. When used, there is lack of success in achieving the aims. However, this model is has some strengths in providing a checklist for the requirements, providing a contract between the developers and the sponsors of the project and ultimately providing high levels for the large systems. (Krogstie, Halpin & Siau, 2005)
Use case creation based on relating functional requirements.
A use case is often applied in system engineering and software engineering. It involves using a list steps in the achievement of specific goals. The use case always defines the interactions between the system and the role or actor. In this case, the actor is usually an external system or human. Use cases are applied in higher levels in system engineering than they are used in the software engineering. They do represent the goals of the stakeholders or the various missions. The requirements in detail are at times captured as contractual statements or in the SysML.
Example of a Use Case: The Deposit of money in a bank
Scope: Transactions System and the Bank Accounts Level:
User Goal Context of Intention: the client intends to deposit money in the account. The client does not directly interact with the system but it n this user case; the clients have to interact through the bank teller. There may be many clients with questions and transactions to do at any given time. The Client’s intention is basically depositing money to an account.
The Primary Actor: Client
The Scenario oof success:
1. The Client provides the sum of money and requests the teller to make some deposits into the account.
2. The Teller then requests the System to perform the deposit by keying in the details of the transaction.
3. After validating the details, the System deposits and credits the amount to the account. The System informs the teller after recording the specific details from the transaction.
2a. When the Client requests the Teller to have the deposit cancelled: the use case then ends in a failure.
3a. the can System indicate the giving of incorrect information.
3a.1. The System then informs the Teller; use case continued to step 2.
3b. The System indicates that it was given information that was insufficient to carry out the operation.
3b. 1. The Teller is informed by the system; use case is continued to step 2.
3c. The System indicates that the transaction cannot be done as a result of failure in the system. 3c. 1. The teller is informed by the system; use case has ended in failure.
CASE tools in process and data modeling.
The computer aided software engineering is referred to as CASE. This is an application that is scientific and comprises of certain methods and set of tools to the software of a system. This always results to the achievement of a maintainable, defect free and high quality software products. It is a method that is used in the development of the information systems alongside software development process with automated tools. (Lyytinen, 2009)
The CASE tools are software class that is responsible for automating the activities involved in the various phases of life cycles. For instance, during the establishment of functional requirements, the use of prototyping tools comes handy as they can be used in the development of graphic models of various screen applications that assist the users in the other end to be able to visualize the development of the application. Such tools include the requirement tracing tool, project planning tools, risk analysis tools, business process engineering tools, and documentation tools among others.