Uploaded by ayogetrude

Info systems group work

advertisement
SPIRAL MODEL
The spiral model is a system development lifecycle (SDLC) method used for risk management that
combines the iterative development process model with elements of the waterfall model. It is used by
software engineers and is favoured for large , expensive and complicated projects.
The spiral model has a total of four phases as explained below,
Requirement Analysis
The spiral model process starts with collecting business needs. In this ,the following spirals will include
the documentation of system requirements and the subsystem needs. In this stage we can easily
understand the system requirements because the business analyst and the client have constant
communication. Once the cycle is completed the application will be deployed in the market.
Design
The second stage of the spiral model is designed, where we will plan the logical design, architectural
design, flowcharts, decision trees.
Coding
After the compilation of the design stage , we will move to our next step which is the coding phase. In
this we will develop the product based on the client's requirement and getting the client's feedback as
well. This stage refers to the construction of the real application in every cycle.
And those spirals had an excellent clarity of the requirements and the design details of an application
are known as the build with version numbers. After that these builds are transferred to the client for the
responses.
Testing and Risk analysis
Once the development is completed successfully, we will test the build at the end of the first cycle and
also analyse the risk of the software on the different aspects such as managing risks, deleting, and
observing the technical feasibility. And after that, the client will test the application and give feed back.
The spiral model is widely used in the software industry as it is in sync with the natural development
process of any product for example learning with maturity which involves minimum risk for the
customer as well as the development firms. When there's a budget constraint and risk evaluation is
important.
The best suitable example for the spiral model is MsExcel because it having several cells , which are the
components of an excel sheet. NASA is one of the good example which is using the spiral model.
Advantages
✓Flexible changes are allowed in spiral model
✓The development can be distributed into smaller parts
✓The customer can use the application at an early stage also
✓More clarity for developers and test engineers
✓It will provide the wide use of prototypes
Disadvantages
>It is not suitable for the small and low risk products because it could be costly for smaller projects.
>It is a traditional model, and thus developers only did the testing job as well
>There's no requirement of review process and no parallel deliverables allowed in the spiral model
>In the spiral model management is abit difficult, that's why it is a complex process
>The maximum number of intermediate phases needs unnecessary paper work
RAPID APPLICATION DEVELOPMENT (RAD) MODEL
RAD is a linear sequential software using an element based construction approach. With rapid
application development, developers can make multiple iterations and updates to a software quickly
without starting from scratch each time.
RAD is a development model that prioritizes rapid prototyping and quick feed back over long drawn out
development and testing cycles.
RAD is a concept that products can be developed faster and of higher quality through;
- Gathering requirements using workshops or focus groups
- Prototyping and early, reiterative user testing of designs
- The reuse of software components
- A rigidly placed schedule that refers design improvement to the next product version.
- Less formality in reviews and other team communication
The RAD is particularly useful for small businesses that need software done quickly whilst having alot of
input during the development process.
The various phases of the rapid application development are,
Business modelling
The information flow among business functions is defined by answering questions like what data drives
the business process, what data is generated , who generates it.
Data modelling
The data collected from business modelling is refined into a set of data objects (entities) that are needed
to support the business. The attributes (character of each entity) are identified, and the relation
between these data objects is defined.
Process modelling
The information object defined in the data modelling phase are transformed to achieve the data flow
necessary to implement a business function. Processing descriptions are created for adding, modifying,
deleting, or retrieving a data object.
Application generation
Automated tools are used to facilitate construction of the software, they even use the 4th GL
techniques
Testing and Turn over
Many of the programming components have already been tested since RAD emphasises reuse. This
reduces the overall testing time. But the new part must be tested , and all interfaces must be fully
exercised.
When to use RAD
~ When the requirements are well-known
~ When the system should need to create the project that modularized in a short span time ( 2-3
months)
~ When the technical risk is limited
~ When there's a necessity to make a system which modularized in 2-3 months period
~ It should be used only if the budget allows the use of automatic code generating tools
Advantages
✓This model is flexible for change
✓In this model , changes are adoptable
✓Each phase in RAD brings highest priority functionality to the customer
✓It reduced development time
✓It increases the reusability of features
Disadvantages
> Requires user involvement
> On the high technical risk, it's not suitable
> For smaller projects, we can't use the RAD model
> All applications are not compatible with RAD
> It required highly skilled designers
JOINT APPLICATION DEVELOPMENT (JAD) MODEL
JAD is a methodology that involves the client or end user in the design and development of an
application, through a succession of a collaborative workshop called JAD sessions.
JAD is a very common technique in the business analysis world. It brings system developers and users
together in a productive and creative environment through a structured approach that involves
discussion groups with the goal to obtain requirements and specifications. When a business needs some
technical input from the technical expertise, JAD session is required. Like wise, when technical expertise
needs business input , JAD is required.
JAD participants
When implementing JAD process , you need to keep in mind that the JAD team is at the heart of the
project . And also you need to carefully include your stake holders as they will be responsible for the
overall success of a JAD session
Here are key roles you need to involve to keep your JAD session on the right track,
Executive sponsor
This person is usually the manager of the business area who comes from the customer's company and
has a full Freedom to make critical decisions concerning the project. Although they don't have have to
actively participate in all steps of the project , they need to be available throughout the process and
solve important issues as they arise.
Facilitator
This is the most important person in the process as they are responsible for planning, executing, and
managing the session. The facilitator should have the right knowledge and extensive experience to lead
the project. Also ,they should work closely with executive sponsors to achieve desired goals . During the
discussion, the facilitator should be able to;
• Focus on the process
• Lead groups and keep sessions on track
• Be unbiased and neutral
• Stop sideline conversations
Stakeholder
A stakeholder is the main focus of the entire process ,without their involvement, JAD sessions are
pointless. They represent all key user groups affected by the project development and represent
multiple levels within the organisation. JAD session allows stake holders to become an integral part of
the project so they can get the product they need.
Scribe (recorder)
The scribe is in charge of documenting the entire JAD process. Since there are often alot of ideas and
suggestions, a JAD session may involve more scribes . A scribe must ,
° Capture the important decisions, who made them , and why
° Distribute and archive the documentation at the end of each session
° Have excellent analytical skills to be able to analyse the discussion
IT representative
IT representative gives technical advice and helps JAD team develop logical models to build a prototype.
They must
√ Help the customer turn their concepts into business requirements
√ Efficiently use available technology
√ Provide end solutions that are realistic for a budget and time frame
Observer
This person observes each step of a JAD session, end user's needs and JAD session decisions
JAD sessions
Each JAD session must have well-defined objectives and detailed agenda items. You need to ensure you
have invited key players from both the business and technical world, as well as the person who will take
notes.
You need to ask questions, record important decisions and assign action items. While the questions and
agenda items are the essence of the discussion that will drive the meeting, don't expect to get the
answers immediately.
The point of JAD sessions is to trigger creative thinking and brainstorming that will lead to a joint
discussion that will require expertise from various departments
At its core , JAD sessions should help the teams come up with decisions, if you and your team can't
arrive to a decision, you need to run to JAD sessions on a scheduled basis , which are usually known as
JAD workshops.
The outcome of a JAD session is more valuable than other meetings because you can make more
decisions. Although most of the JAD sessions are scheduled during the development phase, they may
even happen during the requirements phase
JAD is used as a technique for developing business system requirements and is typically used in the early
stages of a system development project. The purpose of JAD is to bring together MIS and end users in a
structured workshop setting, to extract consensus based system requirements.
Advantages
^ It allows you to resolve difficulties more simply and produce better, error free software
^ The joint collaboration between the company and the clients lowers all risks
^ JAD reduces costs and time needed for project development
^ Well-defined requirements improve system quality
^ Due to the close communication, progress is faster
^ JAD encourages the team to push each other to work faster and deliver on time
Disadvantages
~ Different opinions within the team make it difficult to align goals and maintain focus
~ Depending on the size of the project, JAD may require a significant time commitment
PROTOTYPING
A prototype is a draft version of a product that allows you to explore your ideas and show the intention
behind a feature or the overall design concept to users before investing time and money into
development.
Prototyping is an experimental process where design teams implement ideas into tangible forms from
paper to Digital. Teams build prototypes of varying degrees of fidelity to ensure design concepts and test
on users.
With prototypes, you can refine and validate your designs so your brand can release the right products
Types of prototypes
- Concept sketch prototype
- Bench model prototype
- Fully functional rapid prototype
- Visual model prototype
- Pre-production 'Alpha' prototype
- Manufacture production prototype
Types of prototyping
• Rapid ( throw away ) prototyping
• Evolutionary prototyping
• Incremental prototyping
• Extreme prototyping
Advantages
* Early discovery of design problems
* Estimation of production costs, manufacturing time, and material requirements
* Select machinery required for production
* Testing to determine fit and durability
* Receive feedback from customers and end users
* Identify improvements
Disadvantages
• Insufficient analysis
• User confusion
• Developer misunderstanding of user objectives
• Excessive development time
Download