Electronic notice board software

ENB project was created to modernise the classic means of communication through the pin and paperboard based communication to the more efficient and dynamic communication of general information to the students of the Bolton University.

Student and faculty will get the timely information while they are walking around School office or in Labs. ENB will remind the student about the critical dates for the exams, social events, and warnings etc. It will positively affect the student behaviour towards the academic excellence and time management. ENB will decrease the rate of late assignments submission and absents among the students.

ENB will decrease the workload of university management for printing and pasting the traditional paper based notice boards. ENB system will not require any additional hardware and it will be developed in the Microsoft Visual Basic .net Express Edition and Microsoft SQL server Database hence low cost of development and implementation. ENB will bring forth a positive change in the university environment.

ENB project was created using the VB.NET and SQL database express editions, which are free of cost. Database is designed to ensure the efficiency of the software in the network environment.

A survey was conducted on the sample of students to evaluate the potential of ENB to improve the overall communication in the campus.

To ensure the successful implementation of the project the software was tested and evaluated in the campus environment. The final solution met all the basic requirements and also delivered some extra features. Further features and improvement can be added in the future.

The report has the details of the ENB project from start to end, including the requirement analysis, background research, design, implementation, testing and evaluation stages.

CHAPTER 1

INTRODUCTION

INTRODUCTION

Problem Definition

During my time in university I have missed many recreational occasions and a couple of times I have missed important dates of final assignment submissions as I was miss informed about the dates. All these errors of misinformation made me realize the necessity of an electronics notice board.

In the University of Bolton there are many problems, distinguish is between rumour and true information. At times dates are changed and change of plan is very poorly communicated to the students and faculty, which creates confusion. In case of an ENB students will have access to important announcements while walking around and have the benefit of being reminded several times a day. Currently university administration is using a Paper based notice board. A printed black and white poster is pasted on the notice board to announce university events. The method indeed consumes the administrative and clerical time of the university. Sometimes the change of dates is not timely announced, which provokes frustration among the students of the concerned disciplines.

The ENB project was realised and envisaged based on the concept of improving the communication channels within the University campus among students and the faculty members. For example to announce the start of new semester a simple piece of paper is loosely pasted at the front door notice board of school office. Sometimes the fonts are not appropriate and the black ink prints are not very attractive and appealing to grab the real attention of the concerned students. So the students miss the critical information and often submit the final project or prepare for the final exams very close to the deadline. In my opinion irrespective of the student’s aptitude the fault might be at the university’s end. The ENB will effectively convey the key academic information to the students hence there will be great reduction in the late submission of the final projects and assignments. The ENB will play a powerful role at will increase the academic productive of the students.

A notice board can be defined as ‘Abulletin board(pinboard,pin boardornotice boardin British English) is a place where people can leave publicmessages’ [1]

A Notice Board is a traditional tool for the dissemination of information in academic campuses. A traditional Notice board is made of a wooden frame with a soft central square of cork for pinning the papers of information for the students.

Widespread adaptation of information technology has changed the traditional means of information dispersion. Electronic notice board is an innovative replacement for the traditional wood and cork notice boards. Due to the dynamic nature of the electronic notice board it has practical application in the corporate environment. Following are some of the case studies about the practical application of electronic notice board in both academic and corporate scenarios.

Aim

The project ENB aims to develop and implement application software that will disseminate the academic information in the network environment among the students and faculty members. The project ENB will open the new powerful channel of communication between university management and students.

The solution will consist of a page server and client PCs as the notice boards.

In the design phase I will focus on to simplifying the end user experience of using the ENB. End users will probably include members of admin staff. For the administrator it will be hassle free to upload the different formats of multimedia. There will be some quick templates to quickly upload the announcements.

The ENB system first time configuration will be automatic therefore very easy. There must be server software on one end therefore the client side will automatically detect the server. In case of multiple page servers the ENB system will give options to connect.

The ENB system will be Database driven hence it will take the minimal amount of network bandwidth. The ENB system will be network based therefore additional network optimization technology will be deployed to make it as fast as possible

The system will be operated by Administrator and other staff to assist them in scheduling tasks for messages in the near future. Also an aim of the project is to develop the framework so that it is easy to extend in the future.

Objectives

The ENB system will be developed using the visual basic programming language and MS SQL SERVER database. I will focus on the following outcomes for the finished product.

