IT203 Unit 2: Gather Information and Define Requirements

Slides:



Advertisements
Similar presentations
Numbers Treasure Hunt Following each question, click on the answer. If correct, the next page will load with a graphic first – these can be used to check.
Advertisements

1 A B C
Simplifications of Context-Free Grammars
Variations of the Turing Machine
1 Senn, Information Technology, 3 rd Edition © 2004 Pearson Prentice Hall James A. Senns Information Technology, 3 rd Edition Chapter 7 Enterprise Databases.
3rd Annual Plex/2E Worldwide Users Conference 13A Batch Processing in 2E Jeffrey A. Welsh, STAR BASE Consulting, Inc. September 20, 2007.
AP STUDY SESSION 2.
1
Select from the most commonly used minutes below.
Chapter 7 Constructors and Other Tools. Copyright © 2006 Pearson Addison-Wesley. All rights reserved. 7-2 Learning Objectives Constructors Definitions.
Copyright © 2003 Pearson Education, Inc. Slide 7-1 Created by Cheryl M. Hughes The Web Wizards Guide to XML by Cheryl M. Hughes.
David Burdett May 11, 2004 Package Binding for WS CDL.
Prepared by: Workforce Enterprise Services For: The Illinois Department of Commerce and Economic Opportunity Bureau of Workforce Development ENTRY OF EMPLOYER.
Local Customization Chapter 2. Local Customization 2-2 Objectives Customization Considerations Types of Data Elements Location for Locally Defined Data.
Create an Application Title 1Y - Youth Chapter 5.
Process a Customer Chapter 2. Process a Customer 2-2 Objectives Understand what defines a Customer Learn how to check for an existing Customer Learn how.
Custom Services and Training Provider Details Chapter 4.
Add Governors Discretionary (1G) Grants Chapter 6.
CALENDAR.
1 Advanced Tools for Account Searches and Portfolios Dawn Gamache Cindy Bylander.
The 5S numbers game..
© Tally Solutions Pvt. Ltd. All Rights Reserved Shoper 9 License Management December 09.
Welcome. © 2008 ADP, Inc. 2 Overview A Look at the Web Site Question and Answer Session Agenda.
Student & Work Study Employment Facts & Time Card Training
Break Time Remaining 10:00.
A sample problem. The cash in bank account for J. B. Lindsay Co. at May 31 of the current year indicated a balance of $14, after both the cash receipts.
Turing Machines.
Red Tag Date 13/12/11 5S.
Information Systems Today: Managing in the Digital World
Database Performance Tuning and Query Optimization
PP Test Review Sections 6-1 to 6-6
INSERT BOOK COVER 1Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall. Exploring Microsoft Office Excel 2010 by Robert Grauer, Keith.
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Outline 24.1 Test-Driving the Ticket Information Application.
Copyright © 2012, Elsevier Inc. All rights Reserved. 1 Chapter 7 Modeling Structure with Blocks.
 Copyright I/O International, 2013 Visit us at: A Feature Within from Item Class User Friendly Maintenance  Copyright.
