Sie sind auf Seite 1von 5

BITP 2213

SOFTWARE ENGINEERING

ASSIGNMENT 1

QUESTION 1 Differentiate between Agile and Waterfall Model give reason why many company prefer to apply Agile method in their development of software? Answer: Agile Involves multiple iterative development schedules (design, coding n testing) Can be changes due to iterative implementation Non-rigid Waterfall All the elements have to do in sequence (requirement specification, analysis, design, coding, testing, installation and maintenance) Cannot change the development process Rigid Not efficient Difficult to make last minute changes in requirements or design Suitable for large project at many sites

Conceptual Difference

More efficient Can incorporate changes and release a product in lesser time Suitable for all types of project (small or large)

Efficiency

Assign

Every company more prefer to use Agile method because Agile model are applicable and its depend a lot on the team effort of average programmers. Then its relying on a few expert programmers. This suited for web-based application where its iterative nature helps incorporating and correcting the various bugs that arise over time.

QUESTION 2 Explain why program that are developed using evolutionary development as likely to be difficult to maintain? Answer: When a system is producing the evolutionary development model, features tend to be added without regard to an overriding design, which each modification of the software become increasingly disorganized. System maintenance (fixing bugs, adding new features after the system has been released) is hampered by this problem as it is harder to identify the source of bugs in poorly designed systems. Also keeping the documentation on up-to-date over successive evolution is uncommon. Poor documentation also makes maintenance more difficult.

QUESTION 3 Suggest an appropriate software development model process model that can be applied in developing each of the following systems. Give some reason to justify your choices: a. b. c. d. A system to control anti-lock braking in a car A virtual reality system to support software maintenance A university human resource system that replace an existing system Online banking system

Answer: a. A system to control anti-lock braking in a car It is safety-critical that a car's anti-lock braking system work, so a method based on formal transformations (with proofs of equivalence between each stage), would be the most appropriate here. Partial credit was given for "Incremental" or "Spiral" if accompanied by a reasonable rationale. Smaller partial credit for Waterfall. b. A virtual reality system to support software maintenance A virtual reality system would be cutting edge, and its usability would depend heavily on the quality of its user interface. One would be hard-pressed to be able to specify all the requirements in advance of design/implementation, so following a "Waterfall" or "Formal" process model would be difficult. Feedback from the users would be essential. An Evolutionary Model seems ideal here, but full credit was given to "Incremental" or "Spiral" if justified in the prose.

c. A university human resources system that replaces an existing system Since this new system will be replacing an established system, eliciting requirements in advance of design/implementation is quite feasible. The resulting system will also be quite large. Both of these conditions lead one to conclude that a Waterfall-type process model would be the most appropriate here. d. Online banking system Internet markets or online business has been widely used in these days. The success of the business depends on its flexibility, availability and security. Since that the webbased systems should have a special way to design the system and implement it. So from the above statement, Agile model is the best approach for online banking system.

Das könnte Ihnen auch gefallen