9.1.2 Application of software development approaches Flashcards
<p>What are CASE tools?</p>
<p>Computer Aided Software Engineering - software for developing software.</p>
<p>Various types of tools are used in all stages of the software development cycle.</p>
<p>Give an example of specific uses of CASE tools at each stage of the software development cycle.</p>
<ol> <li><strong>Defining and understanding</strong> -scheduling, systems modelling, storyboards, prototypes.</li> <li><strong>Planning and designing</strong> -generation of test data, algorithm representation</li> <li><strong>Implementing </strong>- algorithms, data dictionaries.</li> <li><strong>Testing </strong>- documentation of testing.</li> <li> <p><strong>Maintaining </strong>- version control, monitoring changes in software.</p> </li></ol>
<p>Outline the key elements of the end user approach</p>
<p>The end user develops the software themself. This means that there are no communication issues. Usability is not a big concern since the designer is the user (a personalised solution).</p>
<p>Outline two employment trends in software development.</p>
<p></p>
<ul> <li>Outsourcing – no IT support in house so it is outsourced. Common across various areas such as business, legal, accounting etc.</li> <li>Contract Programmers – short term contracts to write software and easy to engage remote workers.</li></ul>
<p>For the <strong>parallel </strong>method of installation:</p>
<ul> <li>How does it work?</li> <li>What is it good for?</li> <li>Any issues?</li></ul>
<p><strong>How does it work?</strong></p>
<ul> <li>Both the old and new system are used together for a period of time until there is confidence that the new system is performing as needed.</li></ul>
<p><strong>What is it good for?</strong></p>
<ul> <li>Ensuring that the new system works as needed.</li> <li>Data is protected (old system is like a backup).</li> <li>Giving users time to understand the new system.</li></ul>
<p><strong>Issues?</strong></p>
<ul> <li>Twice the workload for users, as all functions must be performed on the old and new systems.</li></ul>
<p></p>
<p>For the <strong>direct cutover</strong> method of installation:</p>
<ul> <li>How does it work?</li> <li>What is it good for?</li> <li>Any issues?</li></ul>
<p><strong>How does it work?</strong></p>
<ul> <li>The old system is completely replaced by the new one at a given time.</li></ul>
<p><strong>What is it good for?</strong></p>
<ul> <li>Simplest method.</li> <li>Other methods may not be feasible.</li></ul>
<p><strong>Issues?</strong></p>
<ul> <li>The new system has not been used before in a live environment and there is effectively no backup, so it had better work!</li></ul>
<p></p>
<p>For the <strong>phased</strong>method of installation:</p>
<ul> <li>How does it work?</li> <li>What is it good for?</li> <li>Any issues?</li></ul>
<p><strong>How does it work?</strong></p>
<ul> <li>A gradual introduction of the new system while the old system is discarded.</li></ul>
<p><strong>What is it good for?</strong></p>
<ul> <li>Time for users to adapt to the new system.</li> <li>With a gradual changeover, any issues are minimised as only a small part is changed.</li></ul>
<p><strong>Issues?</strong></p>
<ul> <li>Compatibility, usability or other issues may arise with interconnected parts of the old and new system.</li></ul>
<p></p>
<p>For the <b>pilot</b>method of installation:</p>
<ul> <li>How does it work?</li> <li>What is it good for?</li> <li>Any issues?</li></ul>
<p><strong>How does it work?</strong></p>
<ul> <li>A small number of users adpot the system for a time until it is performing as needed.</li></ul>
<p><strong>What is it good for?</strong></p>
<ul> <li>Allows a base of users to learn the new system, who may then be able to train others.</li></ul>
<p><strong>Issues?</strong></p>
<ul> <li>Compatibility or other issues may arise from 2 different systems working at the same time.</li></ul>
<p></p>