SCHOOL OF COMPUTER SCIENCE & SOFTWARE ENGINEERING Bachelor of Information Technology (Computing) FINAL YEAR PROJECT (CSCI321) TECHNICAL REPORT Group: News-Sheet (IT12/4C) Student No. 4322496 4322447 4111199 4322460 Name Chua Wee Siang Gao Rong Jiang Wen Tao Lai XueYang Email wschua005@mymail.sim.edu.sg rgao001@mymail.sim.edu.sg wjiang003@mymail.sim.edu.sg xlai002@mymail.sim.edu.sg Supervisor: Dr Loo Poh Kok Assessor: Mr Premarajan Ponnambath Page 1 of 65 Document Characteristics General FeedMe! Technical Report Edition: 004 Edition Date: 25-Feb-2012 Status: Technical Report Keywords: Technical Report Abstract: This document is the technical report for FeedMe! application porject. Document Change Record Reasons for change Pages Affected Approved by Revision Date 001 01/12/ First edition; All 2012 Remarks: Preliminary Technical Report Project Manager 002 22/12/ Reviewed by Gao Rong 2012 All Project Manager 003 22/01/ Update of Test Plans – Wen Tao All 2013 Update of Meeting Minutes – Gao Rong Review of Technical Report – Xue Yang Project Manager 004 25/02/ Final Review of Technical Report – 2013 XueYang Project Manager Page 2 of 65 All Contents Document Characteristics .................................................................................................................... 2 1 2 INFORMATION ............................................................................................................................. 5 1.1 Executive Summary ................................................................................................................ 5 1.2 Document Identification .......................................................................................................... 6 APPLICATION DESCRIPTION .................................................................................................... 6 2.1 IntroductionFeedMe! ............................................................................................................... 6 2.2 Objective of System ................................................................................................................ 6 2.3 Definition of Terms and Glossary ........................................................................................... 7 2.4 Business Model ....................................................................................................................... 7 Approach ......................................................................................................................................... 8 2.5 Application Requirement ........................................................................................................ 8 2.5.1 Functional Requirements ................................................................................................. 8 2.5.2 Non-Functional Requirements....................................................................................... 10 2.5.3 Other Requirements ....................................................................................................... 12 2.6 System Requirement Analysis............................................................................................... 12 2.6.1 Proposed Hardware Requirement .................................................................................. 12 2.6.2 Proposed Software Requirement ................................................................................... 12 3 ROLES & RESPONSIBILITIES .................................................................................................. 13 4 LITERATURE REVIEW .............................................................................................................. 14 4.1 Research on available software ............................................................................................. 14 4.1.1 BING News ................................................................................................................... 14 4.1.2 News Bento ................................................................................................................... 16 4.1.3 News360 ........................................................................................................................ 18 4.1.4 ClassicRSS .................................................................................................................... 20 4.2 Product Comparison .............................................................................................................. 21 5 PROJECT RISK ASSESSMENT ................................................................................................. 22 6 SCOPE & PROBLEM ANALYSIS .............................................................................................. 24 7 RESEARCH ANALYSIS ............................................................................................................. 24 7.1 8 Programming Language & Designing Tools ......................................................................... 24 7.1.1 C# .................................................................................................................................. 25 7.1.2 Visual Basic.NET .......................................................................................................... 25 7.1.3 C++ ................................................................................................................................ 25 7.1.4 HTML5.......................................................................................................................... 25 7.1.5 CSS ................................................................................................................................ 26 7.1.6 Microsoft Visual Studio ................................................................................................ 26 7.2 Comparison of Programming Languages .............................................................................. 27 7.3 Flow Diagram ........................................................................................................................ 28 7.4 Use Case Diagram ................................................................................................................. 29 GRAPHICAL USER INTERFACE DESIGN .............................................................................. 29 Page 3 of 65 Introduction ........................................................................................................................... 29 8.2 Page Layout ........................................................................................................................... 29 8.3 User Experience Design ........................................................................................................ 29 8.4 Icon Buttons .......................................................................................................................... 29 8.5 Category ................................................................................................................................ 30 9 8.1 SOFTWARE DESIGN .................................................................................................................. 30 9.1 Development Methodology ................................................................................................... 30 9.1.1 9.2 SCRUM ......................................................................................................................... 30 Issues, Limitations & Constraints.......................................................................................... 34 9.2.1 Internet Connectivity ..................................................................................................... 34 9.2.2 Application Size Limitation .......................................................................................... 35 9.2.3 Difficult to share with multiple social sites ................................................................... 35 9.3 System Performance .............................................................................................................. 35 9.3.1 Test Plan ........................................................................................................................ 35 9.3.2 Test Life Cycles & Phases............................................................................................. 36 9.3.3 Test Schedule ................................................................................................................ 37 9.3.4 Test Types ..................................................................................................................... 37 9.3.5 Approach ....................................................................................................................... 38 9.3.6 Testing Level ................................................................................................................. 39 9.3.7 Testing Tools ................................................................................................................. 39 9.3.8 Item Pass/Fail Criteria ................................................................................................... 39 9.3.9 Installation Testing ........................................................................................................ 39 9.3.10 Testing Environment ..................................................................................................... 40 9.3.11 User Acceptance Test .................................................................................................... 41 10 PROJECT TIMELINE .............................................................................................................. 43 11 MEETING MINUTES .............................................................................................................. 44 11.1 Project Meeting #1 ................................................................................................................ 44 11.2 Project Meeting #2 ................................................................................................................ 46 11.3 Project Meeting #3 ................................................................................................................ 48 11.4 Project Meeting #4 ................................................................................................................ 50 11.5 Project Meeting #5 ................................................................................................................ 52 11.6 Project Meeting #6 ................................................................................................................ 54 11.7 Project Meeting #7 ................................................................................................................ 56 11.8 Project Meeting #8 ................................................................................................................ 58 11.9 Project Meeting #9 ................................................................................................................ 60 Project Meeting #10 .......................................................................................................... 61 11.11 Project Meeting #11 .......................................................................................................... 62 11.12 Project Meeting #12 .......................................................................................................... 63 12 11.10 REFERENCES .......................................................................................................................... 65 Page 4 of 65 1 INFORMATION 1.1 Executive Summary FeedMe! is an application found in Microsoft Window 8 app store that provides the reader a one stop application which allows them to read the latest headline news and social feed of their choice. Rather than traversing through web pages in the typical browser, the application will display photos in grid mode, with the relevant news tagged onto the photo, allowing the reader to select the photo and continue reading more if they choose to do so. Once they click or touch on the photo, the application will load the news in full to allow the user to read them. Of course, the user will also be able to login to their social feeds (Facebook, twitter, tumblr etc.) This allows the application to grab the news and updates from them and display it on our application. They can also choose to like a page, make a comment on the posts or retag, like how they usually do it on their social feeds. The objectives in this project are: Developing a light weight desktop application Designing visual appealing interactive user interface Auto update of news from chosen feeds according to interval Caching of backdated news Providing readers with preference settings Integrating of API from social sites. User-friendliness With such functions in mind, developing this desktop application will be welcomed by the industries and also by users who are favorable in such multi-function and interactive application. It will not stop with the above objectives that FeedMe! Team aims to develop. A more complexity functionality application may be developed if the market welcomes such application. In recent years, application of such newsreaders has been produced in the market for mobile platform; however, with the newly introduced Microsoft Windows 8, application of such does not exist. For most web sites have provided RSS feeds, but none has the ability to combine all functionality onto one application. Therefore, the usefulness in having this application is essential to many news-reading users, as they would like to be able to do everything without the need of tabbing into other application. Modern lifestyle has been very hectic for many of us and having the ability to glance through all the available feeds is the very essence of this application. Latest news will be displayed on the front page of the application with the photo or headline that tags along with the feed in grid mode, allowing user to look through all the latest news. Finally, this project is making the possibility to use the available RSS that most web sites are providing. Embedding multiple websites’ feed into one application will also not be an easy task. Therefore, research on tutorials and sample codes available on the market will assist us in developing a more refined application. Page 5 of 65 1.2 Document Identification This document describes the design of FeedMe! application. It is prepared by Group for assessment in final year project. 2 APPLICATION DESCRIPTION 2.1 IntroductionFeedMe! In the current world of Information Technology where the web is growing rapidly, there is a lot of news published online throughout the whole world. It can be a daunting task to browse through the entire list of popular news website or social feed. It is also not efficient to browse through an entire news website just to read the popular news or headline. Hence with this desktop application, we are able to combine all the popular news and headline of different news web and social feeds into the main page, allowing readers to glance through all of them just by launching the application, saving a great deal of time for them to be updated with the latest news. Readers are spoilt for choices when it comes to such application, as developers for smartphones and tablets has been releasing different kind of applications which have the ability to allow them to glance or read through their popular news or social feed all in one single application. However, a desktop application that is user friendly and fast which combines all these function may not be readily available on the market. The team received this Final Year Project grouping and assignment on the 12th October 2012. Commencing meetings and research to various commercial products, brainstorming to see we can come out with a product in which we have vision for. We have also picked a new platform to develop on, and there might be a few hardware requirements in which not all of the team members can comply with, thus we decided to start working on the project as soon as we receive on the outline of the deliverables in order to resolve all these issues the soonest. As the team consist of working adults, with a day time job (some even works on a weekend), our development time has shorten and only limited to our own free time. This can be quite a bit of a challenge as we are also working on integrating popular social feeds (Facebook, twitter etc.) into our application. 2.2 Objective of System The objective is to implement a GUI based lightweight desktop news reader application for Microsoft Windows 8 computers that targets users of all ages, either for home-based usage to office usage. Through this application, user can easily read news, photos and videos which he/she may interest on through the intelligent graphical user interface; moreover, this information can be arranged and shared by simply clicking on them. Through the usage of existing technology such as RSS and XML, the application can get changing information from the internet at the fastest, lightest, economic data transfer possible. The design goals of RSS reader using XML formatted files are to emphasize simplicity, generality, and usability over the internet. It is a textual format with strong support via Unicode for languages of the world. Through the design of XML focuses on documents, RSS news reader will be able to present structured data and documents onto devices in a well-formatted design. Page 6 of 65 2.3 Definition of Terms and Glossary In the RSS system and symbolizes, this technology is widely used in the World Wide Web, mobile devices and also personal computers. Almost in every device that connects to the internet would have this function and likely to use it for simple reading purpose. RSS uses a set of XML file to pull the relevant information over the internet and re-beautify it to present on any device in a short and minimized information format. The variable length and sizes of the text that are provided by the website owner has the ability to selectively choose the amount of text and graphics to display. Purpose of RSS read is to minimize the amount of data being used in downloading news to the device for reading purpose. Symology – refers to the symbol used in the technology. RSS - Rich Site Summary. It is a format for delivering regularly changing web content. XML – Extensible Markup Language defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. 2.4 Business Model There are several business models that will help our project team profit with FeedMe! app, in this section we will look at each business model and eventually finalize which one we will adopt. Collect full price before download The simplest business model available for application is to require our customers pay the full price for our app before they can download. However, unless potential customers already trust our app, or we charge a low price, it may not be the most effective option. Time-limited trial With a time-limited trial, our customers can download and try our app before they pay for it. Our app contains all the features of the paid version of the app, but unless the customer buys it, the app stops working after a period of time. Feature-limited trial A feature-limited trial provides our customers with a subset of our app’s functionality. If they buy the app, they can access the app’s complete functionality. In-app purchases We can sell features to our customers from within our app. These features can have a limited lifetime or they can last indefinitely. Advertising Apps can show ads to our customers. We can show ads from apps that sell in-app purchases and from apps that have a trial period. We can use any ad platform we like, as long as the ads comply with the Certification requirements for Windows app. Third-party transactions Apps can also make money in ways other than those that the Windows Store provides. We can use a third-party transaction provider or benefit from ties to other lines of business as long as the transactions comply with the App Developer Agreement. For example, if we have a transaction platform that integrates into a CRM system, we can use that in our app to keep track of our subscribers. Page 7 of 65 Approach Since our team is new towards application development and have no existing portfolio where our customers can set a benchmark on, collections of full price before they download the application will not be feasible. We also want does not want to restrict our customer with a set amount of time they are allowed to use the application, with irritating pop-up asking them to purchase the app. In order to improve our presence on the market and also at the same time allowing our customers to enjoy the full benefit of the product, we will adopt the advertising business model. Creating a coherent experience by integrating advertising into the original design and content layout throughout our app and also minding how much space we need to allocate at the top level versus the leaf levels. We will also display ads that are of relevant to the news that the readers are reading or even displaying location-targeted ad by keywords in the article. 2.5 Application Requirement 2.5.1 Functional Requirements 2.5.1.1 Display of RSS Feeds Description Application should be able to pull RSS feeds and display it out on page. Input No input is needed from the readers; the application will download the RSS files from various news sources once the application is launched. Processing Download RSS feeds which are essentially XML formatted plain text from various news source, read the content and display as output. Output The application will display out the title and the description of the RSS feeds. 2.5.1.2 Categorization of RSS Channels Description Application should be able to categorize the RSS channels and display them out to the readers Input No input is needed from the readers; the application will read the RSS files to search for the category of the news. Processing Application will read the category from the RSS files, storing RSS files with the same category into the same group. Output Readers will be able to search for news grouped in the same category and the application will display them out together in a single pane. 2.5.1.3 Searching of RSS Feeds Description Readers should be able to search for news in the application Input Readers will input text in the search function textbox Processing Page 8 of 65 The application will search through the news to find article that has words which matches what the reader type in the search function textbox Output Application will return the search result with relevant news and display it to the readers 2.5.1.4 Addition of RSS Channels Description Readers should be able to select what they want to read from a given list of RSS channels Input Readers will click on the RSS channels that they wish to subscribe for reading in the application Processing The application will poll from the RSS channels in which the reader has selected and display the news to reader. Output Readers will be able to read the RSS channels that they have subscribed to in the application. 2.5.1.5 Removal of RSS Channels Description Readers should be able to remove RSS channels in which they have initially subscribed to and stop displaying them out in the application. Input De-select the RSS channels that they don’t wish to continue subscribe to. Processing The application will save the preference and only poll from the RSS channels that the reader subscribed to. Output The application will now display out news polled from the updated list in the reader’s preference. 2.5.1.6 Sharing of RSS Feeds Description Readers should be able to share the RSS feeds, the application will copy the link of the RSS feeds, allowing the reader to share to the rest for viewing. Input Readers after reading an RSS feeds will click on the sharing button. Processing The application will copy out the link of the RSS feeds Output Readers will be able to paste the link of the RSS feeds for sharing. 2.5.1.7 Addition of Social Sites Description Readers will be able to integrate their social sites (facebook, twitter, instagram etc.) news update to the application. Input Readers will have to key in the credentials and allow the application to pull the information from their social sites. Processing The application will pull updates from the social sites and display it out as news. Output Readers will be able to read the news feeds from their social sites in the application. Page 9 of 65 2.5.1.8 Removal of Social Sites Description Readers should be able to remove their social sites from the list and the application will stop displaying feeds from there. Input Readers will deselect their social sites from the list of RSS channels. Processing The application will stop polling from the social sites and save the reader’s preference. Output The application will only display out the news in which the readers have subscribed from. 2.5.1.9 Displaying of feeds from Social Sites Description The application will display out news from social sites in which the readers subscribed to. Input No input is required from the readers. Processing The application will automatically poll the news feed from the social site after launching. Output The application will display out the latest news from the social site once it poll from the feeds from them. 2.5.2 Non-Functional Requirements 2.5.2.1 Number of mouse clicks to desired news Description Readers should be able to read desired news within as 3-5 mouse clicks Input Readers will navigate through the application with 3-5 mouse clicks to read their desired news Processing The application display out the news the reader selected Output Application display out desired news to the reader 2.5.2.2 Number of mouse clicks to addition of RSS channels Description Readers should be able to add desired RSS channels within 3-5 mouse clicks Input Readers will navigate through the application with 3-5 mouse clicks to add their desired RSS channels Processing The application adds the desired RSS channel into reader’s preference Output Application display out news from the desired RSS channels after reader save their RSS channel preference. 2.5.2.3 Update feeds on interval Description Readers should be able to read updated news from the application Input Page 10 of 65 The default auto update interval is 30minutes, although users are allowed to change that to their personal preference. Processing The application will automatically poll from the RSS channels as per the interval Output The applications will display out the latest news from the RSS channels when available. 2.5.2.4 Reduce memory footprint Description The application should not have very big memory footprint that will cripple the performance of the reader’s system. Input The application should not be caching all the news in memory and have a maximum memory usage of 64MB Processing All latest news will be stored in the memory whereas the older news will be stored in the hard disk. Output The application will be able to use a lesser amount of memory since most of the older news will be stored in the hard disk. 2.5.2.5 Reduce CPU footprint Description The application should not have a very huge CPU that will cripple the performance of the reader’s system. Input The application should only utilize less than 10% of total CPU’s usage. Processing After the initial loading of the application, every other processing should only be done during the update interval. Output The application will be able to use a lesser amount of CPU since most of the news will only be processed during the start of the application and update interval. 2.5.2.6 Caching of RSS news Description The application should cache the older news inside the hard disk instead of RAM Input News will be cached into the system disk after polling from the RSS channels Processing When no internet connection has been detected, the application will load from the RSS files stored in the system. Output Application will display out the older news which has already been poll from the RSS channels, instead of displaying a blank page. 2.5.2.7 Minimize local storage footprint Description Application should do housekeeping of the locally cached files after certain number of days Input Application will read the number of days the locally cached files will keep (reader’s preference) and delete them when its pass the expiration day. Processing The application will delete expired locally cached files. Page 11 of 65 2.5.3 Output Storage space usage is reduced Other Requirements 2.5.3.1 Search Result Relevancy Description Search result is as relevant as possible Input Search result should be as relevant to the keyword as possible Processing The application will choose results which has the most relevance to the keyword for display Output The application will display out the results with most relevance 2.6 System Requirement Analysis 2.6.1 Proposed Hardware Requirement 2.6.2 Processor: 1 gigahertz (GHz) or faster with support for PAE, NX, and SSE2 RAM: 1 gigabyte (GB) (32-bit) or 2 GB (64-bit) Hard disk space: 16 GB (32-bit) or 20 GB (64-bit) Graphics card: Microsoft DirectX 9 graphics device with WDDM driver Additional requirements to use certain features To use touch, you need a tablet or a monitor that supports multi-touch (more info) To access the Windows Store and to download and run apps, you need an active Internet connection and a screen resolution of at least 1024 x 768 To snap apps, you need a screen resolution of at least 1366 x 768 Internet access (ISP fees might apply) Microsoft account required for some features Proposed Software Requirement .NET Framework 4.0 Distribution Package Microsoft Windows 8 32-bit or 64-bit Operating System Page 12 of 65 3 ROLES & RESPONSIBILITIES Lai XueYang Chua Wee Siang Gao Rong Project Manager Technical Lead User Interface Lead Test Lead Tester Developer Documentation Minutes Page 13 of 65 Jiang Wentao 4 LITERATURE REVIEW 4.1 Research on available software Our team has conducted some online research on the products available on the market. However, we found no similar Microsoft Windows 8 application similar to what we visualized at the point of writing. Below are some of the existing applications available on the market: 4.1.1 BING News Bing News is the default application for Windows 8 developed by Microsoft that allows user to browse through news; user can select which source of news to be displayed on the front page. It also offers wide selections of news website to display from. Page 14 of 65 Page 15 of 65 4.1.2 News Bento Developed by Hubrious for Microsoft Windows 8, it is a fluid and beautiful news reader which supports Google Reader, RSS search and custom source. Page 16 of 65 Page 17 of 65 4.1.3 News360 News360 will help you uncover high-quality, relevant articles about the day’s top headlines and your specific interests and hobbies. The result is personalized news reading experience that is as useful and intelligent as it is beautiful. Page 18 of 65 Page 19 of 65 4.1.4 ClassicRSS ClassicRSS is a simple feed reader which provides a familiar interface for reading updates from your news and entertainment sources. Subscribe to your favorite RSS feeds and read the updates the same way you read your mail. You can also search through your RSS feeds and share links with your contacts Page 20 of 65 4.2 Product Comparison Software Load Picture Yes Yes Bing News News Bento Yes News 360 ClassicRSS Yes RSS Search Yes Yes Share Links/News No Yes No Yes Social Sites No No User Free Friendliness 6 Yes 7 Yes Yes Yes No Yes No No Yes No 7 6 Yes No According to the preliminary research, there are a few news feeding applications available online for leisure or commercial purpose. However, we found out that these applications are neither expensive nor user- friendly and most do not display picture or photos. Thereby, we propose a solution to create an application that is free and user-friendly. Our main target audience is home user for leisure purpose. Page 21 of 65 5 PROJECT RISK ASSESSMENT The following list describing risk assessment for each identified risk event during our project development. Each risk event can have multiple Mitigation Strategies and Contingency Plans. Probability of Occurrence and Estimated Project Impact can be used to “prioritize” risk events for continuous monitoring throughout the project. Probability Guidelines Impact Guidelines for Scope, Cost, Mitigation Schedule or Quality High (Catastrophic) Deflection 70-100% Medium (Critical) Control 40-70% Low (Marginal) Retention 0-40% Avoidance Very Likely Probably Unlikely Risk Event Description/Issue Schedule Risks Operation al Risks Technical Wrong time estimation Resources are not tracked properly. All resources like staff, systems, skills of individuals etc. Failure to identify complex functionalities and time required to develop those functionalities Unexpected project scope expansions Failure to address priority conflicts Failure to resolve the responsibilities Insufficient resources No resource planning No communication in team Requirements mismatch Probability of Occurrence Very Likely Estimated Project Impact High Strategy Transfer Risk to another party Mnimize the effect Accept the consequences Reject the risk; do nothing Mitigation & Strategy Contingency Plan Control Probably Probably High High Control Control Page 22 of 65 Rational planning process Understand and track estimation range over time Understand and track size/schedule estimation accuracy over time Rework schedule using evolutionary or spiral techniques so that frequent deliveries are scheduled Holding meetings, and communicate using kinds of instant messaging software Roles assigned based on specialist knowledge Assign jobs to members by project manager Understand/measure current status and address issues Risks Programm ing Risks Continuous changing requirements No advanced technology available or the existing technology is in initial stages. Product is complex to implement Difficult project modules integration. Legacy software High test defect counts Poor Software Quality Probably Medium Deflection Page 23 of 65 Don’t start development until there is a reasonably stable set of requirements Plan for change Understand (measure) the realized productivity Shield staff, review the development process, adjust plans if necessary, recognize underachievement as an early warning sign of a dysfunctional culture Better risk management of the project and of technology-specific issues • Create test plan for components • Cultivate a focus on software quality 6 SCOPE & PROBLEM ANALYSIS If user does not receive RSS information for long periods, the information is outdated and unable to browse because there is no dedicated server for each user to save information. If user does not timely receive, the information may outdate. Hence, user needs to update RSS frequently to reduce information outdated. It’s hard to design an interactive and intelligent application which is hundred percent satisfied by users. Different user has different preference and habit. It is difficult to cater for all tastes. Simple GUI, user friendly and clear catalog are necessary for the application. Favorite file -- News-sheet application has a folder which can stores user’s favorite news. But it needs some storage to save the articles. Whether the folder includes some sub-folders and how large should be given for this folder still need discussion. Usually as long as an XML logo on the website, it means that the site offers RSS service. But not all the websites provide RSS service. Hence, News-sheet application may not be able to get all the information through internet. Export articles. This function allows user to output text. But some RSS readers are not publishing the full text of the article. Furthermore, some RSS readers directly output everything, even the label codes and the advertisement. 7 RESEARCH ANALYSIS 7.1 Programming Language & Designing Tools In order for us to build a Metro-Style Application for Windows 8, we can utilize the programming languages (inside the red outline). HTML5/JavaScript is one way of building our application; however, Page 24 of 65 the combination of XAML/C# or XAML/VB is going to be the way that our team decides to build our apps upon as we are more comfortable working with them. 7.1.1 C# Is a multi-paradigm programming language encompassing strong typing, imperative, declarative, functional, generic, object-oriented (class-based), and component-oriented programming disciplines. C# is one of the programming languages designed for the Common Language Infrastructure. C# is intended to be a simple, modern, general-purpose, object-oriented programming language. 7.1.2 Visual Basic.NET Is the most productive tool for rapidly creating a wide range of Windows, Web, Mobile, and Office applications built on the .NET Framework. Visual Basic language is designed to be human readable and accessible to everyone from novice programmers to advanced system architects. All of this is built on top of the .NET Framework, which guarantees that programs written in Visual Basic run with unsurpassed scalability and reliability. 7.1.3 C++ Is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features, it adds object oriented features, such as classes, and other enhancements to the C programming language. 7.1.4 HTML5 Is a markup language for structuring and presenting content for the World Wide Web and a core technology of the internet. It is the fifth revision of the HTML and is still under development. Its core aims have been to improve the language with support for the latest multimedia while keeping it easily readable by humans and consistently understood by computers and devices. HTML5 is intended to subsume not only HTML 4, but XHTML 1 and DOM Level 2 HTML as well. Page 25 of 65 7.1.5 CSS Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation semantics (the look and formatting) of a document written in a markup language. It’s most common application is to style web pages written in HTML and XHTML, but the language can also be applied to any kind of XML document, including plain XML, SVG and XUL. CSS is designed primarily to enable the separation of document content (written in HTML or a similar markup language) from document presentation, including elements such as the layout, colors, and fonts. This separation can improve content accessibility, provide more flexibility and control in the specification of presentation characteristics, enable multiple pages to share formatting, and reduce complexity and repetition in the structural content (such as by allowing for table-less web design). 7.1.6 Microsoft Visual Studio Is an integrated development environment (IDE) from Microsoft. It is used to develop console and graphical user interface applications along with Windows Forms applications, web sites, web applications, and web services. This is our primary development environment. Page 26 of 65 7.2 Comparison of Programming Languages Object-Orientation Java Hybrid C# Hybrid Static / Dynamic Typing Static Static Generic Classes Inheritance No No Yes Single class, Single class, Multiple multiple multiple interfaces interfaces No No No Yes Yes Yes No Yes Yes No No No No None No Mark and Sweep or Generational No Yes No No Mark and Sweep None or Generational No Reference Counting No Yes No Yes Yes No Reflection Access Control Yes public, protected, "package", private No public, protected, private, "friends" No public, private Design by Contract Multithreading Regular Expressions No Libraries No No No No Pointer Arithmetic Language Integration No Yes Standard Library No C, some C++ Yes public, protected, private, internal, protected internal No Yes Standard Library Built-In Security Yes Feature Renaming Method Overloading Operator Overloading Higher Order Functions Lexical Closures Garbage Collection Uniform Access Class Variables / Methods C++ Visual Basic Hybrid / Multi- Partial Paradigm Support Static Static Yes Yes All .NET C, Assembler Languages Yes No Page 27 of 65 No No No No No C DCOM) No (via 7.3 Flow Diagram Page 28 of 65 7.4 Use Case Diagram 8 GRAPHICAL USER INTERFACE DESIGN 8.1 Introduction Graphic design can refer to a number of artistic and professional disciplines that focus on visual communication and presentation. Various methods are used to create and combine words, symbols, and images to create a visual representation of ideas and messages. A graphic designer may use typography, visual arts and page layout techniques to produce the final result. Graphic design often refers to both the process (designing) by which the communication is created and the products (designs) which are generated. 8.2 Page Layout The page layout aspect of graphic design deals with the arrangement of elements (content) on a page, such as image placement, and text layout and style. All the design should be user friendly. And consideration the special users such as color bind. 8.3 User Experience Design Considers how a user interacts with and responds to an interface and adjusts it accordingly. A simple, 3-click design is what a normal user looking for. Such, clicking method that reduces the amount of click user has to perform during each operation, will engage the user’s behavior in a psychological way. As such, the design of this application is kept simple, instead of user adding each search by clicking the add button each time he/she wants, we designed it to select multiple and add it once and for all. 8.4 Icon Buttons Button is very important for application, almost all the websites are using buttons for navigation, decoration and style. However, clicking multiple buttons can be irritating in a desktop application. Henceforth, minimizing button usage is important. Application should limit the need to click the same button more than thrice for the same action to be performed. There are many button styles that are used by web designers. However, application designers whom perform GUI designing have to consider the runtime used and the graphical constraint that user might encounter. Page 29 of 65 8.5 Category For text-rich application that runs on desktop, end-user prefers an option of categorizing the text accordingly in preference of their liking. For example, newspapers that you read daily without the category of world, local or sports, and all these categories in a mess, are a headache for the reader. Henceforth, a good desktop application that provides information shall also provide the ability for organizing category accordingly along with the preference. 9 SOFTWARE DESIGN 9.1 Development Methodology 9.1.1 SCRUM 9.1.1.1 Introduction Scrum is an agile approach to software development. Rather than a full process or methodology, it is a framework. So instead of providing complete, detailed descriptions of how everything is to be done on the project, much is left up to the software development team. This is done because the team will know best how to solve the problem they are presented. 9.1.1.2 Advantage & Disadvantage Advantages Disadvantages Communication can improve across all the teams. Decision-making is entirely in the hands of the teams It provides for an open forum, where everyone There has to be constant, hands-on management knows who is responsible for which item. Scrum can increase team efficiency by as much as 20 per cent. Problems are more transparent. Page 30 of 65 9.1.1.3 Roles in SCRUM Scrum has three fundamental roles: Product Owner, ScrumMaster, and team member. Product Owner In Scrum, the Product Owner is responsible for communicating the vision of the product to the development team. She/he must also represent the customer’s interests through requirements and prioritization because the Product Owner has the most authority of the three roles; it’s also the role with the most responsibility. In other words, the Product Owner is the single individual who must face the music when a project goes awry. ScrumMaster The ScrumMaster acts as a liaison between the Product Owner and the team. She/he does not manage the team. Instead, he or she works to remove any impediments that are obstructing the team from achieving its sprint goals. In short, this role helps the team remain creative and productive, while making sure its successes are visible to the Product Owner. The ScrumMaster also works to advise the Product Owner about how to maximize ROI for the team. Team Member In the Scrum methodology, the team is responsible for completing work. Ideally, teams consist of seven cross-functional members, plus or minus two individuals. For software projects, a typical team includes a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. Each sprint, the team is responsible for determining how it will accomplish the work to be completed. This grants teams a great deal of autonomy, but, similar to the Product Owner’s situation, that freedom is accompanied by a responsibility to meet the goals of the sprint. Page 31 of 65 9.1.1.4 Process Flow Scrum projects make progress in a series of sprints, which are time boxed iterations no more than a month long. At the start of a sprint, team members commit to delivering some number of features that were listed on the project's product backlog. At the end of the sprint, these features are done--they are coded, tested, and integrated into the evolving product or system. At the end of the sprint a sprint review is conducted during which the team demonstrates the new functionality to the product owner and other interested stakeholders who provide feedback that could influence the next sprint. 9.1.1.5 Product Backlog The Product Backlog is the master list of all functionality desired in the product. When using Scrum, it is not necessary to start a project with a lengthy, upfront effort to document all requirements. A Scrum team and its product owner begin by writing down everything they can think of easily. This is almost always more than enough for a first sprint. The Product Backlog is then allowed to grow and change as more is learned about the product and its customers. Page 32 of 65 9.1.1.6 Sprints The sprint backlog is the list of tasks that the Scrum team is committing that they will complete in the current sprint. Items on the sprint backlog are drawn from the Product Backlog, by the team based on the priorities set by the Product Owner and the team's perception of the time it will take to complete the various features. It is critical that the team selects the items and size of the sprint backlog. Because they are the ones committing to completing the tasks they must be the ones to choose what they are committing to. 9.1.1.7 Burndown Chart During the Sprint the ScrumMaster maintains the sprint backlog by updating it to reflect which tasks are completed and how long the team thinks it will take to complete those that are not yet done. The estimated work remaining in the sprint is calculated daily and graphed, resulting in a sprint burndown chart. Page 33 of 65 9.1.1.8 Sprint Review At the end of each sprint a sprint review meeting is held. During this meeting the Scrum team shows what they accomplished during the sprint. Typically this takes the form of a demo of the new features. The sprint review meeting is intentionally kept very informal, typically with rules forbidding the use of PowerPoint slides and allowing no more than two hours of preparation time for the meeting. A sprint review meeting should not become a distraction or significant detour for the team; rather, it should be a natural result of the sprint. During the sprint review the project is assessed against the sprint goal determined during the Sprint planning meeting. Ideally the team has completed each product backlog item brought into the sprint, but it is more important that they achieve the overall goal of the sprint. We choose scrum methodology for this project, as we felt that this methodology will fill into our requirements. Comparing scrum methodology with the other methodologies like waterfall model which may have problem if the design phase has gone wrong and things can get very complicated during the implementation phase. IBM Rational Unified Process model is a very powerful and complete methodology; however our team is not an expert in this field which may make the development process is too complex and disorganized. While Scrum is not perfect, it is definitely a way to maximize efficiency, improve communication between team members and provide for an open approach to tackling a project. Scrum methodology will helps to break the tasks into smaller, manageable parts hence increasing our team efficiency to complete this project in a limited amount of time. This will allow the stakeholders to have the advantage of seeing the progress being made every day. Our team will also practice careful decision making and constantly get feedback from the stakeholders. 9.2 Issues, Limitations & Constraints 9.2.1 Internet Connectivity In order to view news, internet connectivity must exist for the application to pull the RSS news feed. By default, the application will cache the news to the local storage and readers will be able to view them even when there is no internet connectivity, but if the reader or the system do housekeeping and remove the cache, the readers will not be able to view any content without internet connections. Page 34 of 65 9.2.2 Application Size Limitation In order to control the size of the application, FeedMe! will only store news for 7 days (by default). This function is used to control the disk usage of the reader’s computer, at the same time; readers can only read news up to 7 days old. This limitation also affects the “Favorite Folder” which stores the favorite news by the readers. 9.2.3 Difficult to share with multiple social sites FeedMe! supports publishing of posts on social networks such as Facebook or Twitter by logging on to the reader’s respective account. If the reader wants to share the news across all the social sites he/she have; he have to share it one by one on all the available social sites that he wish to share to. 9.3 System Performance 9.3.1 Test Plan 9.3.1.1 Introduction This is the Master Test Plan for the FeedMe! application. This plan will address only those items and elements that are related to the FeedMe! engine, both directly and indirectly affected elements will be addressed. The primary focus of this plan is to ensure that the FeedMe! application meets its requirement of gathering news in accordance with the users’ preferences and users would be able to specify rules for the types of articles gathered. The project will have three levels of testing; Unit, System/Integration and Acceptance. The details for each level are addressed in the approach section and will be further defined in the level specific plans. 9.3.1.2 Proposed Plan The objective of Software Testing helps to identify potential /critical bugs in the software to ensure its functions reliability and usability. At the same time it is also been used to validate the software to ensure that it meets the user’s requirements and functionalities. The entire testing phase consists mainly of: 1. Functional Testing 2. User Interface Testing 3. Installation 4. Performance 5. Environment (network, operating system) After completing the testing (Factory Acceptance Test) phase and Commission (User Acceptance Test) phase, it also completed the SDLC (Software Development Life Cycle) of the project. 9.3.1.3 Test Items The following is a list, by version and release, of the items to be tested: News feed Search Engine 9.3.1.4 Software Risk Issues There are several parts of the project that are not within the control of the FeedMe! application but has direct impacts on the process and must be checked as well. Page 35 of 65 Feedme! must be connected to Internet which means computer must have internet access or else the application cannot update or download the latest RSS feeds. FeedMe! will then display the last updated news. If user does not receive RSS information for long periods, the information is outdated and unable to browse, because there is no dedicated server for each user to save information. If user does not timely receive, the information may be outdated. 9.3.1.5 Features to be tested The following is a list of the areas to be focused on during testing of the application. 1. 2. 3. 4. 5. 6. 7. 8. 9. FeedMe! ability to store the news information gathered from RSS feed FeedMe! ability to download RSS Feed File FeedMe! ability to extract the news information from RSS feed to News Object FeedMe! ability to displays title of RSS feed site and latest news of the RSS feed site FeedMe! ability to saves an Array of News sites which the user has added and retrieve the array of news sites which the user has added Search Engine ability to construct Search Engine URL Search Engine ability to extract search results which are RSS feed Search Engine ability to sort search results Search Engine ability to add Search Result to List 9.3.2 Test Life Cycles & Phases Page 36 of 65 9.3.3 Test Schedule S/N Test 1. Design Test Cases Define the requirements to be tested. Plan Function Test To test out the software functions. Such as gathered RSS feed, search engine… Interface Test Ensure the advanced interface design works with other applications, such as interface with Skype, Facebook. Regression Test To ensure that there is no impact on previously released software, and there is an increase/decrease in the functionality and stability of the software is not altered. Factory Software integration test. Acceptance Test User Acceptance To fit the criteria for user acceptance test. Test Prepare for Ensure software installed and worked Presentation successfully. Test Types 2. 3. 4. 5 6. 7. 9.3.4 Scope Start End Week1 Week4 Week5 Week13 Week 13 Week 15 Week 10 Week 15 Week 15 Week16 Week18 Week 19 Week 18 Week 19 9.3.4.1 Functional Testing Functional Testing will be test via the software functional requirements and its execution flow using the user interaction approach to identify, rectify and improve the software usability. Test Objective Ensure proper application navigation, data entry, processing and its expected output Technique Execute each use cases or functions for validating its expected results. Completion Criteria All functionalities or functions has been executed and function as per expected. There shall be no further consideration criteria for this test phase 9.3.4.2 User Interface Testing User interface testing is to ensure that proper execution of the interactive interface is able to perform as expected. Test Objective Ensure interactive action using the interface is able to perform as expected. Technique Execute the proper steps requires to perform the functionalities. Completion Criteria All functionalities or functions has been executed and function as per expected. There shall be no further consideration criteria for this test phase 9.3.4.3 Regression Testing Regression testing will be performed after the release of each phase Test Objective To ensure that: o No impact on previously released software o There is an increase/decrease in the functionality and stability of the software is not altered. Technique Page 37 of 65 o Execute Adequate Regression test case would be identified from the existing suite using Risk Based Analysis (Complexity) o The developers after having fixed the bugs will update defect status to development completed. Root cause of the defect is updated along with the status. o Regression testing will be carried out for each subsequent version to verify defects are fixed o If bugs still exists it would be routed back to the development team, otherwise the bugs would be moved to “closed status” Completion Criteria All functionality or functions has been executed and functions as per expected. There shall be no further consideration for this test phase 9.3.5 Approach Agreeing on a test methodology is important step for standardizing the test activities across the various testing phases in the project. This also allows for a precise and repeatable method of verification and measuring the quality of the software. Test methodology adopted for this project is based on the industry-standard V-model for testing. This facilitates: Continuous verification (of specifications such as business requirements and functional design) Continuous validation (of specifications against the original business requirements themselves) A progressive set of test phases (to test the developed software against the business requirements). Expanding on the V-model, the following diagram illustrates the relationship between test activities, tools and stages alongside the phases of the software development. Page 38 of 65 Plan Analyse Design Build Test Deploy Test Management/ Governance Test Strategy (Scope, Approach, Tools, Budget) Test Planning (Schedule, Resource, Technique , Activities) Test Design Test Execution (Test Lvls, Cycles, Defect Mgmt) Test Rep ort Traceability Testing Tools and Artefacts 9.3.6 Testing Level The testing for the FeedMe! 2012 project will consist of Unit, System/Integration (combined) and Acceptance test levels. It is hoped that there will be at least one full time independent test person for system/integration testing. However, with the resource constraints and time line established; most testing will be done by the test manager with the developer’s participation. Unit Testing will be done by the developer. Proof of unit testing (test case list, sample output, data printouts, and defect information) must be provided by the developer and verified by the team before unit testing will be accepted and passed. All unit test information will also be provided to the test manager. System/Integration Testing will be performed by the test manager with assistance from the developers as required. No specific test tools are available for this project. Acceptance Testing will be performed by the actual end users (represented by team leader) with the assistance of the test manager and developer. 9.3.7 Testing Tools There are no specific test tools; however, the testing environment must be set-up prior to any testing. 9.3.8 Item Pass/Fail Criteria The test process will be completed once the newsreader that crawls all possible RSS provided by the web sites that end user specifies. FeedMe!, targets from home-based users to enterprise level where updates can be brought to them all in one application. It will deem completed once the FeedMe! is able to fulfill all search function with regard to the utilization of keywords. It should allow sorting search result and adding search result to list. It also should allow user uses Preference Management such as add, delete and remove functions. 9.3.9 Installation Testing The Installation Testing is to ensure that consideration has been taken into account for external factors such as the diversity of hardware specification on different machine and behavior on operation system. This is to ensure that the installation can be completed and performance will be at the optimal level. Page 39 of 65 Test Objective Ensure the installation process can be completed successfully and perform normally Technique Execute the necessary expected installation procedure is able to perform successfully Completion Criteria All installation process is completed successfully and no abnormal behavior is observed Consideration Ensure proper services and configurations have been installed or running. 9.3.10 Testing Environment The following elements are required to support the overall testing effort at all levels: Internet Access Microsoft Windows 8 Operating System Intel Core 2 Duo or equivalent and above Minimum of 2GB RAM .NET Framework 4.0 Distribution Package Minimum 500MB of Harddisk Space Intel Shared Graphics Card or Equivalent Microsoft Visual Studio 2012 Page 40 of 65 9.3.11 User Acceptance Test S/No Description FeedMe! User Acceptance Test 1 Add news feed (new category) Description / procedure Expected Results Left panel should show new category with subscription. 4. 1. 2. 3. 4. Right click on left panel, choose “Add news” function Type in URL Choose “New category” and type in category name “BBC news” Click “OK” Right click on left panel, choose “Add news” function Type in URL Choose existing category Click “OK” 1. 2. 3. 2 Add news feed (existing category) 3 Delete news feed 1. 2. Select on left panel the news to delete Right click and choose “delete news” Left panel should not show the news. 4 Delete category 1. 2. Select on left panel the category to delete Right click and choose “delete category” Left panel should not show the category. 5 View news 1. Select news on left panel Right panel should show news title, description and link 6 Save and restore subscription 1. Close application 2. Run application Previously subscribed news should show up. 7 Search RSS feed availability of single word 1. Key in search word “UOW” 2. Keyword parse to an online RSS search engine that crawls huge database of RSS 3. Click “search” button Any feed that has the keyword “UOW” should be listed the link and title in right panel 8 Search RSS feed availability of multiple words 1. Key in search word “UOW SIM” 2. Keyword parse to an online RSS search engine that crawls huge database of RSS Any feed that has “UOW SIM” and likely from “UOW SIM” should be Page 41 of 65 Left panel should show the new subscription. Status Remarks 3. Click “search” button listed the link and title in right panel Pop up to inform user to enter the key word 9 Search RSS feed with null value 1. Key in nothing 2. Click “search” button 10 Validate search result 1. Key in search word “UOW SIM” 2. Keyword parse to an online RSS search engine that crawls huge database of RSS 3. Once list the search result, click a “known” invalid link valid link and invalid link will be listed 11 View news in search result 1. Key in search word “UOW SIM” 2. Keyword parse to an online RSS search engine that crawls huge database of RSS 3. Click ‘View News’ button View News page should come out and shows the titles and hyperlinks related to the search result. Page 42 of 65 10 PROJECT TIMELINE FeedMe! Final Year Project Timeline 7/10/2012 8/29/2012 10/18/2012 Start Date Duration Project Proposal Requirement Gathering Development & Testing of Prototype Preliminary User Manual Development & Testing of Application Technical Manual Final Group Presentaion Page 43 of 65 12/7/2012 1/26/2013 3/17/2013 11 MEETING MINUTES 11.1 Project Meeting #1 Venue: Raffles Place Date & Time: Saturday, 27 Oct 2012, 2pm Chairperson: Attendees: Lai XueYang (XY) Chua Wee Siang (WS) Jiang WenTao (WT) Gao Rong (GR) N/A Gao Rong (GR) Absentees: Minutes Consolidated By AGENDA 1. Read and discuss the project specification 2. Identify and assign the responsibilities 3. Discuss on the platform for the news- sheet application 4. Plan for the timeline based on the requirements Items Opened: Item # 1 2 Discussion Details / Updates Read and discuss the project specification Team has gathered and read through on the project specification released by the supervisor. Team members then briefly discuss their understanding of this project. Identify and assign of responsibility Action By All All Target End Date End of 3rd Week End of 1st Project meeting Status N/A N/A WS - System Analyst & Tester & Programmer & Technical guide GR- User Interface Designer & Tester & Documentation & Programmer & Minutes Taker XY – Project Manager & Requirement Analyst & Tester & Programmer & Technical guide WT - Test Designer & Documentation & Technical guide 3 Discuss on the platform for All Page 44 of 65 Proposed development on Microsoft Windows 8 using Visual Studio 2012 the news-sheet application as well as programming language to use 4 5 6 Platform: IOS, Android & Windows 8 Programming language: C#, VB, Java, Object C Suggestion to do the proposal and plan out project timeline XY – Draft Proposal XY suggested to come out with a draft proposal and to have each members to contribute into the proposal. GR – Draft Application Discuss on application name & logo XY Each member should come out with 3 application names and upload to Dropbox. Team will select the most comfortable one for final application name. Date of Next Meeting All Draft Proposal End of Week 8 (Session 1) Draft Application – End of Week 9 (Session 1) Draft Logo – End of Week 4 (Session 1) TBA Next meeting will be held next Saturday. There being no other matters, the meeting ended at 3:52PM. Page 45 of 65 N/A N/A Tentatively 3rd November 2012 11.2 Project Meeting #2 Venue: Skype Date & Time: Saturday, 3 Nov 2012, 2pm Chairperson: Attendees: Absentees: Minutes Consolidated By Lai XueYang (XY) Chua Wee Siang (WS) Jiang WenTao (WT) Gao Rong (GR) N/A Gao Rong (GR) AGENDA 1. Discuss on the types of news sheet application. 2. Identify the platform for the application. 3. Discuss on the UI design. 4. Discuss on the format of the project report. Items Opened: Item # 1 2 3 4 Discussion Details / Updates Discuss on the types of newssheet application Target End Date All Team researched on some of the open source components and that can be used for identify the requirements as Windows8 is very new for us. Create website for further uploading all relevant data Team identifies wordpress.com with domain name feedmew8 as a suitable blogs for further uploading all relevant data. Suggestion to settle the UI design XY suggest GR to install Microsoft Visual Studio 2012 for UI development. Suggestion to do the proposal N/A All All – Download and install Microsoft Windows 8 & Visual Studio 2012 XY Page 46 of 65 Status N/A Team discuss about the types of news sheet application based on last meeting, compared with each other. All Identify the requirements on Microsoft Window 8 UI should be mostly implemented by week 8 (session 1) 5 Action By N/A End of the week N/A N/A by parts splitting it accordingly with each member XY has suggested to come out with a draft proposal and to have each members to contributed into the proposal 6 7 Important milestone to take note Team leader, XY informed that roughly week 6, to submit project diaries. Date of Next Meeting All All Next meeting will be held in the next Saturday. There being no other matters, the meeting ended at 5:00pm. Page 47 of 65 N/A TBA Tentatively 10th November 2012 11.3 Project Meeting #3 Venue: MBT Date & Time: Saturday, 10th Nov 2012, 3pm Chairperson: Attendees: Lai Xue Yang (XY) Chua Wee Siang (WS) Jiang Wen Tao (WT) Gao Rong (GR) N/A Gao Rong (GR) Absentees: Minutes Consolidated By AGENDA 5. Discuss on project proposal 6. Update the documentation process, Gantt chart. Items Opened: Item# Discussion Details / Updates Action By 1 Discuss on scope of proposal All N/A All N/A All N/A 2 3 Team has generated the report layout and report content. Each member will update Gantt chart accordingly. Research on current market project for comparison All the members research a commercial product and to pick the best for comparison on Pros and Cons to contribute to draft a proposal Draft the scope Status 1. 2. 3. 4. 5. 6. 7. 4 5 Introduction Project introduction Business Model Objectives Roles & Responsibilities System Research Proposed Software Programming and Designing Tools 8. Development Methond 9. Graphical User Interface Design 10. Project Schedule & Gantt Chart Uploading of all the relevant data to website Target End Date To email Dr PKloo contents for uploading. Important milestone to take note All XY Page 48 of 65 End of the week N/A N/A 6 Team leader, Xue Yang informed that roughly week 6, to submit project diaries. Date of Next Meeting All Next meeting will be held in the next Sat. (To Be announced) There being no other matters, the meeting ended at 5:00pm. Page 49 of 65 TBA Tentatively 17th November 2012 11.4 Project Meeting #4 Venue: MBT Date & Time: Saturday, 17th Nov 2012, 3pm Chairperson: Attendees: Absentees: Minutes Consolidated By Lai Xue Yang (XY) Chua Wee Siang (WS) Jiang Wen Tao (WT) Gao Rong (GR) N/A Gao Rong AGENDA 1. Discuss on preliminary technical design document. 2. Discuss on user manual Items# 1 2 Discussion Details / Updates Discuss on technical design Team has generated the report layout and report content. As design spec in the technical repost must include research findings, diagrams and also requirements, team will be focusing on requirements and development methodology. Every member will take responsibility and contribute the project. Wentao and Gao Rong had discussed and will be focusing on research portion, as well as research on GUI design. Xueyang and Weesiang shall look into programming language that is to be used for developing the application. Discussion on user manual Action By Target End Date Status All N/A All N/A Team discussed on contributing to user manual draft for submission. Installation and uninstallation process should be included in user manual. Various components of the Page 50 of 65 3 4 5 6 application and also update and change log if possible. Uploading of all the relevant data to website Important milestone to take note To prepare submission of the Project Presentation and Demo after exam Agreement in further meeting Team had agreed to meet up again after exam as exam is coming and should be focus on study. Date of Next Meeting All N/A All N/A All N/A All Next meeting will be held on 7th Dec 2012. (To Be announced) There being no other matters, the meeting ended at 5:00pm. Page 51 of 65 TBA Tentatively 7th December 2012 11.5 Project Meeting #5 Venue: MBT Date & Time: Saturday, 8th Dec 2012, 3pm Chairperson: Attendees: Absentees: Minutes Consolidated By Lai Xue Yang (XY) Chua Wee Siang (WS) Jiang Wen Tao (WT) Gao Rong (GR) N/A Gao Rong (GR) AGENDA 1. Discuss on GUI design progression. 2. Discuss on programming progress. 3. Discussion on component need in the report Items Opened: Items # 1 2 3 4 5 Discussion Details /Updates Discuss on GUI desin Wentao and Gao Rong informed they had started designing the GUI for upcoming demo of prototype. Henceforth, GUI screenshot will be able to provide graphical in-depth information on the proposed user manual. Discussion on programming progress Weesiang and Xueyang informed they had started doing part of the coding by them. They will do up a prototype and show the team. Discussion on component need in the report Team listed on the possible components needed for the technical design documentation and discuss on the components that are necessary. That might be irrelevant to the report also. Uploading of all the relevant data to website Important milestone to Action By Target End Date Status WT & GR N/A XY & WS N/A All N/A All N/A All N/A Page 52 of 65 take note 6 To prepare submission of the Project Presentation Date of Next Meeting All Next meeting will be held on 15th Dec 2012. (To Be announced) There being no other matters, the meeting ended at 5:00pm. Page 53 of 65 Tentatively 15th December 2012 11.6 Project Meeting #6 Venue: MBT Date & Time: Saturday, 15th Dec 2012, 3pm Chairperson: Attendees: Lai Xue Yang (XY) Chua Wee Siang (WS) Jiang Wen Tao (WT) Gao Rong (GR) N/A Gao Rong (GR) Absentees: Minutes Consolidates By AGENDA 1. Discuss on Revising proposal. 2. Discuss on progress of technical design documentation. Items Opened: Item# 1 2 Discussion Details /Updates Discuss on revising proposal Action By Team went through on the requirement analysis. Subsequently, submit a copy of activity diagram and user diagram for proposal. Project Manager, Xueyang is to overlook the project progression which proposal has to be prepared before submission. Discussion on Technical Design Documentation Target End Date Status XY N/A All N/A N/A Team had suggested including test plan draft in upcoming technical design submission as part of the design document. 3 Uploading of all the relevant data to website All 4 Important milestone to take note All 5 To prepare next week submission of the Project Presentation Date of Next Meeting All Next meeting will be held on 22nd Dec 2012. (To Be Page 54 of 65 End of this week N/A Tentatively 22nd December 2012 announced) There being no other matters, the meeting ended at 5:00pm. Page 55 of 65 11.7 Project Meeting #7 Venue: MBT Date & Time: Saturday, 10th Nov 2012, 3pm Chairperson: Attendees: Lai Xue Yang (XY) Chua Wee Siang (WS) Jiang Wen Tao (WT) Gao Rong (GR) N/A Gao Rong (GR) Absentees: Minutes Consolidated By AGENDA 1. Discuss on project proposal 2. Update the documentation process, Gantt chart. Items Opened: Item# 1 Discussion Details / Updates Discuss on revising proposal Action By Target End Date Status All N/A WT & GR N/A All N/A Team brought up the issues on insufficient details in proposal for submission, as well as on the requirement analysis. 2 Discussion on GUI design WT and GR had informed that he had started designing the GUI for upcoming demo of prototype. Henceforth, GUI screenshot will be able to provide graphical in-depth information on the proposed user manual. 3 Discussion on submission in next week Team had agreed that documentation shall be submitted to supervisor for vetting as soon as possible. 4 Date of Next Meeting All Next meeting will be held in the next Sat. (To Be announced) Page 56 of 65 TBA Tentatively 29th December 2012 There being no other matters, the meeting ended at 5:00pm. Page 57 of 65 11.8 Project Meeting #8 Venue: SIM, Student Lounge Date & Time: Saturday, 29 December 2012, 11am Chairperson: Attendees: Lai XueYang (XY) Chua Wee Siang (WS) Jiang WenTao (WT) Gao Rong (GR) N/A Gao Rong (GR) Absentees: Minutes Consolidated By AGENDA 1. Discussion on previous presentation 2. Discussion on upcoming job scope 3. Discuss on the platform for the news- sheet application 4. Plan for the timeline based on the requirements Items Opened: Item # 1 Discussion Details / Updates Discussion on Previous Prototype Presentation Action By Target End Date Status All N/A All N/A The group has discussed about the submission that was done on 29 Dec 2012, which Assessor of that day, Mr. Prem. Had said that to improve on the RSS functions which would likely not be easy to extract information as XML language is used in RSS. Also, if possible within more function such as connected to facebook or twitter to make the application more valuable. As it will be more interactive and innovative. 2 Discussion on Upcoming job scope of each WS will research and code on windows 8 application. GR & WT will be focusing on the GUI design and related coding for GUI handling. XY will be researching on the connection function to extract out RSS links. Page 58 of 65 6 Date of Next Meeting All TBA Next meeting will be held 2 weeks later. There being no other matters, the meeting ended at 3:52PM. Page 59 of 65 Tentatively 12th January 2013 11.9 Project Meeting #9 Venue: Raffles Place Date & Time: Saturday, 12 Jan 2013, 2pm Chairperson: Attendees: Lai XueYang (XY) Chua Wee Siang (WS) Jiang WenTao (WT) Gao Rong (GR) N/A Gao Rong (GR) Absentees: Minutes Consolidated By AGENDA 1. Discussion on first version of application 2. Discussion on Test Plan 3. Discussion on Test Result Items Opened: Item # 1 Discussion Details / Updates Discussion on first version of application Action By Target End Date Status XY & WS N/A 2 XY & WS conducting the test on their first version of the application based on their laptop’s performance. It can only be used in Microsoft Windows 8 environment, so that testing platform shall be using Microsoft Window 8. Discussion on Test Plan All N/A 3 Discuss on Test Result All N/A XY suggested running the test at least 3 times for an average load balance test so as to obtain a more accurate result. 4 Date of Next Meeting All TBA Next meeting will be held next Saturday. There being no other matters, the meeting ended at 4:30PM. Page 60 of 65 Tentatively 19th January 2013 11.10 Project Meeting #10 Venue: MBT Date & Time: Saturday, 19 Jan 2013, 2pm Chairperson: Attendees: Lai XueYang (XY) Chua Wee Siang (WS) Jiang WenTao (WT) Gao Rong (GR) N/A Gao Rong (GR) Absentees: Minutes Consolidated By AGENDA 1. Discussion on current application functions 2. Discussion on improvement on current application Items Opened: Item # 1 2 Discussion Details / Updates Discussion on current application functions XY suggests adding more functions in FeedMe application Discussion on improvement on current application Action By Target End Date XY All 3 Discuss on technical report All 6 Team filled in technical report and added test cases and results in. Date of Next Meeting All N/A End of 1st Project meeting N/A TBA Tentatively 2nd February 2013 Next meeting will be held next Saturday. There being no other matters, the meeting ended at 4:00 PM. Page 61 of 65 Status 11.11 Project Meeting #11 Venue: MBT Date & Time: Saturday, 2 Feb 2013, 2pm Chairperson: Attendees: Lai XueYang (XY) Chua Wee Siang (WS) Jiang WenTao (WT) Gao Rong (GR) N/A Gao Rong (GR) Absentees: Minutes Consolidated By AGENDA 1. Discussion on progress of application Items Opened: Item # 1 2 3 4 Discussion Details / Updates Discussion on progress of application XY & WS tried to implement connection from our application to social website such as twitter, as well as research on other functions Discussion on the remaining items to complete Discussion on Video for project presentation Action By Target End Date Status All N/A All N/A All N/A XY informed that video will be taken in next 2 weeks Discussion on User Manual for project N/A It is agreed that once test on the final application has been completed, WT & GR will share all screenshots on every part of the applications and subsequently allow XY to update a final version of User Manual for submission. 5 Date of Next Meeting All TBA Next meeting will be held in 2 weeks later as CNY comes. There being no other matters, the meeting ended at 5:00 PM. Page 62 of 65 Tentatively 16th February 2013 11.12 Project Meeting #12 Venue: Changi Airport Date & Time: Saturday, 23 Feb 2013, 2pm Chairperson: Attendees: Lai XueYang (XY) Chua Wee Siang (WS) Jiang WenTao (WT) Gao Rong (GR) N/A Gao Rong (GR) Absentees: Minutes Consolidated By AGENDA 1. Discussion on technical report Items Opened: Item # 1 2 Discussion Details / Updates Read and discuss the project specification XY compiled everything including source code in the technical report. Format will be as requested. Discussion on current application functions Action By All Target End Date By the end of today Status N/A All N/A All N/A Team suggested using static screen saver instead of dynamic screen saver. 3 Discussion on final presentation ppt format Final presentation is on 2nd of March. Presentation will follow below sequence. Introduction & Objective Lecture Review & Comparison Research summary Main functions Website Development Method What we learn Demo Q&A 4 Discussion on submission documents All Page 63 of 65 Before 2nd of March N/A Team need to submit technical report, proposal, CD and user manual. And we need to submit three sets. To rectify current bugs in FeedMe! and add some small functions. At the same time, prepare all documents and CDs. There being no other matters, the meeting ended at 5:00 PM. Page 64 of 65 12 REFERENCES Research: http://email.about.com/cs/rssfeedreaders/gr/ Development Method: http://en.wikipedia.org/wiki/Systems_Development_Life_Cycle http://en.wikipedia.org/wiki/Waterfall_model http://en.wikipedia.org/wiki/IBM_Rational_Unified_Process http://en.wikipedia.org/wiki/Scrum_(development) Risk Management: http://en.wikipedia.org/wiki/Risk_management Programming Languages: http://en.wikipedia.org/wiki/Programming_language http://en.wikipedia.org/wiki/C%2B%2B http://en.wikipedia.org/wiki/Java_(programming_language) http://en.wikipedia.org/wiki/Visual_Basic http://en.wikipedia.org/wiki/C_Sharp_(programming_language) http://www.jvoegele.com/software/langcomp.html Page 65 of 65