Pine Valley Furniture Sylvester Harrison BSA/375: Fundamentals of ✓ Solved
Pine Valley Furniture (PVF) has a history of managing its information systems with significant reliance on manual processes, especially during the 1990s when invoicing was purely manual. In the 2000s, the company reorganized into functional areas, including Manufacturing, Sales Orders, Accounting, and Purchasing, yet continued to use outdated filing systems. This lay the foundation for the decision to switch to a centralized database, marking a pivotal shift in managing company information.
The importance of effective systems analysis and design methodologies cannot be overstated, particularly when building a system aligned with business needs. Systems analysts play a critical role in this process. By implementing thorough analysis prior to building out systems, organizations can avoid delays and unnecessary features, ensuring maximized efficiency. Conversely, shortcuts often lead to mistakes and distractions, complicating progress and outcomes.
Systems Development Life Cycle (SDLC)
The Systems Development Life Cycle (SDLC) is essential for guiding software design and development, encompassing seven phases: Requirement Analysis, Feasibility Study, Design, Coding, Testing, Installation/Deployment, and Maintenance. Implementing the SDLC within PVF’s structure allows for developing a system tailored to its specific business model and practices.
SDLC Phase 1 - Requirement Analysis
The requirement analysis phase is fundamental in the SDLC, as it aggregates information from customers, users, and stakeholders. This phase paints a clear picture of the project’s scope, gathering minute details that help finalize timelines and identify risks.
SDLC Phase 2 - Feasibility Study
The feasibility study examines how to achieve the project scope established in the requirement analysis. It produces a Software Requirement Specification (SRS) document, detailing everything that needs to be developed throughout the project lifecycle.
SDLC Phase 3 - Design
The SRS serves as the reference for this stage, enabling the preparation of both High-Level Design (HLD) and Low-Level Design (LLD) documents critical for system development.
SDLC Phase 4 - Coding
Coding follows design, representing the longest phase in the SDLC. Tasks are divided into units or modules and assigned to developers who construct the code according to the designated programming language. Developers also write unit tests for each component to validate their code and review each other’s work.
SDLC Phase 5 - Testing
In testing, once unit testing concludes, the software moves to a testing environment where the QA team assesses functionality against design documents. Bugs identified during testing are communicated back to developers, who fix and resubmit for further review until a defect-free and stable version emerges.
SDLC Phase 6 - Installation/Deployment
This phase entails deploying the solution into a production environment, potentially in stages according to the company’s business strategy. The implementation undergoes User Acceptance Testing (UAT) in a staging environment before final production deployment for client feedback.
SDLC Phase 7 - Maintenance
After deployment, users commence with the developed system. This phase may reveal issues requiring resolution for smooth operation, including bug fixing, upgrades, and enhancement of new features.
Importance of SDLC
Having an SDLC framework is crucial as it serves as a guide throughout the project, effectively meeting client objectives. It aids in evaluating and scheduling deliverables while ensuring timely and accurate completion of projects. Beyond technical development, the SDLC also encompasses process development, change management, user experience, and policy formulation.
Off-the-shelf Software
When selecting software, two primary criteria emerge: functionality and ease of installation. Functionality encompasses the essential tasks the software must perform, while ease of installation considers how readily users can install it with minimal supervision.
Common Criteria for Software Selection
These include cost, vendor support, viability, flexibility, documentation, response time, and ease of installation. Cost requires an evaluation of in-house development versus purchasing. Vendor support assesses the assistance a vendor can offer, whereas vendor viability relates to the vendor's market credibility. Each criterion's importance may fluctuate based on specific project and organizational needs.
Additional Criteria for Evaluation
Implementability, supportability, and deliverability must also be considered. Implementability addresses the platform requirements and integration with existing systems. Supportability covers training, documentation, and the vendor’s stability. Deliverability ties to the ease of customization and testing capabilities.
Bids and RFP Process
The procurement process for software also requires careful evaluation of vendor qualifications. An established track record, reference checks, and legal agreements such as Non-Disclosure Agreements (NDAs) can safeguard company interests, preventing competitors from accessing proprietary solutions developed by the vendor.
Project Management Within SDLC
Effective project management is essential in ensuring system development projects fulfill customer expectations, remaining within budget and deadlines. The project management process encompasses four phases: initiating, planning, executing, and closing down. Risk management strategies are vital, including risk acceptance, avoidance, control, transference, and continuous monitoring.
Conclusion
The transition of Pine Valley Furniture from manual processes to a centralized database represents a significant evolution in its business operations. Understanding and implementing the SDLC ensures that development practices align closely with organizational goals and customer needs, ultimately leading to sustained success.
References
- Pressman, R. S. (2014). Software Engineering: A Practitioner's Approach. McGraw-Hill.
- Sommerville, I. (2011). Software Engineering. Addison-Wesley.
- Bourque, P., & Dupuis, R. (2010). Guide to the Software Engineering Body of Knowledge (SWEBOK). IEEE.
- Beck, K. (2001). Extreme Programming Explained: Embrace Change. Addison-Wesley.
- Schwalbe, K. (2015). Information Technology Project Management. Cengage Learning.
- McGarry, R., & Eustice, V. (2007). The Critical Role of Requirements Analysis in Information Systems Development. Journal of Systems and Software.
- Friedman, K. (2020). Managing Software Engineering Standards. Software Quality Journal.
- Cohn, M. (2005). User Stories Applied: For Agile Software Development. Addison-Wesley.
- Peters, J., & Vickery, J. (2009). Understanding System Development Life Cycle. Journal of Modern Project Management.
- Davis, A. M. (2005). Software Requirements: Objects, Functions, and States. Object Management Group.