QUESTIONS AND ANSWERS
1 Explain any 3 models used by Software engineers during systems development
a) Reuse-oriented development
Based on systematic reuse where systems are integrated from existing components or COTS (Commercial-off-the-shelf) systems Process stages: Component analysis, Requirements modification, System design with reuse, Development and integration.
Component analysis-Given the requirements specification, a search is made for components to implement that specification. Usually, there is not an exact match
Requirements modification-During this stage, the requirements are analysed using information about the components which have been discovered. They are then ...view middle of the document...
Software design involves identifying and describing the fundamental software system abstractions and their relationships.
Implementation and unit testing- During this stage, the software design is realized as a set of programs or program units. Unit testing involves verifying that each unit meets its specification.
Integration and system testing-The individual program units or programs are integrated and tested as a complete system to ensure that the software requirements have been met. After testing, the software system is delivered to the customer.
Operation and maintenance-Normally this is the longest life-cycle phase. The system is installed and put into practical use. Maintenance involves correcting errors which were not discovered in earlier stages of the life cycle, improving the implementation of system units and enhancing the systemâ€™s services as new requirements are discovered.
c) Evolutionary development
An initial system is rapidly developed from abstract specifications. This is then refined with customer input to produce a system which satisfies the customerâ€™ needs.
In addition to having separate activities, this model provides feedback to cepatdan simultaneously. The basic idea this approach is based on is: developing an initial implementation, exposing this to the user comments and refining it through many version until an adequate system has been developed. Specification, development and validation are interleaved rather than separate, with rapid feedback across activities. There are to two fundamental types of evolutionary development:
Exploratory development -Objective is to work with customers and to evolve a final system from an initial outline specification. Should start with well-understood requirements and add new features as proposed by the customer.
2 Define the requirements engineering process and State any 3 problems encountered
during this process
Requirements engineering is the processes identifying the system requirements to be met in developing a system. It entails the following:
Feasibility study -This is an estimate is made of whether the identified user needs may be satisfied using current software and hardware technologies.
Requirements elicitation and analysis -This is the process of deriving the system requirements through observation of existing systems, discussions with potential users and procurers, task analysis
Requirements specification -Requirements specification is the activity of translating the information gathered during the analysis activity into a document that defines a set of requirements.
Requirements validation -This activity checks the requirements for realism, consistency and completeness.
Problems encountered during this process
I. Volatility of Requirements- requirements may change during the development process.
II. Stakeholders donâ€™t know what they really want.
III. Different stakeholders may have conflicting requirements
IV. Organizational and...