In order to satisfy the aim the following objectives need to be achieved:

  • Deploying a software engineering methodology relevant to the ENB project
  • Design a data model for ENB
  • Design and develop an integrated system to query the data model
  • Test and Evaluate the ENB against the requirements
  • Minimum Requirements

    • A prototype of an integrated framework for Electronic Notice Board system which can be informative and flexible.
    • A prototype to input and store task commands.
    • A prototype to input and store scheduled task commands.
    • A prototype to input and transfer scheduled task to task command data.

    Enhancements

    • A login system to provide security for the server application.
    • View of Report of pending tasks for any date.
    • View of Report of completed tasks for any date.
    • Administrator prototype to add new users on database server.
    • Administrator prototype to run client in Admin mode.
    • Data bound schema to control scheduled tasks.
    • Controlling the clients status active or inactive

    Input

    FIFO: First in First out. As task is set to client, it is executed straight away.

    Time Controlled pattern: – Events are controlled by given time. Time can span to any number of minutes, hours or even days.

    Date Controlled pattern: – Events are controlled by given Date.

    Time and date controlled pattern: combination of Time Controlled pattern and Date controlled pattern.

    Client Registration Data

    Primary Input – Client Id, Client Name, Client Unique Id, Time of Registration, Date of Registration.

    Secondary Input – Client State.

    Base Data (Client Data)

    Base table is basically a blueprint for all clients.

    (Primary Input) – Record Id, Task Id, Task Command, Task Arguments

    (Additional input) – Task in Time, Task in Date, Task State

    Scheduled Data

    It is same as Base Database.

    (Primary Input) – Record Id, Task Id, Task Command, Task Arguments

    (Additional input) – Task in Time, Task in Date, Task State

    Output

    For each task that is in current execution schema is grouped by registered users and are performed by clients on given time span.

    Scheduled tasks are placed in scheduler and on given time they are transferred to corresponding client(s) for execution.

    Requirements Analysis

    The purpose for this project is not to develop a system that can act as a notice board but to integrate and utilize data driven technology to accomplish complex tasks with ease without any additional hardware to display message. Integrated scheduling technology provides flexibility and automation.

    Orange valley systems are the market leader for marketing the ENB application for the business organizations Appendix WRITE IT IN END. A thorough analysis was conducted on the orange valley product. Basic idea for the ENB features was captured from the screen shots available from their website. In depth interviews were conducted with the students, friends, and the IT administrator staff.

    On collecting the requirement analysis data from the above research the following functional and non functional requirements were devised.

    Functional Requirements

    • Add and edit tasks.
    • Add and edit scheduled tasks.
    • Add and remove tasks.
    • Schedule tasks
    • Display reports of tasks.

    Non Functional Requirements

    • System must be easy to use and navigate.
    • System should have a consistent interface.

    CHAPTER 2

    METHODOLOGIES

    Methodologies

    Communication is the lifeline of any social system. Success of any organization is directly related to the effectiveness for their communication systems. Academics are no exception for this. An effective campus communication system must be understood, credible, and practically utilized.

    Attributes about the campus communication

    In the year 1973 Mr. Anderson Jerry M presented his research papers at the Annual meeting of the Nebraska speech communication association. Title of the research papers were “Improving the internal communication: A campus Quandary”. Research papers were based on the formal interviews with the 90 interviewees. Each interview took 15 to 90 minutes. Interviewees were randomly selected persons of the campuses. Interviewees included the campus administrators, faculty, students, staff, alumni and trustees representing 30 post secondary institutions of different sizes. Past research data was also used to analyze the results of the research.

    The 1971-72 opinion research was based on an interview format designed to be open-ended to encourage respondents to call upon personal experience and ventilate feelings. The interviews unveiled the issues and anxieties regarding the campus communication.

    Two questions formed the basis for interviews, except in a few instances where a more structured questioning approach was necessitated to elicit more extended responses. Those two questions: From your perspective and experiences, how effective is communication on this campus? What, if anything, would you do to improve it? [2]

    Three general attitudes clearly emerged.

    1. The need for improved campus communication is among the most significant and pressing problems. When asked why, most answered that the functional operation of the campus was dependent upon communication effectiveness and it could be much improved, and internal effectiveness as perceived by those outside the campus would determine the level of future support.
    2. Recommendations for improvement were multiple, usually incomplete in development, and concluded with the statement that no clear solutions existed.
    3. Concern was expressed about the lack of sensitivity and attention to communication problems by those with the expertise to improve the situation and by others in positions to effect change.

    Opinion research drew the following conclusions.

    1. Research uncovered a strong need to improve the campus communication.
    2. Old faculty members were nostalgic about the good old days when they knew everybody in campus and always knew the important events
    3. Campus members realize the ultimate responsibility of communication lies on administration
    4. Administrator is frustrated about changing the campus communication. They don’t understand the approach to the change. They themselves are confused on aligning their communication between deans and faculty.
    5. Faculty members and chairman were not happy with the unreasonable deadlines, dissemination of information in clusters, reactions to proposed policies.
    6. Communication denial and communication under load were the main concern of middle level management.
    7. Campus staff was concerned about the lack of confidence upon their colleagues due to surveillance and audit of their work.
    8. Information used to distort when passing down or up in the hierarchy of the organization. Traditional approaches were not working
    9. 20% of the sample showed their lack of interest for improving the campus communication. These were mostly the students and faculty members.
    10. Interviewees were most distrustful about the administrative communication behaviour especially lack of disclosure
    Read also  Effort Estimation Model

    Solutions for improving the Campus Communication

    Communication had been improved using the technological advances.

    • Providing informational announcement is on closed circuit television between classes had proven to be effective.
    • The use of telephone answering services in offices during after hours, and as a message dissemination system for people to call and hear important recorded messages.
    • Catalogues and bulletins and other information sources need be written with the sensitivity to readability.
    • Departments or divisions, large institutions, should be encouraged to develop newsletters.
    • Bulletin boards could be kept up to date and used more extensively

    I have chance to review the communication methods deployed by the UK universities. These are some general and specialise methods.

    News

    ‘Kantor, Brian and Phil Lapsley Network News Transfer Protocol: A Proposed Standard for the Stream-Based Transmission of News. 1986.’ [3] Universities employ NNTP (network news transfer protocol) service named News as the official bulletin board. NNTP provides discussion forums for modules, programming languages and other both academic and non-academic topics. NNTP has also the application of a notice board where official announcements are posted. Students can access the news by any newsreader. Thunderbird email client and Tin are popular newsreader. Students are required to read the newsgroups on a regular basis as it is the main method of official communication between the school and students. It has been noticed in the recent years a falling trend of reading news among the university students.

    Email

    Universities provide everyone with an email account. Using email to communicate has several advantages. ‘Email Communications are often more effective than printed direct mail’. [4] Firstly email is a flexible system that by now has large amounts of web integration. Therefore people have flexibility in how to access their email account Secondly email is an accepted method of communication with people usually inspecting their email on a habitual basis and therefore messages be likely to get read. As a broader point, email is simply further widely used all-round.

    SIS

    The term SIS “School Information System” is used in some of the UK universities. SIS provides information on students, staff, modules, timetables, coursework and more. From the perspective of an undergraduate student, SIS provides access to the school timetables, modules information, and coursework results and is also used to facilitate the submission of electronic coursework.

    Module websites

    In most of the UK universities every module has its own WebPages. Modular group of pages can be accessed on adding codes in the official URL. These web pages typically include the outline of the module, lecture slides from each lecture, sample coursework, additional reading and information on the examination and assessment process for the module. [5]

    Wiki

    ‘The simplest online database that could possibly work’.[6] Universities have link to the WIKI. WIKI has rigorous information of how to and guides to using the facilities. The wiki provides plenty of helpful information and is frequently the first port of call for numerous students when students have a problem or desire information on the University facilities. University of Bolton has the WIKI. It also has new information that people are continuously adding. However until now nearly all of the edits have been through by staff or by a small selection of students. It has up till now to be fully embraced by undergraduate students with a small number of using it on a regular basis and barely any undergraduates contributing to it.

    VLE (Virtual Learning Environment)

    Mostly Uk Universities Library has a virtual learning environment which the universities developed in-house and launched in around 1996. Access to the environment is available through a web browser for both students and guests [7].The thought is to create a virtual campus online separated up into various buildings which house the different resources on offer. The quantity of information available varies from school to school and from module to module. For example the business school has a chat room, module information, lecture slides and past exam papers for a large number of their modules. The School of Computing however does not. This is most probably because all this information is available on the school’s intranet. The VLE also provides quick access to searching Google, Oxford reference dictionary, Thesaurus.com, Institute and the library catalogue.

    Facebook

    Facebook is a social networking website analogous to MySpace. It was at first targeted at university students. The site was launched in 2004. It was primarily developed for student community of Harvard and extended to offer networks for other universities and ultimately opened membership to all and sundry in 2006. The idea is based around a series of networks, one for each university. In order to join the network one needs to use a valid email address for that institution (for instance, in order to join the University of Bolton network you require to use a @Bolton.ac.uk email address. You then have access to that network’s features such as being able to view people’s profiles, joining groups and creating and replying to event invitations. Facebook is amazingly popular with students, claiming a penetration rate of 85% among US college students. Facebook also achieves very high levels of user retention. Over 50% of its user base visits the site every day [8] and on average each user views 50 pages of the site per day. The main problem with Facebook from the perspective of the school is that is it not managed by the Institution and the Institution has no control over it. The school has no effective way to utilise Facebook to communicate with students as it does not have control over the School of Computing group on Facebook and only a minority of the staff are registered on the site. A more elemental problem is that Facebook is a social networking website intended for students and was not intended to be used for academic activities or to be utilised by academic institutions.

    Conclusion

    In the universities of UK current methods of campus communication do not seem to be engaging the students. Declining use of the News and other web based IT platform shows that student’s information needs are not met. Facebook is very popular but Universities have no control on it.

    Therefore it would appear to the Universities requirement to deal with these problems either by upgrading their existing systems or adopting a new system in order to engage students more and meet the new level of expectations of the students.

    CHAPTER 3

    BACKGROUND RESEARCH

    Background Reading

    Software Engineering Methodologies

    A methodology is a structured approach to design and develop the software, hence reducing the chances of software project failure. Methodology provides a recommendation of a series of steps to be followed [9].

    There are number of software development methodologies. The selection of the methodology depends on the scoop and complexity of the project. Some of the famous methodologies are Waterfall Model which is also described ‘classical’ model [10]. The Spiral Model was introduced to replace the Waterfall Model [4]. The Spiral model is being criticised for its rigidity.

    The Rapid Application Development (RAD) methodology became popular in the early 1990’s ‘due to the perceived deficiencies of the traditional waterfall approach’ [11]. RAD is ideal for the projects where requirements may change during or after the development.RAD has advantage on other methodologies to save the time required for development. Prototyping is another methodology in which developer builds an application from the requirements.

    There are two types of prototyping methodologies evolutionary prototyping and throwaway prototyping. It is important to decide in advance the selection for the type of prototyping methodology [12].

    After a thorough analysis it seems that no single methodology is suitable for the ENB project. Chosen methodology will be explained in the following section.

    Chosen Methodology

    It has been decided after reviewing the common methodologies, it seems appropriate to select the Evolutionary prototyping methodology for the ENB project. RAD will be used to develop the required features of the ENB software. Using an only the approach of RAD will lead to the errors and the prototyping will allow correcting the errors.

    Prototyping has the four main stages.

    1. Identification of the requirements.
    2. Development of a prototype system.
    3. Review the prototype.
    4. Revisions and enhancements of the Prototype.

    Prototyping typing will allow the development of the certain module of the project. Even if the whole project is not developed, there will be basic system to be developed further in the future. For example server side application will be developed with all requirements of scheduling, the tasks and defining the user’s rights. The client application will be developed afterwards. Client application will have support for the features of the server. On the user evaluation the further features will be added on the server side. RAD will be used on each phase of the development therefore the client server applications will be developed rapidly.

    RAD will be used within each phase of development, so the ‘Time Controlled pattern / Date Controlled pattern Input’ task will be developed rapidly. Similarly the other aspects will be developed like this and will together form the overall framework, which will develop as an evolutionary prototype. Each aspect of the system will be developed using a RAD approach and then modified, this will include the database development, the input component and the output component. The evolutionary prototype will allow for any bugs to be corrected during the development instead of detecting and correcting them during the testing phase.

    Tools and Applications

    Database Systems

    The system involves the use of a lot of information, some which will be needed several times and the most appropriate form of storage of this data is in a database. This will allow data to be saved from input to the system and retrieved to be used by the system.

    As an important aspect of this project is use of Time Control System. In this section several databases are reviewed for their suitability to this project.

    Microsoft Access

    Microsoft Access is Bundles of RDBS with the Microsoft Office. MS Access is widely spread on the windows based PCs. It is dependent on the windows environment therefore it can’t be deployed on the Linux or UNIX environment.

    MS access has a GUI, Which facilitates creating the database tables and their relations, queries, forms and reports. MS Access is one of the best selling databases and it has a lot of support available from Microsoft and this is likely to remain so in the future [13]. MS access has disadvantages. It has data limit of 2GB. It is not ideal to use on the network. MS access has lax security measures to prevent the unauthorized access.

    Read also  What Is Windows operating system from Microsoft

    These disadvantages would be an issue for this project as the system is likely to be accessed by a multiple users at a time and multimedia files will be run on it, it is very likely to exceed 2GB in size. There is a possible security risk of an MS Access database due to it being stored as a single file if un-trusted sources gain access to the folder it is contained in [14].

    Most important drawback of MS Access is that lack of network support. ENB is totally depending on Network environment for communication which is by no means supported by MS Access.

    MS SQL Server

    MS SQL Server has been developed by Microsoft and it is their more expensive but more robust alternative to MS Access. MS SQL Server is more commonly used by businesses for small to medium sized databases.

    MS SQL Server is a high performance database with a bundle of functionality and it also has built in security features for LAN/WAN and web environment. There are free ‘express versions’ of MS SQL Server that can be downloaded for free, however free versions offer less in functionality [15]. MS SQL Server utilizes Transact-SQL as its primary query language.

    MS SQL Server allows procedures to be stored within the database comparable to MS Access queries. This reduces load on the network bandwidth because only the variables are sent to the data along with the related procedures to be executed not the entire queries. This method is useful for the regular database queries. The method also protects the database from the injection attacks [16].

    Sql server has the following disadvantages.

    1. It can only work on Windows environment
    2. Professional and Enterprise editions has costly license fee

    As far the ENB project the Enterprise edition is not required.

    MySQL

    MySQL is free open source relational database management system. MySQL is the most popular open source database due to its high performance [17]. MySQL has compatibility with any operating system including Linux, UNIX, Mac and Windows. It can also handle large amounts of data and provides security through user authorization and access privileges [18]. MySQL was designed to use on the internet, due to the high performance and very advance features MySQL is a favourite database for the desktop applications. A disadvantage of MySQL is that it is not ideal to set foreign key references [19].

    PostgreSQL

    PostgreSQL is also an open source RDBMS, it is a platform independent database management system analogous to MySQL, however it has more advance features such as triggers. On implementing all features PostgreSQL performance is slower as compare to MySQL. PostgreSQL is the database of many high profile applications such as Skype and Hi5.com. PostgreSQL database design is more complex than MySQL. Performance of PostgreSQL is relatively slow [19].

    Chosen Database Management System

    On reviewing the above database systems the following analysis are being concluded.

    Ms Access has been discarded from the selection list. It has no support for the network environment. Due to the network oriented nature of the ENB project the network performance is the core issue. Network performance can’t be compromised. It will jeopardize the overall functionality of the project during the network load times.

    PostgreSQL has similar feature as MySQL. Both are discarded on the grounds of limited GUI support for development and maintenance. Both are not closely integrated with MS VB.Net.

    MS SQL server 2008 Express editions has been decided to be used as database platform for the ENB project. SQL Server 2008 Express is a correct choice for project to include Multimedia database services.

    Microsoft SQL Server 2008 is a relational model database server produced by Microsoft. Its primary query languages are T-SQL and ANSI SQL. Due to the limited scoop of the ENB application I will use MS SQL Express Edition.

    Microsoft SQL Server Express is available at no cost. SQL Server Express edition relational database management system, comprises a database is limited for embedded and smaller-scale applications. Database engine is limited to receive work from a small number of users. It has several technical limitations; therefore it can’t be deployed in the enterprise environment.

    Maximum database size of 4 GB per database. The 4 GB limit applies per database (log files excluded); but in some scenarios users can access more data through the use of multiple interconnected databases.

    It has the several advantages. The advantages are listed in the following lines.

    • It’s free of cost
    • SQL server express edition has all the features required for my ENB project.
    • SQL server express edition has Management studio.
    • Limited support for multiple clients on LAN.
    • SQL management studio will simplify the management and maintenance of the ENB database.
    • Most of the IT technician and administrators are well versed with the MS SQL server.
    • GUI tools will allow administrator to easily troubleshoot the common database issues.
    • Main reason for selecting the SQL server is the TCP/IP pipes. TCP/IP pipes technology is very efficient on network as compare to the traditional TCP/IP packets.

    Programming Environments

    An appropriate programming environment is required for the system development. The programming tool must be capable to develop the graphical user interface to display the understandable output to the end user.

    In the ENB project the end user will the system administrator. It has been selected that MS SQL Server will be used to store the Database so the Programming tool must be able to interact with the MS SQL database. The chosen language should include support for object-oriented implementations.

    Booch (1998) stated ‘Each object can be viewed as an independent little machine with a distinct role or responsibility’ [20]. Objected oriented language would allow efficient data parsing. The development in the high level programming tool is simpler than coding in the low level programming environment. Indeed high level programming tool reduces the cost of development as well the time spent on coding.

    Some of the programming environments are analyzed in the detail.

    Java

    Java is an object oriented programming language, developed by Sun Microsystems [21]. Java is a well accepted high-level language. ICN students study java during the first two years of university. It can run on many platforms including Windows and Linux. It has many additional libraries, which may be advantageous for ENB project.

    Integrated Development Environments are available for Java which includes Eclipse and Netbeans, which make compiling of code easier. As compare to other languages as python java is slower and less efficient on garbage data management, hence makes it more memory consuming. Java requires a more line of code to be written and more complex code compared with other languages such as Python. Selecting the java would delay the project development above the deadline.

    Python

    Python is also an object oriented language which has been studied by the developer during the course of computer sciences.

    Python is described as a ‘portable, interpreted, object-oriented programming language’ [22]. Python has been developed in the C programming language. It is classed as an interpretive language which means no compilation is required. Python has the advantage that less code has to be written than Java to attain the same functionality and its syntax is simpler than Java therefore systems development is normally faster. In the ENB project GUIs will be required for the application however with the basic Python package there is no default GUI framework so an external framework would have to be integrated into the system such as PyGtk or WxPython.

    VB 9.0

    Visual Basic is an object oriented programming language developed by the Microsoft. Visual Basic is included with the programming suite of Microsoft Visual Studio. Visual Basic 2008 is described as ‘the most mature version yet of the most popular programming language for building Windows and web applications’ [23]. Due to the phenomenal popularity of the Visual Basic, it is likely to maintain strong support from the Microsoft and the user community.

    Like other many advantages VB has an Integrated Development Environment (IDE). Like other Microsoft Visual Studio products VB.net share the same IDE along with Visual C#, Visual C++. The rich features of Visual Studio IDE can easily create GUI, provide IntelliSense, Auto Complete, Inline syntax checking, Visual Data Explorer and also have drag and drop feature which makes it easy to make an attractive GUI, which is exactly the approach of RAD methodology selected for the ENB project. Therefore VB empowers a programmer to build the GUI without doing any coding rather a programmer focus more on the functional coding of applications. Microsoft Visual Studio also includes an advance debugger. Debugger can detect and correct the bugs. Debugger relieves the programmer from spending the expensive development time in fixing the coding errors.

    Visual Basic has wide range of libraries which are useful for developing the development projects as well extending the application capabilities. VB has very strong integration with the MS SQL database. There will be no need to buy any additional drivers to connect the database to the VB application, which is indeed an added advantage for the project to reduce the cost.

    Chosen Programming Environment

    Java and Python are both studied by the developers during their computer science study at the universities. However both are unfit for the above chosen methodology. Both programming languages require additional tools and database drivers. These additional tools are not free of cost hence will increase the cost of developing the ENB software. Java requires a lot of code to be written, which is not relevant to the selected RAD and prototyping methodology.

    Based on the selection of the RAD and Prototyping methodology Visual Basic seems to be best tool to develop the ENB project. VB automatically generates the code for GUI, which reduces the amount of code to be manually written. VB can be connected to the MS SQL by this standard connection string.

    Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword ; [ 24]

    As VB is the member of Visual Studio, in future the developer don’t have to stick to the VB but he can switch for the further development to C# OR C++.

    Visual Basic has very wide network support. VB sample codes are widely available both at the code sample sites and the Microsoft official MSDN documentation. [25].

    Reusable Coding

    Reusable code can be explained as “code that can be used again without modification” [26]. The technique is used by programmer to eliminate the unnecessary work. ENB software must be extendable in the future. Therefore the code should be easily reusable.

    Microsoft corporation .NET is the core platform to support the development, as it will reduce the expenses related to the software development for example the database and code structure. Vb.Net frameworks promote the re-use of code in accordance with the ‘Don’t Repeat Yourself (DRY) process’ [27].

    Software libraries are collections of classes. These libraries are used to develop software and are model of code reuse. VB have large libraries of code. VB 9.0 has a very widely used GUI library. GUI library will be used in this project. VB 9.0 programs can also utilize the Windows API by using the external functions.

    Read also  Information Communication And Knowledge Of An Organization Information Technology Essay

    There are also many libraries available for VB 9.0 which powers applications written in VB to interact with other external software packages.

    Separation of concerns (SoC) is a technique used to make software more easily reusable. It is the process of untying a computer program into different features (concerns) that have least overlap. ‘Separation of concerns’ is described in an academic research paper as [28] ‘a general problem solving idiom that enables us to break the complexity of a problem into loosely-coupled, easier to solve, sub problems’. A good technique for creating separation of concerns is to use different logical layers in the code [29], where each layer is concerned with a single aspect of the application.

    Usability

    As this system will be used by IT admin the usability is very important. The users should be able to control the ENB application easily. If the system is difficult to use the users may become disinclined to use it, which would result in a waste of resources.

    GOMS is an acronym which stands for Goals, Operators, Methods and Selection. This model composes of the Goals, which is what the user wants to achieve, Operators, which is the actions a user needs to take to achieve the goal, Methods are the different ways to achieve the goal and Selection is the chosen method [30]. GOMS is helpful at deciding how users carry out explicit tasks, allowing the developer to code an application which does not necessitate the user to change the way they use a computer, therefore creating a straightforward to use and adjust to application.

    CHAPTER 4

    SYSTEM DESIGN

    System Design

    The proposed solution has two main components which need to be designed and combined together to form the end solution. The first part of this section is about the design of the main application architecture and the second part is the design of the data model which will store the data.

    System Architecture

    In this section the overall architecture of the proposed system is designed. It shows the different schemas of the system and the links between them. The application is split into three schemas; the main application that users interact with, the database storing the data and the external scheduling schema responsible for generating schedules. The scheduling schema has already been developed and is included in the design to show how it works with the application in this project.

    A data transfer protocol is required to send and receive data from the database. There are a number of ways in which this can be achieved including allowing the scheduling schema and data transfer protocol to read and write access to the database.

    Rapid read and write is a main requirement for database. A client could have multiple connections with database server and server application. It is also reading and appending data on database server. It is necessary to implement a schema that prevents cursor hazards and make sure that current cursor is not outdated. Thus any changes in database server are instantly in effect. The database tables are only appended by server application. Client application is restricted to read and perform. Client’s Read only schema will ensure performance and security of system.

    An overview of the system is presented in Figure 4.1 above. Server components have not been shown due to it being possible to store the Database, Main Application and database on separate servers if required, indicating the extensibility of the framework. To access the data from the database users make requests from the main application via the user interfaces and then the database is queried and the results are displayed on a GUI on the main application.

    A user will be able to trigger the command arguments decoder and the schedule schema from the main application. A scheduler will be able to select which data they want to extract from the database. A user is only responsible for setting command tasks on database server. It is Main server framework responsibility to take appropriate actions depending on nature of task.

    Time controlled system (TCS) is responsible for making decisions against user input. TCS monitors database time to time waiting for new commands. TCS is able to differentiate between completed and pending command Tasks. Pending commands are part of scheduler which is under control of TCS. Date and time act as triggers, for each given command and time TCS generates a command text and executes it against database. This makes two things to happen to the database. 1st scheduler is appended and pending task is marked as completed task. 2nd this pending task is converted to client task. Clients can only communicate with database server. Client Framework is responsible to fetch last (normally also current row of table) available command and execute it.

    The application (excluding the scheduling component) will be developed using a three tiered layered design based on the ‘Separation of Concerns’ process, described in Section 3.4. The underlying layer of the system will be the data layer above which will be the application access layer which will then have above it the presentation layer. The database will be developed initially and then the data access sub layer will be developed. The presentation layer and the application layers will be developed in parallel to create the functionalities required. Figure 4.1.1 on the following page shows an architecture diagram of the application layered into three tiers; the data layer, the application layer and the presentation layer.

    The presentation layer will contain the graphical user interfaces and user controls and the code behind them. This will enable a developer to make changes to the interfaces without manually needing to modify the code as it will be automatically changed to correspond to the new interfaces. This separates the interfaces from the .vb class files, which control the functionality of the controls placed on the interfaces.

    The application layer will contain all the code behind the interfaces required for the functionality of the framework. This will include the code to extract data from database and append schedules in and also the code for Time Controlled System. The data access layer will be a sub layer of the application layer which is responsible for accessing data stored in the database.

    The data layer will manage the physical storage of the data and its retrieval. It will contain the tables which define the physical storage of the data in the database. This layer will also include queries to retrieve data. These will allow a user to manipulate the data as it is entered into the database and extracted from the database. If in future the structure of the database tables is changed, the structure of queries will also change thus requiring a developer to make changes in the application layer. But this can be possible only on one condition. If database design has flaws or have no flexibility. Thus it is assumed that database is built on strong analysis and will not require any change in near future, hence no changes will be required in application layer.

    Using this layered design will reduce the impact of changes to the framework in the future, as a developer would only have to make changes to the necessary layers.

    Graphical User Interface

    The visual editor in Microsoft Visual Studio 2008 will be used to develop the interfaces (presentation layer) for the application. This will offer a quick and easy solution as the .NET framework API for making GUIs called (System-Windows-Forms) features a rich library of components. A reliable layout will be used for the application to achieve good usability, as functionality. The interfaces will be self explanatory and easy to use.

    The standard colour scheme of (WinForms) will be used for all the interfaces, as it will ensure consistency is maintained throughout the application.

    Database Design

    MS SQL (database layer) is easily integrated with VB (data access layer). MS SQL allows for the creation of entities in a graphical user interface and also for relationships between the entities to be defined using a graphical relationship tool. An entity relationship diagram consists of three key elements: entities, attributes and relationships.

    Entity Diagram

    An entity is defined as something ‘in the real world with an independent existence’ [31], which can be physical or conceptual. An attribute however has ‘properties that describe the entities characteristics’ [31],

    A one-to-one relationship is where a single entity is related only to one other entity. A one-to-many relationship is where a single entity is related to many instances of another entity. As it has been discussed before the data for this application, such as Users data, will be stored in an MS SQL Server database. SQL server (database layer) is easily integrated with VB and Visual Studio (data access layer). MS Sql Server allows for the creation of entities in a graphical user interface.

    Normalisation

    “A process of changing a database design to produce table schemes in normal form is called normalisation”.[32] It will ensure that data is not duplicated in the database use of normalisation to design the database. This will keep the amount of space the database consumes to a minimum.

    The process of normalisation allows databases to be more easily maintained [27], which is very important in this project. The database for this project will be normalised to third normal form.

    • Eliminate duplicative columns from the same table.
    • Create separate tables for each group of related data and identify each row with a unique column or set of columns (the primary key).

    Second normal form (2NF) further addresses the concept of removing duplicative data:

    • Meet all the requirements of the first normal form.
    • Remove subsets of data that apply to multiple rows of a table and place them in separate tables.
    • Create relationships between these new tables and their predecessors through the use of foreign keys.

    Third normal form (3NF) goes one large step further:

    • Meet all the requirements of the second normal form.
    • Remove columns that are not dependent upon the primary key.

    The normalisation process for this project can be seen below.

    This step ensures all attributes depend on the primary key and are linked through the use of foreign keys. Following the changes made in step 1, this data structure does not have any partial dependencies and is therefore in Second Normal Form (2NF).

    De-normalisation

    De-normalisation is a technique used to improve database performance. ENB database requirement was unique in a sense that no relations are used or required. Nature of database is independent. Still I have tried to design database in such a way that database performance is not decreased in long run time.

    Summary

    In this chapter the overall framework has been designed and this design will be implemented in the next stage of the project. The design stage included designing the application architecture and the data model. These plans will be followed in the implementation, however if changes are required these can be made as the methodology is flexible and allows stages to be re visited.

    CHAPTER 5

    IMPLEMENTATION

    System Implementation

    This chapter will contain system implementation including the database and the main application. The database was created first followed by the main application which was integrated with the database. Some screenshots and snippets of code have been used to document the development.

    Order Now

    Order Now

    Type of Paper
    Subject
    Deadline
    Number of Pages
    (275 words)