ECE 750 T11 Component-Based Software System Project Proposal. Web-based Course Registration System using Component-Based Development



Similar documents
Report for Project Proposal. Web-based Revenue Receipt & Sate Land Record Management System (WBRR & SLRMS)

CONCORDIA UNIVERSITY DEPARTMENT OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING SOEN390 SOFTWARE ENGINEERING TEAM DEVELOPMENT PROJECT ITERATION 5

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice

Web Services Implementation Methodology for SOA Application

JOB DESCRIPTION APPLICATION LEAD

Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: (Computer Programming 2).

The Dentist Online Reservation System Design and Implementation Web Based Application and Database Management System Project

Web Service Implementation Methodology

Modeling Web Applications Using Java And XML Related Technologies

An Overview of Challenges of Component Based Software Engineering

WebRatio 5: An Eclipse-based CASE tool for engineering Web applications

A Comparison of SOA Methodologies Analysis & Design Phases

Component Based Software Development: Processes and Problems

Experiences with ALM tools in Software Engineering course

CS 487. Week 8. Reference: 1. Software engineering, roger s. pressman. Reading: 1. Ian Sommerville, Chapter 3. Objective:

Business Process Management Enabled by SOA

A Monitored Student Testing Application Using Cloud Computing

Introduction to SOA governance and service lifecycle management.

A National Online Essay Evaluation Service: Valid, Reliable, & Cost Effective Writing Assessment

Software Engineering: Reflections on an Evolving Discipline

From Systems to Services

IS 2927 Independent Study in Systems & Technology Applications of Information Technology. Adaptive Online Course Recommendation System Part II

Component-Oriented Engineering

Web Application Development Processes: Requirements, Demands and Challenges

Lina khalid Ahmed Department of Software Engineering Zarqa University Amman, Jordan

UNIFACE Component-based. Development Methodology UNIFACE V Revision 0 Dec 2000 UMET

Software Requirements Specification

Wily Introscope for Microsoft.NET

Analyses on functional capabilities of BizTalk Server, Oracle BPEL Process Manger and WebSphere Process Server for applications in Grid middleware

Transferring Files to the CU2 Global Secure FTP Site. Login & Access Application Preparation Guide.

A Reference Architecture for Distributed Software Deployment

Information systems modelling UML and service description languages

Client/server is a network architecture that divides functions into client and server

Revel8or: Model Driven Capacity Planning Tool Suite

Click DVDs. Just click to pick. CS4125 Systems Analysis and Design Chantelle Geoghegan Danielle Frawley

Using Web-based Tools to Enhance Student Learning and Practice in Data Structures Course

What is Enterprise Architect? Enterprise Architect is a visual platform for designing and constructing software systems, for business process

Software Engineering. Software Engineering. Component-Based. Based on Software Engineering, 7 th Edition by Ian Sommerville

Object Oriented Analysis and Design and Software Development Process Phases

UML-based Conceptual Design Approach for Modeling Complex Processes in Web Application

Event Manager Application for Android

Graphical Web based Tool for Generating Query from Star Schema

Literature Review Service Frameworks and Architectural Design Patterns in Web Development

Cloud Computing Services and its Application

CS4507 Advanced Software Engineering

A Case Study in the Design of a Restaurant Management System

Analysis and Design with UML

Increasing Development Knowledge with EPFC

Mainframe Managed Tools as a Service (MFMTaaS) Accelerating Growth

Real-World Object-Oriented Design Experience for Computer Science Students

Total System Operations and Management for Network Computing Environment

Software Component Specification Using Design by Contract

Service Oriented Architecture

!! " "!! # $ % " & ' $ % (! %) * +, $ ( ) ' " -

System Requirement Specifications (SRS)

SERVICE ORIENTED ANALYSIS AND DESIGN OF PROJECT MANAGEMENT SOFTWARE

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

GenericServ, a Generic Server for Web Application Development

Basic Unified Process: A Process for Small and Agile Projects

IBM Cognos 8 BI: The platform of choice for Software as a Service (SaaS)

elearning Content Management Middleware

» University of Wollongong. » A Five-star University. Ranked Top 2% (QS 283 out of 15,000+; similar to PolyU; BU, LU and OpenU all 300+)

International Journal of Engineering Technology, Management and Applied Sciences. November 2014, Volume 2 Issue 6, ISSN

Performance Modeling for Web based J2EE and.net Applications

A DSL-based Approach to Software Development and Deployment on Cloud

Net Developer Role Description Responsibilities Qualifications

Web-Based Database Project for the Lawton, OK Police Department: Interdisciplinary Systems Software Development at Cameron University

A Software Development Platform for SOA

Service Oriented Architecture Design and Development Method. Name: René van Donselaar. Universiteit Utrecht

A Software Engineering Senior Design Project Inherited From a Partially Implemented Software Engineering Class Project

INSTALLING AND INVOKING ORACLE DATA INTEGRATOR (ODI) PUBLIC WEB SERVICES

A New Proposed Software Engineering Methodologyfor Healthcare Applications Development

This module explains the Microsoft Dynamics NAV architecture and its core components.

