Professional Systems Designs
6209 W 26th Avenue, Wheat Ridge, CO 80214-8237
303-239-0970 | paul@edrda.com | www.edrda.com
Custom Database Software Development - New System Checklist
Custom database software development can be facilitated by the use of a
checklist of questions to be discussed before a system is created. This
checklist below is provided to assist in the Analysis/Requirements phase of a
new software project. The questions are intended to clarify both your and
our understanding of what is expected and desired as well as to identify the pertinent
issues requiring attention.
The technical architecture of the computer system is very important, often discussed
and often an issue. Choosing the right architecture is in some instances a “no brainer” and in others quite difficult. In the difficult cases, it is a delicate balance
of costs (up-front and ongoing), capabilities, capacities, and flexibility. If
you are interested and/or knowledgeable in this area please refer to our “System
Architecture Comparison” chart for a very brief discussion. For our
non-technical customers, make sure you ponder, consider and carefully answer
the questions contained herein. Where appropriate, caveat your answers with comments
such as “like to”, "absolutely required”, or “at a later time” so that we can
understand where your priorities and flexibilities lie. Keep in mind that
browser based web applications are typically MUCH more expensive and
complicated to build and maintain than local (LAN based) applications.
Business Considerations
It is VERY important to view this “project” as more than a computer
system. This is a business process undertaking and the computer system is just a
part of that larger project. Business Process Reengineering is a modern high-tech
term for this larger picture but don’t be intimidated by it. We are simply
streamlining/simplifying existing processes and creating new process/procedure that
your users and new computer systems will facilitate. We don’t want to simply automate
outdated processes and procedures.
- Business reason for
considering project/system
- Desired delivery date or
proposed project schedule
- Urgency or time constraints
- Cost constraints/budget
- Who are the internal project “owners”
and decision makers
- Who are the direct and
indirect users? Internal staff, customers, clients, vendors, business
partners, etc.
- How will each type of
user interact with the system and what information does each need? For each
type of user consider the following.
- General business
need/purpose
- Inputs/Outputs
- Frequency of activity,
- Access system from what
devices and locations. (Your office, their office, home, web kiosks, PDAs, telephone, cell phone,
paper documents, etc)
- Multi-language support
- Uptime requirements. (24x7,
etc).
Nature of the Computer Application
- Do you have a desired
development tool or platform in mind? You may want to split the
application into some parts that can be run on a Windows workstation
computer, while other parts (like reports, or timecard entry screens) are
accessed via a web browser on your local intranet. Web applications
and reports can be viewed on all computer types and operating systems that
are capable of viewing web pages. Some tools currently available to
build the system are listed here:
- User Interface (Front
End): MS Access, Visual Basic, Web Browsers(Internet Explorer, Netscape)
- Database storage: SQL
Server, MySQL
- Web Server logic: Active
Server Pages or Cold Fusion for robust database driven Web applications,
- JavaScript (for cross
browser compatibility),
- FrontPage for simpler
Web applications,
- Crystal
Reports,
- MS Office
applications, Word, Excel, Powerpoint, etc.
- Interactive Voice
Response Systems (IVR) - dial 1 for English, 2 for Spanish...
- If other applications are
involved (MS Word, MS Excel, QuickBooks, etc.), what version will be used?
- If Microsoft Access is the desired
target development tool, is it acceptable to require each and every user to
own the same version of Access.
- Target Windows version for
each client computer in the system (Windows 95, 98,
NT 4.0, 2000, XP, etc.),
- Target computer Operating
System if not a Windows Platform (Apple, Unix,
etc.)
- Target workstation hardware
for all client stations. Are they consistent or widely varied? What are the
slowest and smallest of the following.
- Machine speed? (500,
1000, 1500, etc. Mhz )
- Hard drive space –
10...40, etc. Gigabytes,
- RAM – 128, 256, 512, etc. Mbytes.
- If a network application,
which network and version? – NT 4.0, Windows 2000, Novell 3.1, Novell 4.11, etc.
- If available, please provide
a network configuration diagram with paths of front and back end
databases, security/user groups, etc.
- Is Internet/Intranet data
access desired?
- For data entry?
- For report reviewing
only?
- To disseminate
existing documents?
- To email notification
of pre-determined business trigger events (project milestone met and
approved, employee appraisal ready for approval, etc.)?
- How current/old cant the data be? (real time, 1 hour, 1day, 1 week)
- Security and user rights requirements
- Extremely high
network/internet/infrastructure security - firewall, proxy server, etc.
- Application logon security
- Are there different User
Groups that have special security needs or different levels of
security/access/capability. (Service reps, sales reps, customers,
administrators, vendors, managers, directors, etc.)
- Are Backup Scenarios
currently in place? Should they be integrated as a component of the
system? (as opposed to traditional full system tape backups)
- Please explain your current backup procedure/policy. The
importance of this cannot be over emphasized.
- Will remote troubleshooting be desired? The
addition of Error Processing and Logging software will facilitate remote
support and troubleshooting.
- What is your current computer
server infrastructure in terms of...
- Number of server machines
- Operating Systems
- Database Software
- Web server software
- Availability to add new applications
- Do you want or desired any system documentation? It is
strongly suggested that the users/owners of the system create and own any user
oriented documentation. Documentation can include
any of the following
- Installation
- User Guide, How-To guide or cheat sheet
- Administrator
- Troubleshooting
- On-line help
- What is the proficiency level of all users for the target tools and environments?
- Will interfaces to other systems (accounting, payroll,
another database, GIS, truck routing, etc.) be required? This will affect
the data model and system configuration, so early planning for these interfaces
is critical to their successful inclusion into the system.
- Is an audit trail function desired for changes to existing data? What parts of the system will need to be audited?
- Number of Reports. A sample hardcopy or at least hand drawing of each will
significantly help in determination of report commonalties (Company headers,
formats, etc.). Important items are:
- Scope of the data included (Date ranges, one or many, clients/customers, invoices, etc)
- Run-time scope selection flexibility
- Sorting, grouping and subtotaling
- Desired output format:
- Screen Preview
- Inter/Intra-Net
- E-Mail
- Delimited Text
- Spreadsheet, etc.
- Is an ad hoc user reporting, data retrieval, or analysis (On Line Analytical Processing (OLAP), Data Mining, etc.)
capability desired?
- Is an installation program desired for distribution to a large number of off-site users?
- Is an automated network or internet installation desired?
- Are custom point to point modem communications desired? This may also include automated faxing.
- What degree of data validation and error checking is appropriate for each user group?
- Are highly customized/specific error messages required?
- Special Considerations or Requirements:
- Unique business rules, calculations, desired warnings, etc.
- Known or possible issues and problems that may be alleviated with testing
- Multiple databases involved (Access and SQL Server)
- Design for what screen resolution (800x600, 1024x768, etc.)
- Design for what screen size (15, 17, 21 inch)
Data and Volume
- How many users are expected on the system in the near (first 6 months) and long
term? (1 – 3 years and beyond)
- How many users are expected
to use the system at the same time during peak periods in the
near and long term?
- What type of data traffic
will be on the network for the near and long term? (numbers, text, images,
multi-media, etc.)
- What is the volume of traffic
for the near and long term?
- What is the estimated number
of data records to be stored for the near and long term?
- Does data exist from an
existing system or other sources such as spreadsheets? Is it your
expectation that this data be converted in to the new system? Data conversion
is doable but can be fairly expensive so think about how much value it
represents.