a. Prototyping Prototyping is defined as the process of developing a working replication of the database to be engineered/ designed. It offers a small-scale facsimile of the end product and is used for obtaining end user feedback. A prototype of the end product is developed, tested and refined as per customer feedback repeatedly till a final acceptable prototype is achieved which forms a basis for developing the final product. In the Database development life cycle, this is the only stage where end users are given an opportunity to test the database before a full-scale database is implemented and rolled out. The system is partially implemented before or during analysis phase. End users thoroughly test the system and give feedback to the developers who finetune the system until perfection is achieved. It must be noted though that a draft database is developed during this process and it serves as the ultimate product after all modifications are done. b. Database Testing This is testing which aims to analyze the database schema (structural view of the database), tables, triggers and functions of the database under test. It also assesses data integrity and consistency, data validity, performance check relate, and various procedures. For data integrity and consistency to be achieved, developers create difficult queries to load and stress the database and view and examine its responses. Database testing is a layered process which involves the data access, user interface and the database layer. This stage of the database development is very important as it ensures that database efficiency, maximum stability, performance and security are guaranteed. This process also ensures that virous aspects are followed namely; Transaction ACID properties, Data mapping, Accuracy of Business Rule and Data integrity. ACID is an acronym that stands for Atomicity, Consistency, Isolation and Durability. Atomicity means that you guarantee that either all of the transaction succeeds or none of it does. If one part of the transaction fails, the whole transaction fails. You don’t get part of it succeeding and part of it not. Consistency assures and guarantees that all data will be the same. Data will be valid according to all defines rules including constraints, cascades and triggers that have been applied on the database. Isolation guarantees that all logical operations will occur in isolation and not dependent or affected by other transactions. This means that a transaction cannot read data from any other transaction that has not yet completed. Durability means that once a transaction is committed, it will remain in active state even if there’s a system crash immediately following the transaction. Any changes from the transaction must be stored permanently. If the system tells the user that the transaction has succeeded, the transaction must have in fact succeeded. According to ACID, a database is consistent if and only if it contains the results of successful transactions. In conclusion, any database that is ACID compliant will ensure that only successful transactions will be processed and if failure occurs before a transaction is completed, no data will be changed. It must be noted that the acid properties are designed as principles of transaction-oriented database recovery. c. Requirement’s collection This is the process of gathering information from would be end users. The phase by nature requires a high degree of interaction with people at levels of management beginning with the top level to the entry level clerical workers. During this process database designers learn the requirements and expectations of the database to be developed, additionally developers are availed with information that enlightens them on what type of a database is required, daily data volume, how much data needs to be stored in the master files, how many end users will have access to the database, security requirements and the skill set of the current human resource in an organization. Requirement’s collection is the most important step in implementing a database system because it gives the developer a clear picture of what the system expectation. During this step in the database development life cycle, the database designer spends a lot time within the organization talking (interviewing) to customers (Database users), end users and getting acquainted with the day-to-day process and to understand the proposed system. The designer obtains and documents the data and functional requirements of the system. The Database designer obtains information on what kind of data the database will store and what tasks the database will perform to satisfy end users. Business objectives and business rules are identified. The outcome of this step is a document that includes detailed requirements provided by the end users. d. Database Planning Database planning is the first phase of the Database Development Life Cycle. It is in this phase where the developer determines whether a new system is needed or not to achieve the desired objective. This phase is a type of feasibility study for an organization’s business initiative to acquire in order to build an infrastructure to improve or modify a service. Furthermore, by considering the costs, benefits, time and resources, a company finds out about the scope of the problem as well as determining the solutions. During this phase, developers and product managers work together with other relevant stake holders. This phase consists of collecting and interpreting facts, diagnosing issues and proposing improvements for the system. It is vital to have as diverse a team as possible during the planning stage If more people who know and use the system are present, the greater the chances are of finding valuable improvement points. While it is a good ides to plan a project from inception it is also true that unless the problem, its requirements and its constraints are well understood it is very difficult to lay out a realistic timeline for the entire project. There is need to identify the problem as a while, its scope, constraints and overall functionality. The resulting document is the project plan document. ii. Explain any four factors considered when selecting a DBMS product Database management system helps to manage and organize various documents and files. There are many such systems in the market today and the selection of these systems is a complex process. Here are four factors that should be considered before and when selecting a database management system: 1. Adaptability – one the most important qualities of a DBMS is that the system should be able to adapt to certain changes in assignments without imposing more costs on the purchase of new hardware. The Software must be able to reside and operate seamlessly on and with devices of various formats and features. Reverse compatibility will also be key as the system will be expected more often than not to operate on new and legacy hardware. 2. Cost – cost is the first feature that comes on developers mind while selecting a system. Is a mistake to invest in a system that does not meet the daily needs and requirements of an organization. It is a waste of resources to buy a system that is not able to provide suitable functions. Purchasing a DBMS is a very costly venture and requires that thorough investigation and information gathering is properly done and documented as purchase of a system will depend on feedback from the requirements analysis phase. There are a lot of DBMS out there and the organizations muscle power and systems requirements should be considered before a purchase is made. 3. Security – Security is one of the major reasons that there is a paradigm shift. Organizations chose to implement database systems over file-based systems due to security among other things. Security is the essential aspect that comes into the mind of most organizations while purchasing anything. It is important to consider the risk of hacking and loss of data before selecting the particular database management system. 4. Technical Support – When choosing technology, it is very important that organizations choose systems whose suppliers provide technical support and after sales services. Organizations should be able to get customer care services at every point of time. The vender or developer of the DBMS should be able to regularly release system updates and these updates should be available and accessible by customers. iii. Briefly describe the following types of feasibility a. Technical Feasibility – Technical feasibility is a formal process of assessing whether it is technically possible to develop a database. Technical feasibility helps determine the efficacy of the proposed database design plan by analyzing the process including tools. Technology, material, labour and logistics. Technical feasibility helps organizations determine whether they have the technical resources to convert the idea into a fully functional and profitable working system. It helps in troubleshooting the project before commencing work. The study identifies potential challenges and uncovers ways to overcome them. It helps determine the technical ability of the organisations workforce, available technology and whether it will accommodate the new Database. Technical feasibility involves the technical resources that are needed to develop, purchase, install, or operate the Database system. b. Operational Feasibility – Operational feasibility is a measure of how well a proposed system solves the problems and takes advantage of the opportunities identified during scope definition, requirements analysis and how the new database system will satisfy the requirements identified in the requirements analysis of the Database Development life cycle. It is based on issues such as manager support, required training, workforce reduction, and adverse effects to users and customers. c. Schedule Feasibility – Schedule feasibility is defined as the likelihood of a project being completed within its scheduled time frame. It is a measure of how reasonable the project timetable is. Schedule feasibility is important as it ensures that a project can be completed before the project or technology becomes obsolete http://www.taskmanagementguide.com/glossary/what-is-schedule-feasibility.php https://in.indeed.com/career-advice/career-development/what-is-technical-feasibility https://philosophy-question.com/library/lecture/read/51493-what-is-operational-feasibility https://www.sciencedirect.com/topics/computer-science/database-life-cycle http://fid.cl/courses/db/dbms_lifecycle/dbmsLifecycle.pdf https://www.tutorialspoint.com/what-are-the-different-phases-of-database-development-lifecycle-dbms https://dbs.academy.lv/lection/dbs_LS03EN_db-cycle.pdf https://www.lucidchart.com/pages/database-diagram/database-design https://www.freetutes.com/systemanalysis/sa3-technical-economic-operational-legal.html https://www.toolshero.com/information-technology/systems-development-life-cycle/