i-questionnaire A Software Service Tool for Data

Software Engineering. Christopher Simpkins Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS / 16

TDDC88 Lab 2 Unified Modeling Language (UML)

Component-Based and Service-Oriented Software Engineering: Key Concepts and Principles

Web Design and Implementation for Online Registration at University of Diyala

Systems Integration: Co C mp m onent- t bas a e s d s o s ftw ft a w r a e r e ngin i eeri r n i g

ClockWork Enterprise 5

Document Management. Document Management for the Agile Enterprise. AuraTech Pte Ltd

Electronic Student Academic System (E-SAS) For Secondary School

How To Understand Software Engineering

The leading platform for Model Driven Architecture (MDA) Content:

Design of a University Portal with Biometric Lecture Attendance Monitoring System

Computer Science. 232 Computer Science. Degrees and Certificates Awarded. A.S. Degree Requirements. Program Student Outcomes. Department Offices

Agile Modeling and Design of Service-Oriented Component Architecture

SOA REFERENCE ARCHITECTURE: WEB TIER

Transcription:

ECE 750 T11 Component-Based Software System Project Proposal Web-based Course Registration System using Component-Based Development Submitted by: Noor Mohiuddin 20362950 Nabiilah Rajabalee 20185995 Raees Hameed 20364393 Abstract Web-based services offer users convenient access to and the ability to manipulate information that is of concern to them. Due to the high requirements in functionality and performance, these systems are often very large in terms of the size of the underlying software. The use of Component-Based Design (CBD) for web-based software comes into play for this very reason. Not only does Component-Based Software Engineering (CBSE) address the manageability issue of web based software, but it also ensures greater consistency and high re-usability of web-based components. These advantages in turn lead to better productivity and hence better quality of the overall design of the system. In order to exemplify the effectiveness of CBD, the design and implementation of a component-based online course registration system is proposed for this project. The website will allow registered students and faculty members to view and make changes to course registration related issues for a specific semester. The system will be developed using a Service-Oriented Architecture (SOA), which involves grouping components into web services. Problem Description Many of the current course registration systems being used in educational institutions worldwide have lots of problems associated to usability and functionality issues. The user interfaces for these systems are most often not well designed to provide its users with an experience that lives up to the standards of other web applications. Moreover, some of the systems have complex designs that make it difficult for users to navigate through the pages in order to use particular provided services. On the other hand, course registration systems usually have limited functionalities and only provide simple services. It would be advantageous to users if such systems could be extended to include more services, such as direct payment of tuition fees and requesting permission to register for courses. 1 P a g e

Description of Proposed System In this project, a web-based course registration system is to be designed and implemented using CBD. The main aim is to utilize the advantages of component-based development to solve the issues associated with most online course registration systems. Developing this online system using components will provide the following benefits: Quicker Development of System Better Services Provided to Users Friendlier User Interface Adaptable to Changes in Functionality Flexibility in Upgrade and Replacement of System Components Easier Maintenance Simpler Testing and Analysis The proposed web-based course registration system is a system that allows students and faculty members to have access to different services. Figure 1 below is a high-level block diagram that shows the main components that will be designed, based on the functionalities that the final system will have. User Faculty User Login Validation Courses Applications Accounts Transcript & Grades User Profile Faculty Courses Course Permissions Credit Card Fees Payment Scholarship Request Official Transcripts Figure 1 High-level System Block Diagram 2 P a g e

Courses/Course Permissions: users will be able to manage his courses in terms of adding a course, dropping a course, searching for courses and viewing his time table for a specific semester. If they are unable to register for a course due to some course restrictions, they will be allowed to request permission for the course online. Applications: s will be able to manage their application to university by viewing their admission status and uploading required documents (transcripts, references, etc). It will also be possible for them to use the system later on to apply for a change in major, apply to graduate from their degree and also apply for graduate studies. Accounts/Scholarships: The system will allow student users to manage details related to their tuition fees, scholarships/awards. s will be able to view their tuition fees status and also have the option to pay for any outstanding fees using a credit card billing system. They will also be able to search for scholarships, apply for scholarships and accept/refuse scholarship offers. Transcript & Grades: Another functionality of the system is that students will be capable of viewing their transcripts and semester grades, and also request official transcripts online. In order to request official copies, students will have the option of paying for the transcript fees online using a credit card billing system. User Profile: Both the student and faculty users will have access to their profiles in order to view and modify their personal information, contact information and change their passwords. Faculty Courses: Faculty members will be able to view information related to the courses that they are teaching, such as the class schedule and the students registered for each course. They will also be able to view their weekly teaching schedule. Finally, faculty users will also be able to set student grades for each course. In this system, the concept of reusability is being employed with the credit card billing component. This is because both the Accounts and Request Official Transcripts entities allow transactions to be done using credit card. Furthermore, the concept of substitutability can be applied to various internal components (not shown on diagram). For example, the component that will deal with searching of courses can later on be substituted by another component that allows a search to be done based on different search criteria. 3 P a g e

