Html/Javascript widget

Monday, 9 April 2018

Requirements Traceability Matrix

A traceability matrix is a document that correlates and traces business, application, security or any other requirements to their implementation, testing or completion, relating between different system components to keep their status up-to-date according to system completion. It captures all requirements proposed by the client or and their traceability in a single document delivered at the conclusion of the life-cycle. It maps and traces user requirement with test cases. The main purpose of Requirement Traceability Matrix is to make sure that all test cases are covered so that no feature is left out during testing.

The Requirement Traceability Matrix – Parameters include

Requirement ID
Risks
Requirement Type and Description
Trace to design specification
Unit test cases
Integration test cases
System test cases
User acceptance test cases
Trace to test script


James Martin's Rapid Application Development

James Martin's Rapid-application development (RAD) is an iterative adaptive approach to rapid development. According to RAD,development adaptive process > planning. Prototypes are often used in addition to or sometimes even in place of design specifications.

RAD is especially well suited for companies good at Agile and that like components or pre-existing classes (API's).

Phases -

Requirements planning phase – Users, managers, and IT staff members discuss and agree on business needs, project scope, constraints, and system requirements.

User design phase – users interact with systems analysts and develop models and prototypes that represent all system processes, inputs, and outputs, typically with a combination of Joint Application Development (JAD) techniques and CASE tools to translate user needs into working models.

Construction phase program and application development, only users can still suggest changes.Unit-integration and system testing.

Cutover phase – data conversion, testing, changeover to the new system and user training are the staples of the last stage of james MArtin's RAD.


Modelling and construction may occur in parallel. The former typically lasts from 60-90 days, while the latter may make use of component reuse, automatic code generation and testing.

Joint Application Design

Joint application design (JAD) is a inherent process of dynamic systems development method (DSDM) for gathering requirements. It is basically a workshop where users and IT professionals meet to define the business requirements for the proposed system. Through JAD workshops the knowledge workers and IT specialists are able to resolve any differences between themselves regarding the new system. The premise is that miscommunications can carry far more serious repercussions if not addressed until later on in the process. In the end, this process will result in a new information system that is feasible and appealing to both the designers and end users.

True to its Agile nature, JAD is most effective in small, clearly focused projects and less effective in large complex projects.

Prototyping - evolutionary process

A software process that has been gaining prominence since the late 80's, software prototyping is a process for developing software that improves upon incomplete versions of the target-program.

Prototyping enables steady feedback from the users early in the process, in addition to being a reliable source of accuracy during the first development stages to determine the viability of deadlines and milestones. It's mostly useful for undefined requirements for projects that need to be executed in a hurry and the application domain isn't very well known at the specification stage.

A prototype allows users to evaluate developers' proposals for the design of the eventual product by actually trying them out, rather than relying on requirements-based descriptions. Interaction design in particular makes heavy use of prototyping with this goal.


The process of prototyping involves the following stages:

1- Identify basic requirements, including input and output information. Non-functional requirements can be set aside for now.

2- Develop initial prototype, with emphasis to user interfaces.

3- Review. The user goes over the prototype and gives feedback.

4- Revise and enhance the prototype. Improvement through feedback. Negotiation about what is within the scope of the contract/product may be necessary. The last 2 steps are repeated for approved changes



Types of prototyping


 Throwaway prototyping or close-ended prototyping is a model will be eventually be discarded rather than worked on to become the final product. After basic requirements gathering is done a simple working model is made to showcase the user's requirements in order for him to form an idea of what the working software will look like. It is also called rapid prototyping. It may include storyboards, animatics or drawings are also non-functional designs that will show how the system will look. As it is, a throwaway prototype is mostly used to validate requirements and obtain new ones.


Evolutionary or breadboarding prototyping consists of constantly refining a prototype until it becomes teh final version. The evolutionary prototype forms the core of the target-system, with improvements and further requirements being built on it.