CIS2245 Software Engineering Amjad Alharbi Quality Assurance

Cis2245 Software Engineeringamjad Alharbi Quality Assurancejonathon

Create an academic paper based on the provided project description and stakeholder analysis for a university web platform named SchoolSearch. The paper should include an introduction to the project, detailed discussion of stakeholder roles and user stories, analysis of functional requirements, and project plan phases. Address the importance of stakeholder communication, the significance of user stories, and the methodology used in designing the system. Provide context on technical tools and development phases, emphasizing the significance of a well-structured software development lifecycle. Include a conclusion summarizing the challenges and best practices in developing educational web platforms.

Sample Paper For Above instruction

Introduction

Developing an educational web platform like SchoolSearch represents a comprehensive endeavor in modern software engineering, integrating various stakeholders' needs and aligning technical solutions with organizational goals. The core objective of SchoolSearch is to facilitate students' access to campus services, including course registration, class information, and campus navigation, while supporting administrative and managerial functions. This project underscores the importance of stakeholder analysis, user-centric design, and phased development methodologies, which are integral to building robust, efficient, and user-friendly educational software systems.

Stakeholder Roles and Their Significance

The success of the SchoolSearch project heavily relies on effective stakeholder engagement. Key stakeholders include Benjamin Raffleton, a Business Operations Manager, whose aspiration to transition from manual Excel databases to an automated system underscores the importance of data integration and usability in the platform. His interest in class scheduling, semester planning, and timetable management signifies the need for the system to handle complex relational data and provide streamlined information retrieval. Similarly, Roger Freeman, the Product Manager, emphasizes categorization and accessibility of university-wide class data, highlighting the importance of a well-organized database architecture and search functionalities.

Emilia Smith, a student, exemplifies end-user interests, specifically seeking an application that monitors her graduation requirements, avoids schedule conflicts, and provides timely notifications. Her role exemplifies user experience considerations, including interface design, notification systems, and personalization, which must be incorporated into the development process to meet user expectations effectively.

The diverse stakeholder roles illustrate the multi-faceted nature of the project — from administrative data management to student-centric interfaces — requiring a comprehensive analysis of real-world needs and technical capabilities.

User Stories and Their Role in System Design

Derived from stakeholder requirements, user stories serve as fundamental building blocks for system design. They provide a narrative perspective, emphasizing user needs and organizational goals. For example, “As a student, I want courses chosen for me so that I can graduate on time,” reflects the necessity for automated course planning features. The story of “As a dean, I want courses filled so that classes aren’t canceled,” underscores the importance of enrollment management functionalities.

Further stories, such as “As a student, I want a list of colleges near me,” or “As a student without a car, I want a list of colleges close to mass transportation,” highlight location-based services critical for accessibility. Uploading these stories into the development process ensures features align with actual user demands, fostering a user-centered design approach.

Functional and Non-Functional Requirements

Functional requirements include user registration, course search, class scheduling, notifications, and administrative management of class data. These functions require an integrated database, secure authentication, search algorithms, and notification systems, possibly leveraging REST APIs, OAuth, and responsive front-end frameworks like Bootstrap or Material Design.

Non-functional requirements, although less explicit in the provided description, include system reliability, user privacy, data security, scalability, and responsiveness. For an educational platform serving diverse users—students, counselors, administrators—performance optimization and data confidentiality are paramount.

Development Methodology and Project Phases

The project anticipates a phased development approach, including requirements gathering (SR phase), application development with notification features (AD phase), and system deployment with user login, data editing, and security (DD phase). This systematic progression aligns with the Software Development Lifecycle (SDLC), ensuring thorough planning, implementation, testing, and deployment.

In the SR phase, it is crucial to analyze what information should be publicly accessible versus restricted, involving stakeholder discussions to determine data categorization and privacy policies. The AD phase focuses on prototyping and feature development, utilizing tools like Git for version control, REST API frameworks in Java, and frontend technologies like React or Angular. The DD phase emphasizes testing, security, authentication, and deployment, incorporating SSL certifications and cloud services (e.g., AWS or Heroku). Moreover, tools like Visual Paradigm and Balsamiq Mockups are essential for system modeling and mockup creation.

Technical Tools and Technologies

The project utilizes a broad spectrum of tools—version control with GitHub or GitLab, REST API development with Java Spring/Hibernate, and frontend design with responsive frameworks. User authentication and authorization are managed through OAuth protocols, ensuring secure access control. For testing, frameworks like JUnit or Selenium are employed, guaranteeing system stability and performance. Deployment involves cloud services such as AWS or Google Cloud, with SSL certificates for secure data transmission. These technologies collectively facilitate a scalable, secure, and user-friendly platform.

Challenges and Best Practices

Key challenges in developing SchoolSearch include data privacy, integrating diverse stakeholder requirements, ensuring system scalability, and delivering an intuitive user experience. Effective communication across stakeholders is vital, requiring continuous feedback loops and adjustments. Employing agile methodologies allows iterative development, rapid prototyping, and flexibility in addressing unforeseen issues. Security considerations, particularly in handling sensitive student information, necessitate comprehensive testing and adherence to legal standards like FERPA.

Conclusion

The development of comprehensive educational web platforms like SchoolSearch exemplifies the confluence of stakeholder analysis, user-centered design, and phased development strategies. Successful deployment requires meticulous planning, execution, and testing, along with the integration of advanced technologies to meet the diverse needs of students, faculty, and administrators. Overcoming challenges related to data privacy, system scalability, and user engagement embodies best practices in modern software engineering, ultimately contributing to more accessible and efficient educational environments.

References

  • Alan, M. Davies. (2014). Great Software Debates. Willey-IEEE Computer Society Press.
  • DRM Associates. (2011). New Product Development Glossary. DRM Publications.
  • Morris, J. M. (2012). Software Industry Accounting. Academic Press.
  • Schneier, B. (2000). Secrets and Lies: Digital Security in a Networked World. John Wiley & Sons.
  • Roth, M., et al. (2017). Best practices in educational technology integration. Journal of Educational Computing Research, 55(6), 717–738.
  • Hohman, L. (2019). Security considerations for web-based educational applications. Computers & Security, 83, 134-147.
  • Springer, P. (2020). Cloud deployment strategies for scalable online education platforms. IEEE Transactions on Education, 63(2), 109-116.
  • Martínez, T. (2018). UI/UX design principles for educational apps. International Journal of Human-Computer Interaction, 34(7), 637–651.
  • Nguyen, A., & Boyd, D. (2021). Data privacy and compliance in university information systems. Data & Policy, 3, e18.
  • Venkatesh, V., et al. (2016). User acceptance of information technology: Toward a unified view. MIS Quarterly, 27(3), 425–478.