Process: This section describes the software lifecycle that we intend to follow for this project. An iterative approach will be used such that the requirements and design will be refined during the implementation and testing phases. Moreover, an incremental approach will be adopted to first create a basic system and then later on enhance it with new functionalities as the system is being developed. Requirements and Analysis: The functional requirements of the system will be gathered in this stage. This includes inception and consequent elaboration on all the web services that the system will provided to the students and faculty members. Architectural Design: The next step is to come up with the appropriate architectural model for the system. An appropriate Platform Independent Model (PIM) suitable for web-based development needs to be chosen. This will simply be an abstract view of the overall structure of the system, and will most probably consist of a heterogeneous style. Domain-Specific & Component Design: In this phase, we will concentrate on designing the Platform Specific Model (PSM). This will involve designing the system using various enterprise middleware styles based on the requirements defined in the initial phase. The system will most probably consist of a 3-tier or N-tier architecture. It will be designed in such a way so as to ensure proper separation of concerns between the different tiers as well as efficient communication between them. The result of this stage is a complete UML Component Diagram, where the functionalities of each component and their required and provided interfaces are properly defined. Component Implementation & Testing In this phase, each component, provided and required interfaces will be coded and tested separately. The system will be developed using the.net framework. The presentation tier will be implemented using ASP.NET, while the business tier will be created using C#. Finally a portion of the database system will also be created for testing and demo purposes using Microsoft SQL Server. System Integration & Testing This phase involves integrating all the components together. Each component created will be combined together into web services. Then, each web services will be separately tested to ensure that they meet the required functionalities. Once this has been achieved, all the web services will be combined together and the system will be tested as a whole. 4 P a g e

Required Resources See Implementation & Testing. Evaluation A key element in this project is to analyze how well this course registration system performs alongside other systems. The developed system will be compared to other existing systems based on functional and non-functional analysis. Functional Analysis: The services provided by our developed system will be compared with other similar existing systems in terms of features available. Non-Functional Analysis: Tests related to non-functional criteria such as performance, code complexity, data flow and user interface friendliness. Performance analysis can be done by introducing different loads in the system using any of the open course web testing tools available and analyzing the output. The complexity of the system can be analyzed in terms of the number of times certain functions are called and the number of times certain components and interfaces are used during data access. Again, this will be done using web testing tools. The data flow analysis will consist of measuring the user s navigation through pages when accessing particular services. The metrics that will be considered here consist of the number of clicks it takes to reach a service, the number of pages it takes to reach a service and how easy it is to go from one service to another. Finally, our system will be compared with other systems in terms of how user-friendly their interfaces are. This form of analysis might seem a little subjective at first. However there are several available standards that can perform evaluation based on this criterion. 5 P a g e

Schedule: Task Start End Person Requirements and Analysis 2nd June 10th June Define System Functionalities 2nd June 6th June Nabiilah, Noor, Raees Research on Enterprise Styles 6th June 6th June Nabiilah Research on.net and Java technologies 7th June 7th June Noor Research on how to evaluate software systems 8th June 10th June Raees Design 10th June 23rd June Select the System Architecture (PIM) 10th June 10th June Nabiilah, Noor, Raees Create Component Diagram (PSM) 11th June 14th June Nabiilah, Noor, Raees Delegation of tasks 15th June 15th June Nabiilah, Noor, Raees Research on ASP.NET and C# 16th June 21st June Nabiilah, Noor Research on OCL 21st June 23rd June Raees Component Implementation & Testing 24th June 1st August Implementation of components 24th June 1st August Nabiilah, Noor, Raees Refinement of design 8th July 26th July Nabiilah, Noor, Raees Testing of Individual Components 1st July 1st August Nabiilah, Noor, Raees System Integration & Testing 12th July 5th August Integration of Components 12th July 5th August Nabiilah, Noor, Raees System Testing 15th July 5th August Nabiilah, Noor, Raees Evaluation 20th July 6th August Functional Analysis 20th July 28th July Noor Non-Functional Analysis 25th July 6th August Nabiilah, Raees Documentation 1st July 13th August First Presentation 1st July 7th July Nabiilah, Noor, Raees Second Presentation 14th July 21st July Nabiilah, Noor, Raees Final Report 1st August 13th August Nabiilah, Noor, Raees 6 P a g e

References [1] - I. Crnkovic and M. Larsoon, Building Reliable Component-Based Software Systems, Artech House, 2002. [2] - Weiquan Zhao and Jian Chen, CoOWA: A Component Oriented Web Application Model, University of South Australia [3] - Siew Poh Lee, Lai Peng Chan and Eng Wah Lee, Web Services Implementation Methodology for SOA Application, Singapore Institute of Manufacturing Technology [4] - Alan W. Brown, Kurt C. Wallnau, The Current State of CBSE, IEEE Software, Volume 15, Issue 5, pp. 37-46, September 1998. [5] - Ivica Crnkovic, Brahim Hnich, Torsten Jonsson, Zeynep Kiziltan, Specification, Implementation, and Deployment of Components, Communications of the ACM, Volume 45, Issue 10, pp. 35-40, October 2002. [6] - David Garlan and Mary Shaw, An Introduction to Software Architecture, Technical Report CMU- CS-94-166, January 1994. 7 P a g e