Report I, Knowledge Base & System Analysis and Design

Total Page:16

File Type:pdf, Size:1020Kb

Report I, Knowledge Base & System Analysis and Design

Faculty of Computer Science & IT

ProjectProject namename Short name if any

Report I, knowledge base & system analysis and design A report submitted to the Faculty of Computer Science and IT In partial fulfillment of the requirements for the degree of

Bachelor of Science In Computer Science and IT

Prepared by student 1 name student 2 name student 3 name student 4 name student 5 name

Supervised by Dr. Ahmed ElShafee

Assistant Professor, Faculty of Computer Science & IT Ahram Canadian University

Dr. Ahmed ElShafee, 2013, Graduation Project Template January 2013 Table of Contents:

Preface...... 1 Acknowledgement...... 2

Part one: System analysis and planning 1. Chapter one: Introduction...... 3 1.1: Overview...... 4 1.2: Motivation...... 5 1.3 Document Organization...... 6

2. Chapter two: Project Planning...... 7 2.1: Project Planning...... 8 2.2: Risk Management...... 12 2.3: Report Writing and Presentations...... 17 2.4: Project Scheduling...... 17

3. Chapter three: knowledgebase...... 26 3.1 Introduction...... 27 3.2 Topic 01...... 28 3.3 Topic 02...... 29 3.4 Topic 03...... 30 3.5 Topic 04...... 31

4. Chapter four: Project Analysis...... 19 4.1 Problem Domain...... 20 4.2 Similar System Survey and case studies...... 21 4.2.1 Case 01...... 22 4.2.2 Case 02...... 23 4.2.3 Case 03...... 24 4.2.4 Case 04...... 25 4.5 Requirements analysis...... 32 4.5.1 Functional Requirements...... 33 4.5.2 Non-Functional Requirements...... 41 4.6 A simple pattern for requirements analysis 4.7 System use case diagram...... 42 4.8 System sequence diagrams ...... 43 4.9 Assumptions and Constrains...... 43

Part Two: System Design 5. Chapter five: System design and architecture...... 55 5.1 System layout...... 56 5.2 System features, characteristics, and functions...... 57 5.3 Class diagram...... 59 5.4 Classes description...... 59 5.5 Database ER diagram...... 60 5.6 Hardware design & description ...... 61

Dr. Ahmed ElShafee, 2013, Graduation Project Template Page (2/55) 5.7 Technology constrains...... 62 Part three: Prototype implementation 6. Chapter six: Prototype Implementation...... 70 6.1 System User manual...... 71 6.2 System Snapshots...... 72

Conclusions and Future Work...... 80 References...... 81

Appendix 1: System Software Code...... 90 Appendix 2: System Hardware Components...... 100

Dr. Ahmed ElShafee, 2013, Graduation Project Template Page (3/55) List of Figures:

Figure 2.1: GANTT CHART...... 25 Figure 3.1: USE CASE DIAGRAM...... 36 Figure 3.2: CONTEXT DIAGRAM...... 55

Dr. Ahmed ElShafee, 2013, Graduation Project Template Page (4/55) Acknowledgments

1 List acknowledgments. Briefly take the time to thank those who helped you along your writing journey.

2 Obviously, you'll never be able to include every person or institution, so try to keep this as brief as possible.

Dr. Ahmed ElShafee, 2013, Graduation Project Template Page (5/55) PartPart OneOne SystemSystem AnalysisAnalysis AndAnd PlanningPlanning

Dr. Ahmed ElShafee, 2013, Graduation Project Template Page (6/55) Chapter 1: Introduction In this chapter, a brief review of the literature of the system is introduced.  Overview  Motivation  Document Organization

Dr. Ahmed ElShafee, 2013, Graduation Project Template Page (7/55) 1.1: Overview What dose proposed system present ? Briefly define the proposed system

What is the main target of the system ? Build a new product Solution for existing problem Enhancing existing product.

The main features if the proposed system? Flexibility Optimization Cheap Easy operation …..

Dr. Ahmed ElShafee, 2013, Graduation Project Template Page (8/55) 1.2 Motivation Why you intend to build that project? To learn new technology To gain experience in certain field, that will develop your carrier path To sell the project after building it To solve a problem To enhance service quality

