Uploaded by Francis Kangwa

Database Design Week 2 Assignment (Solution)

advertisement
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/
Download