Database Design and Integrity Controls Discussions
DQ#1 – Database Design
Who should be in charge of designing the database – team members, who understand the application requirements, or a database design expert, who may not understand the problem domain issues but does understand good database design? What would you suggest?
DQ#2- Integrity Controls
The rapid increase in e-commerce and the need for online access has increased the need for integrity controls. Integrity controls are integrated into the application and the database. Business managers want integrity but might not be willing to pay for the time and effort needed to develop comprehensive integrity controls. What arguments can you present to persuade business owners that this investment in non-functional software is beneficial? How much effort is needed compared to developing functional business software?
DQ#3 – Agile Development Side-Effects
What are the major problems (or side-effects) while using Agile Development Methodology (for example Scrum and XP)?
DQ#4 – Applying analysis and design at workplace
Do you think that you can apply any of the systems analysis and design concepts that we learned (FURPS+, use cases, class diagram, activity diagram, sequence diagram, state machine diagram, etc.) at your workplace in the near future or in the long term?
I would employ a database design team who understand the application requirements to be in charge of designing the database of a system. I thoroughly believe in brainstorming. I learned about brainstorming as a project management technique in CIS310, and I believe that working as a team is better than working individually in order for a project to be successful. Although a database design expert would be optimal, if I were to have to choose from one expert or an experienced team that may not all be made up of database design experts, i would choose a team with understanding of how a system works and the problem domain.
Depending on a project’s goals, the scope of the problem domain may vary. The problem domain is the specific area of the user’s business that is included within the scope of the new system (Satzinger/Jackson/Burd, 2012, P92). After using techniques such as brainstorming and the noun technique, a team would be perfectly capable of designing a system and database to meet the user’s needs without being experts on a database management. By means of creating comprehensive use cases, domain and design class diagrams, sequence diagrams and through the employment of a database management system, team members can successfully design the database to satisfaction.
In my opinion I think there should be a collaboration effort of both Senior members of the team and data design personnel. One can’t do one without the other and there will be errors if only one of the two oversaw a complex database. Perhaps a business analyst could be the mediator and facilitate efforts.
I would suggest both seniors to be chief counsel to a business analyst and the BA would be properly informed to make decisions and discuss with key stake holders and the CEO if needed.
With the growth in e-commerce integrity controls are crucial to ensuring that data is secured. It is importants for databases as well as the applications that the users control to be protected. Business manager’s will need to budget this as its not a matter of want anymore, but a matter of necessity. The argument that I would make is that data is the most important resource for the business, so if you invest in this software to protect the data, better enforce data integrity. If a business has compromised the data, than the business is at risk, so ensuring data protection is worth the money that you will spend.
I strongly believe that integrity controls are a huge way to avoid easy mistakes. When an organization limit the chances of user inputs that are incorrect information, transactions not only save man hours, but the company could potentially save money as well.
While it might seem limiting to set controls it eliminates most room for errors. Imagine how much money you could save if you input the ability for a drop down to select several items than if you allow a mistake to order many items instead of a few which could cause future issues.
What do you guys think?
Agile development is a philosophy and set of guidelines for developing information systems in an unknown, rapidly changing environment. Agile development is an extremely adaptive approach to software development (Satzinger/Jackson/Burd, 2012, P244).
XP and SCRUM are agile development methodologies that are both based on agile development principles. Below are some foreseeable problems with using Agile development methodology:
-Product owner may create an insufficient backlog. As Scrum relies on the product owner’s participation and involvement, if the product owner/client does not clearly define the backlog, the scrum master and team may not have all the information they need to complete their sprints and return a specific deliverable
-Communication errors may occur. Because XP and Scrum both rely heavily on communication, and less upfront panning is involved in a glide development, communication errors are likely to occur and set a project off track. “One major cause of project failure is a lack of open communication” (Satzinger/Jackson/ Burd, 2012, P451).
-Time constraints causing opportunity for cutting corners. Because a typical XP or Scrum project iteration lasts only a few weeks to months, testing and communication must be constant. User feedback is a huge factor in both methodologies and if users aren’t constantly available and all team members aren’t giving constant time and effort to the projects at hand, it my pose a challenge to the time constraint of a sprint or completed deliverable.
One of the major problems would have to be the amount of time it takes for setup. Granted, once its setup and operating as intended, it should simplify and make things more dynamic, however, the initial setup does take quite a bit of time. Cooperation among end users, developers and many others is required to get things off the ground and testing must be completed at each step of the way which is time consuming. Another issue is since this requires such cooperation, if say the developer or end user does not want to particitpate it is very likely that this methodology will not work and will fall by the waist side very quickly.
I currently work inspecting construction, and while I myself am not in project management, I work on various building projects that require implementation of design of some sort. Someone is working to make sure that our programs (like Plangrid.com) are runing smoothly for me to access. In order to run Plangrid, which loads all projects a company is currently running, and all structural and architectural plans that are displayed digitally.
In order for Plangrid to run, functional and nonfunctional requirements for the site had to be identified. A team of stakeholders would have had to meet in order to identify a use case, or multiple use cases. A Class diagram, or multiple class diagrams, were probably created to develop object classes and functions for the site. Sequence diagrams would have then had to be created by an analysis team in order to describe the flow on information into and out of the system. Perhaps even agile development was utilized.
In the future, I’d like to work as a recruiter. (I don’t know why I picked such a difficult major ether). I would imagine at the very least I’d be using spreadsheets, and a website such as Linkedin or Indeed. In order to run these websites, a team of analysts would have had to meet to begin the recess of identifying use cases for the sites. I’m sure there aren’t many careers available today that don’t utilize a system that’s been build or improved by analysts.
I absolutely believe that FURPS can be used in any organization I am apart of especially when I was assigned to Human Resources Command. In that assignment, I was a Data management NCO and one of my main duties was to help design and deploy the Army’s new Integrated Personnel and Pay System program. (IPPS-A)
FURPS could be used easily to analyze the problem sets we had and as the system matures can be used to articulate and manage challenges of the new system in the future.