Lilian Blot PART III: ITERATIONS Core Elements Autumn 2012 TPOP 1.
1 TV Viewing Trends Rivière-du-Loup EM - Diary Updated Spring 2014.
Adding Up In Chunks.
MaK_Full ahead loaded 1 Alarm Page Directory (F11)
1 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt Synthetic.
GEtServices Services Training For Suppliers Requests/Proposals.
Skills for Success with Microsoft® Office 2010
2004 EBSCO Publishing Presentation on EBSCOadmin.
: 3 00.
5 minutes.
1 hi at no doifpi me be go we of at be do go hi if me no of pi we Inorder Traversal Inorder traversal. n Visit the left subtree. n Visit the node. n Visit.
Types of selection structures
Speak Up for Safety Dr. Susan Strauss Harassment & Bullying Consultant November 9, 2012.
McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 12 View Design and Integration.
Chapter 12: Designing Databases
Chapter 12 Working with Forms Principles of Web Design, 4 th Edition.
Converting a Fraction to %
Clock will move after 1 minute
Statistically-Based Quality Improvement
Physics for Scientists & Engineers, 3rd Edition
Select a time to count down from the clock above
Import Tracking and Landed Cost Processing An Enhancement For AS/400 DMAS from  Copyright I/O International, 2001, 2005, 2008, 2012 Skip Intro Version.
Copyright Tim Morris/St Stephen's School
Page 1 Orchard Harvest ™ LIS Find a Patient Training.
1 Decidability continued…. 2 Theorem: For a recursively enumerable language it is undecidable to determine whether is finite Proof: We will reduce the.
© Copyright 2011 John Wiley & Sons, Inc.
FIGURE 3-1 Basic parts of a computer. Dale R. Patrick Electricity and Electronics: A Survey, 5e Copyright ©2002 by Pearson Education, Inc. Upper Saddle.
Chapter Two Gathering Information Copyright © 2012 Pearson Education, Inc. Publishing as Prentice HallChapter2.1.
Chapter Two Gathering Information Chapter2.1 Copyright © 2014 Pearson Education, Inc.
Copyright ©2014 Pearson Education, Inc. Chapter 3 Requirements and Business Rules Chapter3.1.
Chapter 3 Requirements and Business Rules Copyright © 2012 Pearson Education, Inc. Publishing as Prentice HallChapter3.1.
PT2520 Unit 2: Gather Information and Define Requirements
Presentation transcript:

IT203 Unit 2: Gather Information and Define Requirements Gathering Information Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Ways to Gather Information Initial Interviews Review Business Documents Interviews with Stakeholders Questionnaires Work Shadowing Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Initial Interviews The initial interviews should provide an overall picture of the purpose of the database. What you want at this point is to gather the goals and broad requirements of the database. Avoid too many specifics. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Reviewing Business Documents Reviewing business documents can reveal many things relevant to development of the database: Insight into daily business processes How information is gathered and used What information is gathered The sequences used for gathering and passing information Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Database Domain The domain is the focus of the database. If the database is to track inventory, then the inventory content and processes within the company would form the domain of the database. For instance, if the database were for tracking clinical work in a dentist’s office, then the dental procedures and how they are captured would be the database domain. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Requirements Requirements are things the database must do. For instance, an inventory database must: Store all the relevant data about inventory items. Be able to both add and remove items from the inventory. Allow for the details about items to be modified. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Forms Forms are documents used to capture business information. They represent the “input” to a system. They can be paper-based or on-line. The fields filled in by users on the forms are a good first guide to what fields the database will need to contain. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Sample Form Tutor Session Report Form Tutor Name   Session Date Session Time StudentID Student Name (NA if no student signed up) Materials covered (NS if no show) Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Reports Reports present “output” from the data. Typically they summarize the data, providing things like totals and averages. These, too, are a good guide to the content of the potential database since it will need to store any information needed to create the reports. Reports often contain graphs and charts. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Sample Report Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Other Documents Manuals and procedures can be useful for understanding work processes. Memos and letters can provide insights into how the data is used and who the major stakeholders are. Annual reports offer insights into the directions and plans of a company in which the database will play a part. Even Mission Statements and goals can be valuable, since the database should support the mission of the company. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Things to Watch for When Reviewing Documents Make sure you understand all the abbreviations and terms. Make sure you understand the purpose of the document within the context of the data with which you are working. Make sure you understand where in the process the document belongs. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Types of Database A database can serve several different functions. Three of them are: Transaction database Management Information System Business Intelligence Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Transaction Databases These are databases that are optimized to collect and process business transactions such as sales. They need to be fast and efficient. They often need to be available 24 hours a day, 7 days a week. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Information Management Systems Information management systems are optimized to process the transaction information, creating summaries and reports that are useful to business managers. They often work with a copy of the transaction data so as not to slow down the transaction database. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Business Intelligence Business intelligence moves beyond management systems. It provides tools for “mining” data to look for patterns and trends that might help the business improve its offerings or service. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Identifying stakeholders You should first identify all the relevant stakeholders. A stakeholder is anyone who has a “stake” in the database project. This includes not only management, but also anyone who will have to work with the database. It may also include customers. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Interviews Interviews are especially good for asking “open-ended” questions. An open-ended question is one that doesn’t have a set answer, such as “What is the aspect of the current database that gives you the most trouble?” It is important to interview all the stakeholders to get their perspectives, not just the management. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Preparing for an Interview It is important to always prepare for an interview. Prepare questions ahead of time. Be aware of how much total time you have for the interview. Allot a certain amount of time to each question. Allow some time to follow up questions. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Example Interview Preparation Form Tutor Interview   Total time: 45 minutes. Allow 5 minutes for introductions. Question For Time Allotted How do you set your schedule? Tutors 5 minutes How do you sign up for a tutoring session? What would make the process easier? Students 3 minutes What do you typically put in the section of the tutor report labeled “Materials Covered?” 2 minutes How do you check to see if a student is in the class they are being tutored for? Why do you sometimes not get the studentID number How do you cancel a session? Tutors ,Students Would you be willing to enter your demographic information to get tutoring? 2 minute What is the number one thing you would like to see changed in the current system? Tutors, Students 8 minutes What part of the current system do you like? Time for follow up questions Tutors, students Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Conducting the Interview Lay out the rules and the time constraints from the beginning. Facilitate the interview, making sure everyone has a chance to respond. Politely cut off overly long responses or those that stray from the subject at hand. If possible, record the interview or have someone you trust take notes. It is almost impossible to facilitate an interview and take good notes. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Follow Up for Interviews Transcribe the notes while they are still fresh in your mind, ideally within 24 hours. Think of any follow-up questions to ask in person or in questionnaires. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Questionnaires Questionnaires are useful for asking “closed questions.” Closed questions are questions that have a specific answer, such as yes/no or multiple choice. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Preparing Questionnaires Make sure your questions are not ambiguous. Make sure you get a representative sample back. Too small of a return or a return that is not balanced among the appropriate stakeholders may not give you valid information. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Sample Questionnaire Would you be willing to enter demographic information such as gender and ethnicity to sign up for tutoring? Yes No Would you be willing to list the classes in which you are currently enrolled? Which is the most important factor when you are looking for a tutoring session to sign up for? The particular tutor The time slot Neither of the above Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Comparing Questionnaires and Interviews Good for open-ended questions More time-intensive and more costly Better for complex issues and views Questionnaires Good for closed -ended questions Less time-intensive and less expensive Capture a wider variety of views Harder to judge the accuracy Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Work Shadowing Work shadowing consists of observing stakeholders as they work with the current database. This allows the developer to: See how the data is actually processed in a day by day routine. See “exceptions” to the rule that may not be documented. It also may uncover other undocumented processes that are important to the function of the database. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Documentation It is important to keep samples of all the business documents you have reviewed. Keep all notes about the abbreviations and field contents. Keep summaries and transcripts of interviews. Keep summaries of questionnaire results. Keep summaries of work shadowing reports. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of the publisher. Printed in the United States of America. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