Dr. Ahmed ElShafee, 2013, Graduation Project Template Page (9/55) 1.3 Document organization

The remaining part of this Document is organized as follows. Chapter 2 and 3 present …..

Chapter 4 and 5 provide a brief survey ……

Chapter 6 explains …..

Chapter 7 discuss ………..

Dr. Ahmed ElShafee, 2013, Graduation Project Template Page (10/55) Chapter 2: Planning In this chapter, the planning process of this project will be discussed in brief.

. Project Planning . Risk Management . Report Writing And Presentations

Dr. Ahmed ElShafee, 2013, Graduation Project Template Page (11/55) 2.1: Project Planning The purpose of Project Planning is to identify the scope of this project, estimate the work involved, and create a schedule for the development of the project. Project planning begins with requirements that define the software to be developed. The project plan is then developed to describe the tasks that will lead to completion. As the project progresses, the plan should progress as well, monitoring the progress being made, ensuring activities are taking place when they should be.

Table (2.1) shows project activities Activity Duration Start End Defining scope of 2 weeks the project Identifying project 1 week stakeholders Case studies 2 weeks Building 10 weeks Knowledge base System 1 weeks specification Requirements 4 weeks analysis Risk management 1 week Design SW 3 weeks modules design HW 3 weeks modules Design user 1 week interface Documentation 15 weeks

Dr. Ahmed ElShafee, 2013, Graduation Project Template Page (12/55) 2.2: Risk Management Risk Management is the process of identifying, assessing project’s risks and then developing strategies to manage them. In general, the strategies employed include transferring the risk to another party, avoiding the risk, reducing the negative effect of the risk, and accepting some or all of the consequences of a particular risk. Potential Risk Treatments Once the projects risks have been identified and assessed, all techniques to manage the risk fall into one or more of these four major categories:  Transfer  Avoidance  Reduction (Mitigation)  Acceptance (Retention)

Dr. Ahmed ElShafee, 2013, Graduation Project Template Page (13/55) 2.2.1: Risk Identification

The main risks types facing the development of this system are as follows: . Time risks This is due to the compression of the schedule of the project, optimistic evaluation of time estimates, dropping off important tasks from estimates. . Budget risks This is due to the un-predictable developing cost since the project requires several experiments which can’t be determined at the earlier stages. . Requirement risks This can happen due to incomplete, incorrect, inconsistent, volatile or unclear requirements. Some of the risks facing this project are as follows: . Unexpected User Operational faults … . Unexpected Environments operation faults ….. . Design faults ….. . Implementation faults …. . ……

Dr. Ahmed ElShafee, 2013, Graduation Project Template Page (14/55) 2.2.2: Risk Analysis

This process is responsible for assessing and analyzing the possible risks facing the development of the project. This is done by calculating the risk exposure associated to every risk. This is equal to the product of the probability of the risk and its associated loss. Risk Probability Loss (in terms of system Risk Exposure (%) performance- %) Unexpected User 25% 10% 0.025 Operational faults … Unexpected 75% 15% 0.1125 Environments operation faults ….. Design faults ….. 45% 20% 0.09 Implementation faults 15% 8% 0.02 …. Total risk in terms of system performance 0.2475

Dr. Ahmed ElShafee, 2013, Graduation Project Template Page (15/55) 2.2.3: Risk Prioritization This process is responsible for prioritizing the possible risks facing the development of the project according to highest probability or greatest loss. Therefore, low effect risks can be ignored. The following are the possible risks ordered discerningly according to their associated loss: 1. Unexpected User Operational faults … 2. Unexpected Environments operation faults ….. 3. Design faults ….. 4. Implementation faults ….

Dr. Ahmed ElShafee, 2013, Graduation Project Template Page (16/55) 2.2.4: Risk Resolution This is the process of identifying the treatment action regarding each possible risk: Risk Resolution Description Strategy Unexpected User Risk Involve reducing the severity of the loss. This is Operational faults … Reduction done by trying to ……….. in order to avoid ……………. Unexpected Risk Transferring the risk off the critical path of the Environments Transfer system development process, possibly to another operation faults ….. part of phase of the project (Causing error at speed calculation phase). Design faults ….. Risk Transferring the risk off the critical path of the Transfer system development process, possibly to another part of phase of the project. such effect is excluded from the system scope. It is included as a part of the future work plan. Implementation Risk Involves accepting the loss when it occurs and not faults …. Acceptance taking any measure to resolve this risk

Dr. Ahmed ElShafee, 2013, Graduation Project Template Page (17/55) 2.3: Report Writing and Presentations

October 2011 A presentation about the scope of the project and an introduction to the project was presented. The scope and functionality of the project were discussed. A preliminary time line was proposed. The main functionality and features of the project were presented and a feasibility plan was provided for minimal specification. November 2011 A presentation about the analysis phase of the project was presented to provide clarity about the projects functional and non-functional requirements, system expectations and the main features of the system. December 2011 This is done with UML use case diagrams which depict functionality from the user’s perspective and from the system perspective. January 2011 A presentation about the project design phase was presented to show the modular and architectural design of the project. In this presentation, a detailed explanation of the possible project modules was discussed.

Dr. Ahmed ElShafee, 2013, Graduation Project Template Page (18/55) 2.4: Project Scheduling

Figure 2.1: Gantt chart

Dr. Ahmed ElShafee, 2013, Graduation Project Template Page (19/55) Chapter 3: Knowledgebase This chapter, presents building knowledgebase phase.

. Introduction . Topic 01 . Topic 02 . Topic 03 . Topic 04 Knowledgebase A good knowledge base will streamline the process you use to build and to solve problems within the project.

Instructions

1 Choose a knowledge base program topics. There's no need to rebuild the wheel. You will buy the wheel, but you need to understand the operation of the wheel.

2 Determine the information that you should include when writing the report. For example, if you're creating a knowledge base for a software product, you may want writers to include information about the problem, the client's software version and operating system and how the employee solved the problem.

3 Divide topics between team members, each one will go through it, and after completing the topic, write down the technical part describing topic details, and transfer the gained knowledge base to other team members.

4 Allow all team members the opportunity to add to the knowledge base. The advantage of a knowledge base is that all individuals add their knowledge to the system. It doesn't work if only a few people have access. Set the controls in the software to allow the team to edit the knowledge base. 5 You may need to take a training employees on how to use a system. Before you can start building anything, you need to know how to use the software. Schedule a training period to go over the basics.

Topic/research Responsible period Status (done/ comment area person fail/ postpone, …)

Dr. Ahmed ElShafee, 2013, Graduation Project Template Page (2/55) 3.2 topic 01 Write at least 5 pages to summarize everything

3.3 topic 02 Write at least 5 pages to summarize everything

3.4 topic 03

Write at least 5 pages to summarize everything

3.5 topic 04

Write at least 5 pages to summarize everything Chapter 4: Analysis In this chapter, the analysis phase of the project will be discussed briefly.

. Problem Domain . Similar System Survey . Functional Requirements . Non-Functional Requirements . System use case diagram . System sequence diagram . Assumptions and Constraints

Dr. Ahmed ElShafee, 2013, Graduation Project Template Page (4/55) 4.1: Problem Domain The main motivation behind this project is to …..

Nowadays, traditional systems ….. are extremely expensive and need to be replaced by new system ….. in order to have better output, cheaper system and exclude human resource and human mistakes in the system.

Recently there are two types of traditional system commonly used in Egypt or world wide 1. …. 2. …..

Yet, after years passed using these traditional systems the following bad impacts were discovered 1. …. 2. …..

Thus, the need for another system to replace the traditional systems due to the disadvantages has become a necessity.

Our project comes with an innovative solution to overcome those disadvantages as a software alternative for traditional systems with the following advantages: 1. …. 2. ….. 4.2: Similar System Survey and case studies 4.2.1 Case 01 Brief description ……………. Main functions and theory of operation …………….. Theory of development and implementation …………. Advantages ………….. Disadvantages ………………… Suggestions …………………

Dr. Ahmed ElShafee, 2013, Graduation Project Template Page (6/55) 4.2.2 Case 02 Brief description ……………. Main functions and theory of operation …………….. Theory of development and implementation …………. Advantages ………….. Disadvantages ………………… Suggestions ………………… 4.2.3 Case 03 Brief description ……………. Main functions and theory of operation …………….. Theory of development and implementation …………. Advantages ………….. Disadvantages ………………… Suggestions …………………

Dr. Ahmed ElShafee, 2013, Graduation Project Template Page (8/55) 4.2.4 Case 04 Brief description ……………. Main functions and theory of operation …………….. Theory of development and implementation …………. Advantages ………….. Disadvantages ………………… Suggestions ………………… 4.5: Requirements Analysis

A software requirements definition is an abstract description of the services which the system should provide and the constraints under which the system must operate; requirements may be either functional or non-functional requirements. 4.5.1: Functional Requirements Functional requirements specify the functionality that a system or component provide. The following are the functional requirements of the proposed system:

 System provides ….  User is able to ….  System shall …  System should …  System calculates …  System provides …

Dr. Ahmed ElShafee, 2013, Graduation Project Template Page (10/55) 4.5.2: Non-Functional Requirements Non-Functional Requirements ensure the delivery of an operable and manageable system which provides the required functionality reliable, uninterrupted or with minimal time of interruption even under unusual situations. They are developed by: . Project Team . Operations Manager . Application Support . QA-Manager . Testing Manager

The following are some of the system’s non functional requirements: . Interactive User Interface (GUI) . Troubleshooting for system inconsistencies . Portability . Performance Requirements(speed, response time) . Reliability of system with its functionality . Manageability and Ease of Use of the system main features . Scalability . Extensibility . Robustness

Some of which are more elaborated as follows: Confidentiality: The system should consider the maximum confidentiality standards for the data it contains, and maximum security should be applied to the system to ensure the data confidentiality and integrity. Portability: The system should be with maximum portability, and this is satisfied through the language used in developing the system .Thus this system can work on multiple platforms. Reliability: The system should be reliable, as it will contain all the organization documents including all the paper work of the organization, and hence it has to be a reliable system with very minimal probability of failure, and a very few number of failures per unit time. Ease of Use: The system should be very user friendly, that a normal organization individual with minimal knowledge of computer based applications can easily acquaint with it. Extensibility: The system should be able to extend the functionalities of itself with minimal adjustments and without going into details of other functionalities within the system. Hence, very high-level concepts such as OOP, encapsulation and abstraction should be used. In addition, the design of the database should promote the same concept in terms of being able to accommodate new data, and hence increase the extensibility of the system. Robustness: The system should be able to identify its failures, and ensure the consistency of the data within itself, and hence maximize the usefulness of the system. In addition, the system should be able to recover from errors and failures. Moreover, the system should allow trouble shooting.

Dr. Ahmed ElShafee, 2013, Graduation Project Template Page (12/55) 4.6 A simple pattern for requirements analysis Take the following steps to develop a pattern for business stakeholder requirements descriptions: Identify the business processes. Identify the IT processes that support each of the business processes. Identify the activities within each of the IT processes. Identify the functions within each of the activities. Identify the use cases for one or more of the functions.

4.6.1 Identify Business Process BP1: Course automation process BP2: Course schedule automation process

4.6. 3 Identify IT processes that support the business process BP1: Course automation process ITP1: Manage courses BP2: Course schedule automation process ITP1: Manage tutors ITP2: Manage course schedules

3.6.4 Identify the activities within each of the IT processes  BP1: Course automation process o ITP1: Manage courses . A1: Course topics activity . A2: Course activity

 BP2: Course schedule automation process o ITP1: Manage tutors . A1: Tutor activity . A2: Tutor assignment activity o ITP2: Manage course schedules . A1: Course scheduling activity 4.6.5 Identify the functions within each of the activities BP1: Course automation process 1. ITP1: Manage courses o A1: Course topic activity . F1: Add course topic . F2: Edit course topic . F3: Delete course topic . F4: View course topics o A2: Course Activity . F1: Add course . F2: Edit course . F3: Delete course . F4: View courses BP2: Course schedule automation process  ITP1: Manage tutors o A1: Tutor activity . F1: Add tutor . F2: Edit tutor . F3: Delete tutor . F4: View tutors o A2: Tutor assignment activity . F1: Assign tutor to course . F2: Edit tutor  ITP2: Manage course schedules o A1: Course scheduling activity . F1: Assign course hours schedule . F2: Assign tutor to course hour . F3: View course calendar

Dr. Ahmed ElShafee, 2013, Graduation Project Template Page (14/55) 4.7 System use case diagram 4.8 System sequence diagrams

Dr. Ahmed ElShafee, 2013, Graduation Project Template Page (16/55) 4.9 Assumptions and Constrains

Assumptions. You’ll need to make a brief and clear-cut description of any project assumptions related to business, people, technology, expectations, or schedules. Then list the sample project assumptions and share it with project participants, executives, and stakeholders for approval.

Constraints. You will need to make a description of the major limitations impacting the project. The project constraints description must include timelines, resource availability, funding, and other important factors influencing project success.

Dependencies. It’s important to determine a link between project assumptions and project constraints and then set any major dependencies between the characteristics. Once it’s done you’ll need to make a full description of the dependencies and use it in developing the project plan.

Adjustment. If project assumptions and constraints are invalidated or they are likely to be modified at a later date, then you’ll need to make adjustments to the activities and estimates listed in your project plan accordingly.

Sample assumptions and constraints tend to exist around project resource availability or competence. That’s why, when developing a description of project management assumptions and constraints, try to give extra consideration to project cost, timing, and human-related issues. It’ll be one of the first steps during the project initiation phase. Once identified and agreed, sample assumptions and constraints in project management will be the foundation for managing unknowns and uncertainties – this is all about risk management. PartPart TwoTwo SystemSystem DesignDesign

Dr. Ahmed ElShafee, 2013, Graduation Project Template Page (18/55) Chapter 5: System design and architecture In this chapter, the design phase of the project will be discussed briefly.

 System layout  System features, characteristics, and functions  Class diagram  Classes description  Database ER diagram  Hardware design and description  Technology constrains 5.1 System layout The proposed system consists of three main modules, the server, the hardware interface module, and the software package The following figure shows the system layout

Figure (5.1) system layout

A short description for each module and its associations with other modules.

…. …. …. ….

Dr. Ahmed ElShafee, 2013, Graduation Project Template Page (20/55) 5.2 System features, characteristics, and functions

The proposed system has the capabilities to doing the following functions  …  …  ….  ….  ….

The proposed system covers the following points that considered to be weak point in system discussed in chapter 2  …  …  ….  ….  …. 5.3 Class diagram

Figure (5.2) system class diagram

Dr. Ahmed ElShafee, 2013, Graduation Project Template Page (22/55) 5.4 Classes description

1. Class 1: Responsible for all automation processes, including the monitoring of the environment for conditions that matches the automation rules configured by the user 1.1 Attributes  Attribute 1: Description  Attribute 2: Description  Attribute 3: Description  Attribute 4: Description

1.2 Methods  Method 1: Description  Method 2: Description  Method 3: Description  Method 4: Description 5.5 Database ER diagram

Figure (5.3) system ER diagram

Dr. Ahmed ElShafee, 2013, Graduation Project Template Page (24/55) 5.6 Hardware design & description

The second part of the proposed system design was the choosing of a suitable micro-controller The requirements for the micro-controller are; a RS232 port, a fair amount of output Digital I/O, and a reasonable speed Also a reasonable amount of EEPROM was needed to enables the system to store device status, and username and passwords related to login, so that data is not lost in the case of power outages.

Arduino is a readymade and open source evaluation Kit based on a 8-bit Atmel microcontroller. Arduino Microcontroller is the core of hardware interface module, which is responsible for exchanging data between the server and clients. Arduino communicate with WiFly module through RS232 protocol.

Figure (5.4) PCB layout 5.7 Technology constrains

The Proposed system is implemented using ASP, HTML and CSS. The server application is implemented in ASP.Net, and the embedded hardware interface application shall be implemented using C Processing Language.

State if the selected technologies limited or customized the features of the proposed system.

Dr. Ahmed ElShafee, 2013, Graduation Project Template Page (26/55) PartPart ThreeThree PrototypePrototype ImplementationImplementation Chapter 6: System Prototype Implementation In this chapter, the Implemented prototype of the project will be discussed briefly.

 System User manual  System Snapshots

Dr. Ahmed ElShafee, 2013, Graduation Project Template Page (28/55) 6.1 System User manual

1. Home Window

2 3

1

4

Figure (6.x) From the Home Window user can start shopping by clicking on CREATE LIST button to move to another window (Main Shopping Window) that will help user to create your shopping list.

1. Start shopping 2. Minimize the home page 3. Close application 4. Enter your username and password to log in 5 12 6 13

14 7 2. Main Shopping Window 8

9 0 15

10

11 16

Figure (6.x)

From the Main Shopping Window user can create his shopping list by selecting products from the shown list then add products to his shopping list (customer list). User also can search for products by its category, and he will able to remove products from his shopping list. When user select product from products list, he will able to see product description, picture and its price. User can determine the amount of products that he wishes to buy and the application will display the accumulated total price. By clicking on (done) button, user will move to another window (Shopping Map Window).

5. Amount of the selected product 6. Search product by category (e.g. coffee&tea, salt&spices ) 7. Products list 8. Add product to the customer shopping list 9. Remove product from the customer shopping list 10. Price of the selected product 11. Description of the selected product 12. Customer list 13. Amount of each selected product 14. To finish shopping and move to navigation window 15. Accumulated total price 16. Picture of the selected product

Dr. Ahmed ElShafee, 2013, Graduation Project Template Page (30/55) 6.2 System Snapshots

Figure (6.x) Receiving alret, checking for SMS, SMS not found in memeory location [01]

Figure (6.x) Receiving alret, checking for SMS, SMS found, failed authntication

Figure (6.x) Receiving alret, checking for SMS, SMS found, passed authntication Conclusions This paper proposes a low cost, secure, ubiquitously accessible, remotely controlled home automation solution. The approach discussed in the paper is novel and has achieved the target to control home appliances remotely using the SMS technology to connects system parts, satisfying user needs and requirements. SMS technology capable solution has proved to be controlled remotely, provide home security and is cost-effective as compared to the previously existing systems.

Hence author concludes that the required goals and objectives of home automation system have been achieved. The system design and architecture were discussed, and prototype presents the basic level of home appliance control and remote monitoring has been implemented. Finally, the proposed system has a better functionality and security features than the commercially available home automation systems.

Dr. Ahmed ElShafee, 2013, Graduation Project Template Page (32/55) References

[1] Sheikh Izzal Azid, Sushil Kumar, “Analysis and Performance of a Low Cost SMS Based Home Security System International Journal of Smart Home Vol. 5, No. 3, July, 2011, P 15. [2] Nadia Shaheen, Aihab Khan, Malik Sikander Hayat Khiyal and Qaiser Javed, "Home Automation Disaster Management System via SMS and GSM",JOURNAL OF COMPUTING, VOLUME 3, ISSUE 7, JULY 2011, ISSN 2151-9617, P 132 [3] A.J. Bernheim Brush, Bongshin Lee, Ratul Mahajan, Sharad Agarwal, Stefan Saroiu, and Colin Dixon, "Home Automation in the Wild: Challenges and Opportunities", CHI 2011, May 7–12, 2011, Vancouver, BC, Canada. [4] Dr Nizar Zarka, lyad Al Houshi, Mohanad Akhkobek,“Temperature control via sms”, Information and communication technologies (ICTTA), Volume2, pages 2678 – 2683, 2006. [5] K. Balasubramanian and A. Cellatoglu, “Analysis of Remote Control Techniques Employed in Home Automation and Security Systems”, IEEE Transactions on Consumer Electronics , Volume 55, pages 1401‐ 1407, Issue 3, August 2009. [6] [8]. Malik Sikandar Hayat Khiyal, Aihab Khan, and Erum Shehzadi “SMS Based Wireless Home Appliance Control System (HACS) for Automating Appliances and Security”, Issues in Informing Science and Information Technology Volume 6, pages 887‐ 894, 2009. [7] Malik Sikandar Hayat Khiyal, Aihab Khan, and Erum Shehzadi Software Engineering Dept., Fatima Jinnah Women University, Rawalpindi, Pakistan, "SMS Based Wireless Home Appliance Control System (HACS) for Automating Appliances and Security", Issues in Informing Science and Information Technology Volume 6, 2009 [8] Veselin Obradovc, Jovo Karišik, & Borislav Odadžc, "Wireless communication with intelligent buildings using GSM network", 15th Telecommunications forum TELFOR 2007 Serbia, Belgrade, November 20- 22, 2007. Appendix 1: System Software Code

Dr. Ahmed ElShafee, 2013, Graduation Project Template Page (34/55) Appendix 2: System Hardware components

Recommended publications