Inaccurate requirements gathering consistently ranks in the top three causes of project failure yet only half of organizations have the resources in place to perform this function properly
In order to effectively plan the software development process and build a working software that is suited to the company, it is crucial to map out an overview of the software system. Building an agile system is crucial because it enables for adaptation through ongoing design enhancements to support business operations. An agile system is versatile and readily adjusts to an ever-growing business environment. Object-oriented design places a priority on intentionality in the development process by defining software objects and the functions of those objects in relation to the aim of the software. This is done by assigning functions and responsibilities for each software domain.
The selected system design involves a piece of software that handles reservations for passengers on a cruise line. Users of the tour operator booking system will be able to browse all of the alternatives for a cruise holiday, including dates of their choosing, pricing ranges, cruise line brands, locations, departure cities, and other options that the user may select from the filter option. The software's final users will be travelers or businesses who operate travel agencies.