IT203 Unit 2: Gather Information and Define Requirements Requirements and Business Rules Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Client-Server Relations Much of software can be divided into one of two types: Server Client Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Servers A server is software that offers “services” to other software. For instance, a Web server provides Web pages that are requested by a browser. Databases usually behave as servers. Some machines are optimized to host server software. They are also commonly referred to as servers. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Clients Clients are software that request services. A browser, for instance, requests a Web page to load and view. An application client can request data from a database. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Client Server Example Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Review of the Issues Reviewing the issues with the current data management system is a good place to start. Several of the requirements of the new database will be to resolve those issues. Reviewing the issues also helps you refocus on the “problem domain.” Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Problem Domain The problem domain represents the business problems a database is meant to solve. For a retail sales database, for instance, the problem domain is the sale, and all that is involved with the sale. For a science database dealing with earthquakes, the domain would be the locations, sizes, and depths of earthquakes. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Requirements It is important to identify all the requirements of the database. A requirement represents something the database must store or do. There are several types of requirements: Data requirements Report requirements Security requirements Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Data Requirements Data requirements refer to the attributes the database must store in order to meet the information needs of an organization. It is important to identify these data requirements as completely as possible. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Report Requirements Report requirements refer to the reports the database will have to generate. For example, the Tutor database will have to report on tutor’s hours, the numbers of unduplicated student sessions and the demographics of students using the tutoring services, among others. The data required to generate those reports must be in the database. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Security Requirements Security requirements refer to the limits that must be placed on database access in order to protect the integrity and privacy of the data in the database. Typically, different users of the database will have different levels of access depending on their needs. Users should have access to the data and resources they need to do their work, but no more. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Actors and Requirements It is useful to think about requirements in terms of each of the actors who will be using the database. What does that particular actor need to do with the data in order to do his/her job? What are the limits on what each actor should be able to do? Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Access Requirements Access is usually defined in terms of what kinds of things a user can do in the database. For instance, a user can be given permission to SELECT some data – that is, to view it – but not other data. A user may be given permission to edit certain data, but not all data. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Types of Security Requirements Type of Access Description Create The permission to make new database objects such as tables or views Alter The permission to modify database objects Drop The permission to remove database object Select The permission to see data in a table or view Update The permission to modify data in a table Insert The permission to add data rows to a table Delete The permission to remove data rows from a table Execute The permission to run database executables such as stored procedures Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Business Rules A business rule is a rule about how data is collected, stored, or processed. Examples of business rules: All quarter grades must be between 0 and 4. No patron can have more than 20 items checked out at a time. Payments must be made within 30 days or a $25 late fee will be added. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Enforcing Business Rules Some business rules can be enforced in the database itself by placing constraints on the data. The quarter grade must be between 0 and 4. Other business rules must be enforced through other means such as “triggers.” Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Triggers A trigger is a block of SQL code that is triggered by an event such as an INSERT, UPDATE, or DELETE. Triggers can be used to enforce rules such as “No patron can check out more that 20 items.” When the database inserts a new item, the trigger fires and totals the number of unreturned items. If it is greater than 20 it can notify the librarian or the patron. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Reviewing Requirements and Business Rules When you have listed all the requirements and business rules you can discover, you should always review them with the chief stakeholders. Use the review to make sure you have a complete list of requirements. Also make sure you have understood the business rules and processes. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A Little Bit of Grammar This is a technique to help identify the data requirements for a database. Review all the documents, interviews and questionnaires and list all the major nouns. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Grouping Around Themes The next step is to sort the nouns into broad themes or groups. These themes may become entities in your database design. The other nouns that belong to the those themes will become attributes. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Entities Entities are things that the database is concerned with. In the tutoring database, for instance major themes are student, class, tutor, session, and request. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Attributes Attributes represent data that describe entities. Attributes of student, for instance, include: Student ID Student name Student address Student phone, etc. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Keys When you have your preliminary entities and attributes defined, you can start thinking about keys. There are several types of keys: Primary keys Candidate keys Natural keys Composite keys Surrogate keys Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Primary Keys A primary key uniquely identifies a row of data. A primary key must be unique for every row (that is it can never repeat in the table that will result from the entity). For instance, a student ID can uniquely identify an individual student and the data associated with him or her. Every entity should have a primary key. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Candidate Keys A candidate key is an attribute or attributes of an entity that have the potential to become a primary key. Candidate keys are not actual keys, but are a list of attributes that should be considered when choosing the primary key. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Natural Keys There are basically two ways of making keys: natural and surrogate. Natural keys are keys formed by using an attribute that “naturally” belongs to the entity, such as a student ID or a phone number. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Composite Keys Composite keys are keys composed of more than one attribute. For example, to get a unique designation of a course section, it is necessary to combine the quarter, the year, and the item number. Composite keys are one key made out of many parts. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Surrogate Keys Surrogate keys are keys that have no business meaning. Often they are just integers incremented row by row. They can also be things such as time stamps of auto-generated GUIDs. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Comparison Between Natural and Surrogate Keys: Advantages Natural Keys Surrogate Keys Protect better against accidently repeating the same information. Belong to the entity and tend to make foreign keys more understandable. Are always unique. Do not contain any business logic and are therefore not subject to changes in business rules. Are easier to define and use. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Comparison Between Natural and Surrogate Keys: Disadvantages Natural Keys Surrogate Keys Uniqueness is hard to guarantee. May require clumsy composite keys consisting of several attributes to be unique. Are subject to changes in business rules (think of Social Security numbers, for instance). Automatically grant uniqueness to a row, making it easier to accidentally insert the same information twice. Have no relation to the data, making database relations less readable. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall Documentation All requirements and business rules should be documented clearly and stored. Even preliminary definitions of entities, attributes, and keys should be kept for later reference. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of the publisher. Printed in the United States of America. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall