capstone project proposal -...
TRANSCRIPT
T.C.BAHÇEŞEHİR UNIVERSITY
FACULTY OF ENGINEERING AND NATURAL SCIENCES
DEPARTMENT OF SOFTWARE ENGINEERING
THE TITLE OF THE GRADUATION PROJECTGOES HERE ALL IN CAPITAL LETTERS
Capstone Project
The Name of the Student Goes Here,
In Alphabetical Order by Surname,
Capitalize The First Letters Only
Advisor: Your Advisor’s Name Goes Here (e.g. Asst. Prof. ...)
İSTANBUL, December 2017
i
STUDENT DECLARATION
By submitting this report, as partial fulfillment of the requirements of SEN4999, the student promises on penalty of failure of SEN4999 that
they have given credit to and declared (by citation), any work that is not their own (e.g. parts of the report that is copied/pasted from the Internet, design or construction performed by another person, etc.);
they have not receive unpermitted aid for the project design, construction, report or presentation;
they have not falsely assigned credit for work to another student in the group, and not taken credit for work done by another student in the group.
ii
ABSTRACT
THE TITLE OF THE PROJECT GOES HERE
Your Name in alphabetical order by surname
Faculty of Engineering and Natural SciencesDepartment of Software Engineering
Advisor: Your Adviser Title and Name
December, 2017
The purpose of an abstract is to allow the reader to quickly review the work allowing them to decide whether it is of further interest to read. For SEN4999 this may be someone in the future looking for a project that is of interest to them. Also this will be the first time your second assessor will be reading about your project and so the abstract will be an opportunity for them to get a general understanding of the scope and results of the project before reading the report in detail.
The abstract should be a self-contained statement containing the purpose, methods, scope, and general content. At the end of the abstract, briefly state the results of the project including validation, and the main successes and failures.
Although the abstract appears at the beginning of the report, it should be prepared after all other sections have been written. The length of the abstract should be about the same as that presented to you here; it should be longer than half, but not more than twice. Consider all the above advice when writing the abstract.
Key Words: mobile learning, mobile technology, e-learning, mobile devices
iii
TABLE OF CONTENTS (right-click an selected "Update Field")
ABSTRACT...............................................................................................................................ii
TABLE OF CONTENTS (right-click an selected "Update Field")..........................................iii
LIST OF TABLES (right-click an selected "Update Field")......................................................v
LIST OF FIGURES (right-click an selected "Update Field")....................................................v
LIST OF ABBREVIATIONS...................................................................................................iii
LIST OF CONVENTIONS.......................................................................................................iv
1. INTRODUCTION..................................................................................................................1
1.1. Description of the Project...........................................................................................1
1.2. Literature Review........................................................................................................1
1.3. Goals and Scope of the Software Product...................................................................2
2. TECHNICAL CONSIDERATIONS......................................................................................2
2.1. Software Product Perspective.....................................................................................2
2.2. Software Product Functions........................................................................................2
2.3. User Classes and Characteristics................................................................................2
2.4. Operating Environment...............................................................................................3
2.5 Design and Implementation Constraints......................................................................3
2.6 Assumptions and Dependencies..................................................................................4
3. EXTERNAL INTERFACE REQUIREMENTS.....................................................................5
3.1. User Interfaces............................................................................................................5
3.2. Hardware Interfaces....................................................................................................5
3.3. Software Interfaces.....................................................................................................5
3.4. Communication Interfaces..........................................................................................5
4. FUNCTIONAL REQUIREMENTS.......................................................................................6
4.1. User Requirements......................................................................................................6
4.1.1. Use Case Scenarios............................................................................................6
4.1.1.1. Use Case Scenario for the System Login..........................................................6
4.1.2. Use Case Diagram..............................................................................................6
4.1.3. Process Diagram................................................................................................7
4.1.4. Sequence Diagrams............................................................................................8
4.1.4.1. Sequence Diagram for Content Function..........................................................9
4.1.5. Data Flow Diagram............................................................................................9
iv
4.1.6. Design/Block Diagram.....................................................................................10
4.1.7. Object Diagram................................................................................................11
4.1.8. Class Diagram..................................................................................................12
4.2. System Requirements................................................................................................13
4.2.1. Functional Requirements.................................................................................14
4.2.2. Behaviors of the System..................................................................................14
4.2.3. Attributes of the System...................................................................................14
5. DESIGN OF INTERFACES.................................................................................................16
5.1. Login Screen.............................................................................................................16
6. CONCLUSION.....................................................................................................................17
REFERENCES.........................................................................................................................18
APPENDIX / CODE EXPLANATIONS.................................................................................19
v
LIST OF TABLES (right-click an selected "Update Field")
Table 4-1. List of behaviors contained in this project...................................................14
LIST OF FIGURES (right-click an selected "Update Field")
Figure 1. Notation of Use Case Diagram.......................................................................iv
Figure 2-1. The pie chart of Android devices that have accessed...................................3
Figure 4-1. Use case diagram of M-learning System......................................................7
vi
LIST OF ABBREVIATIONS
Word to be defined Write the definition here. Do not put new lines here since the text will automatically wrap appropriately. When you are done with the definition, hit a new line and the appropriate space for the next definition will be inserted
Another word Remember to use a tab between the abbreviations and the definitions
Note The style for the list of abbreviations is “Abbreviation_Style”. The paragraphs are single-spaced, and there is one empty line between paragraphs. Examples are given below.
IoT Internet of Things
M2M Machine-to-Machine
IEEE The Institute of Electrical and Electronics Engineers
TTS It is called text-to-speech.
SOAP It is defined Simple Object Access Protocol. It is a simple XML-based protocol to let applications exchange information over HTTP (http://www.w3schools.com/soap/default.asp).
HTTP The Hypertext Transfer Protocol (HTTP) is a networking protocol for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web (http://en.wikipedia.org/wiki/Hypertext_ Transfer_Protocol).
7
1. INTRODUCTION
Before the subsections begin, you should introduce the general subject, describe the
problem that you are going to solve and argue why it is important. Introduce the project
members and briefly describe their roles. Include special information about, for example, a
group member being a member of another department, explain why they are included in this
project. Disclose any special external aid you received, such as special fabrication facilities.
PLEASE READ THE EXPLANATIONS GIVEN IN THE SEN4999 LECTURE
TITLED "Preparing the Project Report".
Note that this templete presents you with all the heading and sections that represent a
minimum requirement for the project proposal. Your adviser may require additional sections.
Also note that the headings and capstions are all styled such that they are automatically
included in the TABLE OF CONTENTS on page ii and is the LIST OF TABLES/FIGURES
on page iii. If you break the formatting then you will create a lot of formatting work for your
self :-(
1.1. Description of the Project
Describe the project as originally defined by the adviser (the brief project description
is on the course website). Include the extra details you obtained from discussions with your
adviser. If you need, include figures.
1.2. Literature Review
You should have by now performed a literature review. Explain in this section what
similar products are in the public domain and how your product will differ from them and
why. Described relevant technologies and methods. Finally briefly describe in what way your
product could benefit society.
Include references to other work and data like this. Reference [1] states that a base
station’s power consumption can be divided into four main parts: power amplifier (including
feeder) consumption, air conditioning consumption, signal processing (analogue + digital) and
power supply. Bees are flying insects closely related to wasps and ants, known for their role
in pollination and, in the case of the best-known bee species, the European honey bee, for
producing honey and beeswax [2].
1
1.3. Goals and Scope of the Software Product
It is important to be realistic in your project goals. For example you may want to have
a fully functional robot, but realistically you may expect only to have an arm with two degrees
of freedom of movement. Describe what you expect your final product will be in terms of
form and function. This should be in agreement with the project description. At the end of the
course the assessors will be comparing your product with this statement!.
2. TECHNICAL CONSIDERATIONS
2.1. Software Product Perspective
Describe limitiations that affect the goals of your project. This can include limitations
in know-how, time and budget. Suggest additional attainable resources that could improve
your product.
2.2. Software Product Functions
Describe the Software Product Functions. Compare the relative benefits of alternative
solutions.
2.3. User Classes and Characteristics
At the beginning, there are two types of user classes which are in Bahçeşehir
University:
• Engineering Students
• Instructors
Instructors have some privileges when using of the system, because they can put
exams, tests, practices, assignments, etc. about content of the lessons and open new
discussions topic to have different thoughts for students. Instructors will decide who can use
system, because anyone does not responsible to take the lessons.
Most important user class is the students, because scope of the system is based on
learning, so the students have important role to decide the system is successful or not. When
the students use the system, they can access contents of the course, evaluate own success, use
media components to learn subjects of the course easily and ask questions to the instructor
who is responsible for the course.
2
2.4. Operating Environment
For first of the system, it will be operated just the phones or tablet PCs use “Android
Operating System”. According to Table 2-1 and Figure 2-1, 96.7% of people who have
Android Devices, Android 2.1 and higher, so the system will be created Android 2.1 platform.
Table 2 1. The number of Android devices that have accessed Android Market within
a 14-day period ending on August 1, 2011.
Platform DistributionAndroid 1.5 1.3%Android 1.6 2.0%Android 2.1 15.2%Android 2.2 55.9%Android 2.3 –Android 2.3.2
0.6%
Android 2.3.3 –Android 2.3.4
23.7%
Android 3.0 0.4%Android 3.1 0.7%Android 3.2 0.2%
Figure 2-2. The pie chart of Android devices that have accessed
2.5 Design and Implementation Constraints
Describe the Design and Implementation Constraints of your product and how you
will verify that they have been addressed.
Software implementation platform with Eclipse IDE
Software implementation with Java Programming Language and Android SDK
3
Macromedia Flash
Android Device and Android Virtual Device (emulator) which supports TTS (text-
to-speech)
Material of History of Civilization in Bahçeşehir University Software Engineering
Department E-learning Web Site (PABOLS)
Database Management System
Diagrams with Microsoft Visio 2010
2.6 Assumptions and Dependencies
For using the system, the students must have anything has Android OS for first version
and the device must connect internet with 3G or Wi-Fi. The system will be created for
learning of History of Civilization Bahçeşehir University Engineering Faculty and the content
of the course is ready and already used in the e-learning system. The content will be used in
the mobile learning system. It is expected that following of the course will increase by the
students, because of independently of the time and place.
4
3. EXTERNAL INTERFACE REQUIREMENTS
3.1. User Interfaces
For user interface design of the system, there are six principles of user interface design
which are written by Constantine and Lockwood [4]. These principles are:
The Structure Principles
The Simplify Principles
The Visibility Principles
The Feedback Principles
The Tolerance Principles
The Reuse Principles
When the user interface is designed, the principles are considered to increase using of
the system. There are four main functions in the system, and these are on screen as tab-menu,
so user can access quickly whatever he/she needs. The tab style design is so meaningful for
software architecture and usability of the system; it is so simple and useful for the user.
3.2. Hardware Interfaces
There are some constraints for using the system, because mobile devices will be used
and they have limited screen, memory and wireless connection. The user interface will be
designed small screen that the mobile device has, and to decrease of using memory and to use
efficiently the memory, it is necessary that content of the system which is wanted by the users
will load the device. To use TTS (text-to-speech) mode, selected device must support TTS,
but this can be ignored, because there are too few devices in the market.
3.3. Software Interfaces
Database of the e-learning system will be used by the system for not only content but
also login the system and warning massages.
3.4. Communication Interfaces
HTTP will be used to communicate with the server for the content and login, and
according to logic of Web Service technology, SOAP objects will be used data transfers
between device and the server, so the system will provide synchronization.
5
4. FUNCTIONAL REQUIREMENTS
4.1. User Requirements
In this part, there are eight subtitles for explanations of user requirements. First of all,
use case scenarios for users are clarified step by step, and then there are seven diagrams are
drawn for more clear to understand of the software product.
4.1.1. Use Case Scenarios
Describe your use cases for each functionality. There might be several use case
scenarios. You may use the following case as an example.
4.1.1.1. Use Case Scenario for the System Login
1. User opens the application.
2. User enters the username and password.
3. System verifies that username and password are valid.
4. User logins the system.
Variations: Invalid username or password
At step 2, user enters invalid username or password.
3. The system informs the user that username or password is invalid.
The scenario goes back to step 2.
4.1.2. Use Case Diagram
Use case diagram which is below, is drawn for modeling of use case scenarios in
specific format. This diagram includes three actors to use system, these are user (student who
takes the course), instructor (who is responsible for the course) and server (which there are
every data in). Every actor has different roles and use case when using the system. On the
system, instructor has less and simple use cases, on the other hand, server have important role
in spite of having less use cases, too. If any trouble occurred on server-side, the system could
become out of order, of course, precaution will be taken. The most important role belongs to
user, its modeling was drawn in three steps, because login to system, selecting process and
selecting sub process are followed by the user respectively.
6
Figure 4-3. Use case diagram of M-learning System
4.1.3. Process Diagram
There are four main functions in system, and these functions have different sub
functions.
The processes were pictured as below, first diamond makes decision, the others have
more than one options, every options mean new process and all of them are drawn below.
7
Figure 4-2. Process diagram of M-learning System
4.1.4. Sequence Diagrams
In this part, describe sequence diagrams that are prepared according to use case
scenarios. Draw each sequence diagram for each main function. There might be several
sequence diagrams for your product. You may use the following section as an example.
8
4.1.4.1. Sequence Diagram for Content Function
During using of Content, the user has two options to follow the content. The user
whether read or listen content of the course. After data loading to the device finished, keeping
log on server-side also finished, the process is performed by the system. If listening option is
selected, TTS mode could be put into use. During this process instructor does not have any
role.
Figure 4-3. Sequence diagram of Content Function
4.1.5. Data Flow Diagram
There is data flow diagram under this topic and the project is developed as four main
functions. In despite of that reason, logic of the system is same for all functions. After the user
login the system, he/she makes choices and related data are loaded to device and the user uses
them, on server side, when the user decides what he/she wants to do, the server keeps logs
automatically. Because of this, there is only one data flow diagram for the system.
9
Figure 4-9. Data flow diagram of M-learning System
4.1.6. Design/Block Diagram
In this diagram, there are processes when the application is used for the all actors.
Every line has been written to explain relationship with the processes and the actors. All of
ellipses model a process which can be done by the actors. For all that the diagram is seen
complicated; it is so simple to understand actually. When all lines are followed, it is
understandable that which process can be done by which actor.
10
Figure 4-10. Design/Block diagram of M-learning System
4.1.7. Object Diagram
On the object diagram, it is modeled relationship between instance of an object and
real class of the object and it can be declared name of the instance. It is easy that a part of the
project can be drawn and then names of the instances are named, but when whole project is
drawn, it cannot be named. On the other hand, it must be done that attributes and behaviors
are shown. Cranafield and Purvis [5] defined object diagram as:
11
Figure 4-11. Object diagram of M-learning System
4.1.8. Class Diagram
There are specific eleven classes which are created during developing phase. For first
version of M-learning System, one course material will be used. After first version, it is
expected that the number of the courses will increase, but the largely of diagram will not be
change, because architecture of the system is designed according to future of the system.
12
Figure 4-12. Class diagram of M-learning System
4.2. System Requirements
In this part, there are functional requirements of the system, behaviors and attributes of
specific objects which are developed for reacting speed of the system.
13
4.2.1. Functional Requirements
It is listed that, any actor in the m-learning system what can do.
A way in which the user (the students) can login the system.
The system can send the user info to the server.
The system can show error messages, according to response of the server.
The server can validate user info.
etc.
4.2.2. Behaviors of the System
Table 4-1. List of behaviors contained in this project
Object Name Name of Behavior Description of Behavior
Student
getMessages() Returns all massages of the user (both of sent and replied).
sendMessages(Message) Takes a parameter that is Message type, the parameter is send to the services, if the result is successful, it returns true, else not.
UsergetUsername() Returns entered username.getPassword() Returns entered password.isLogin() Returns result of login
process.
Exam
nextQuestion(int) Takes an integer. Returns a data which is created from Question data type and is next question.
previousQuestion(int) Takes an integer. Returns a data which is created from Question data type and is next question.
Activity getResult() Returns result (double) of the activity.
getActivityId() Returns a long belongs to activity.
4.2.3. Attributes of the System
Table 4-2. List of attributes contained in this project
Object Name Name of Attribute Description of Attributeuser_id Equals id of the user.
14
User
user_name Equals name of the user.user_surname Equals surname of the user.username Equals username of the
user.password Equals password of the
user.email Equals email address of the
user.
Student
activity If the user selects exams or practices this attribute is implemented, and keeps information of the activity.
messages Consists the messages as ArrayList type.
media Keeps information of media object as Media type.
Question question_id Refers to id of the question as long type.
question Equals question sentence as String type.
options Consists from options of the questions as ArrayList type.
correctAnswer Lists correct answer of the question as String type.
15
5. DESIGN OF INTERFACES
In this section, provide the “User Interfaces” in your product and describe the
functionality of each user interface in detail. You may use the following screen as an example.
5.1. Login Screen
When the application is opened, this screen will come to the screen firstly. On top of
the screen, there is a header which has welcome message. Under the message, two text
Figure 5-1. Login Screen of the Application
boxes and one login button exist. If username and password have not been entered and the
button has been pushed, the system could show error message that is “Please enter all
information.” If all fields are entered, the application calls responsible services and controls
the login info. In case of entering true info, main page of the system will be shown. If the
username does not match with password, then the system gives error messages and the login
screen is also shown.
16
6. CONCLUSION
The conclusion should be a short statement about the successes and failures of the
project, plans or suggestions for how the project can be improved or continued further, and a
brief statement about what new skills and understanding you have learned from performing
the project.
17
REFERENCES
1. Conley, TG & Galeson, DW 1998, 'Nativity and wealth in mid-nineteenth century
cities', Journal of Economic History, vol. 58, no. 2, pp. 468-493.
2. Wikipedia, Bee, Available from: <https://en.wikipedia.org/wiki/Bee> [21 February
2016]
3. National Safety Council, Defensive Driver Safety Training, Available from
<http://www.nsc.org/learn/Safety-Training/Pages/defensive-driving-driver-safety-
training.aspx> [23 February 2016]
18
APPENDIX / CODE EXPLANATIONS
In the appendix, you may add your code and detailed code explanations.
import java.util.Locale;import android.app.Activity;import android.content.Intent;import android.database.DataSetObserver;import android.os.Bundle;import android.speech.tts.TextToSpeech;import android.speech.tts.TextToS
public class Content extends Activity implements OnClickListener, OnInitListener{
private Spinner sp;private Button btn_back;private Button btn_home;private Button btn_tts;private ArrayAdapter<CharSequence> adapter;private TextView tv_contenDetail;private TextToSpeech tts;private String[] chapterContents;
@Overrideprotected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);setContentView(R.layout.content);
TextView tv_header = (TextView)findViewById(R.id.tv_header);
tv_header.setText(getIntent().getStringExtra("title"));
init();}
19