Final Project

advertisement
Final Project
CS-421 section 002/3- Spring 2006
Final Project
Dr Ali Obaidi
Aviation Data Analysis
General Purpose:
Aviation Data Analysis Corp (ADAC) is a company that provides daily analysis of aviation data
to the aviation community. ADAC receives periodic data from various sources. Using the data,
ADAC produces daily analysis reports; then shares them with the aviation community.
Currently, ADAC has one department that both receives and analyzes the data. They wish to
split this department into two. The new proposed department will be responsible for receiving
the data; where the old department will be in charge of analyzing the data. For the new
department, the company wishes to hire a team of 5 or 6 software developers. The new
department responsibility will be to provide a timely, accurate, and easy-to-use data for the old
department.
Description:
The new department will determine the challenges that aviation analysts face and act upon them.
One of the main targets the new department decided to do in order to achieve these requirements
is to build a central data repository system to store all the necessary raw aviation data in a
database and provide easy access and intelligent interface for the analysts to acquire the data.
The raw aviation data is coming from different outside resources. Part of the analyst’s job is to
identify the needed data and ask the new department team to add it to the list of current available
data sets.
What you need to do?
The project will be divided into phases. After the successful completion of three or four phases,
a demo of the progress will be required (as indicated in the tentative schedule on the website).
All will be required to give and attend these demos. Below are the phases (more phases will be
added incrementally):
Phase 1
Step 1 Study the requirements above and write down questions that
 the new team should ask the analysts (from old department)
 the analysts should ask the team
© Dr Ali Obaidi
1
Ch. 1 & 2
Final Project
CS-421 section 002/3- Spring 2006

Step 2
Step 1
Step 2
Step 1
Step 1
Step 1
the analysts should ask about the software product that is to be
built
 the team should ask themselves about the software product that
is going to be built
Identify all the processes that are going to be built as part of the
above requirements
Phase 2
Provide a comparative study of applying the following prescriptive
models on your design. You study should takes into account the
assumptions that you have done in phase I above:
1. Waterfall model
2. Incremental process model
3. RAD model
4. Prototyping
5. Spiral
Your study should include the advantages and disadvantages for
each process flow and the impact of your choice on speed and
quality
Arrange 30 min meeting with your customer to elicit his
requirements. Email your customer at the following address
(aobaidi@gmu.edu). Please indicate your group number, the name
of the facilitator for the meeting and the available dates and times. If
arrangement can not be made in person (preferable), then a
telephone conference meeting may be arranged.
The outcome of the meeting should be fully documented.
Phase 3
Please download the zip file CS421.zip. The zip file contains the
schema design for two data sets: oooi and ncwd (file cs421.sql), the
data for the two data sets (oooi and ncwd txt files) and the data
loading procedures (oooi and ncwd ctl files).
During the next class, I will explain the procedure for constructing
the database in greater details.
Phase 4
Mid term – You need to provide
1. A maximum of five slides to explain the project phases
2. I may choose any member from a group to present the slides
or I may choose more than one member
3. Full documentation on phases one, two and three. Do not
forget to include a copy of the presentation slides
4. This is a 20 percent of your final grade. Five percent will be
given to presentation and slides and 15 percent to the
organization and content of your report.
5. All must attend. No excuses.
Phase 5
Identify a set of common process. The customer provides the list of
processes and your job is to document them in more details
© Dr Ali Obaidi
2
Ch. 1 & 2
Ch. 3 & 4
Ch 5
Ch 7,8
Final Project
CS-421 section 002/3- Spring 2006
Answer the following questions on each process:
a. Name of activity you are responsible for (e.g. New
capability process):
b.
c.
Does activity currently exist [Yes/No]:
d.
Identify when activity ends: Example: when the new
feature is deployed, tested and released
e.
Specify work areas that this activity spans [management,
planning, development, testing, architecture, customer
relation, process improvements, configuration
management, quality assurance, other]:
f.
List the inputs to this activity (in an ordered list i.e. 1., 2.,
etc) :
g.
List the outputs from this activity (in an ordered list i.e. 1.,
2., etc):
h.
How often does this activity occur[once, on going, as
needed, daily, weekly , monthly, upon request]:
i.
List any tools used to aid in this activity such as HW, SW
and/or resources. Examples: cvs, Msoffice, UML:
j.
Rank the process(es) you are following for this activity[add
hoc, well defined, well defined and documented, well
defined and measurable]:
k.
Describe the level of impact of activity on
Management/Developers and customers[high, medium, low,
variable, none]:
l.
Is this survey completed[Yes/No]:
List triggers for this activity (entry point) in an ordered list
(i.e. 1., 2., etc): Examples: request for a new feature
Process list:
1. New capability to
a) Obtain, store and track request for new feature
b) Gather and store requirements for new feature
c) Implement new feature or capability
Example of a capability is new dataset, adding new feature to
existing one, new web page, etc
2. Bug fixes
a. Initiate a bug
b. Assign bugs to developers
c. Implementing a fix for a bug
d. Close a bug
3. Data loading – management and reporting
a. Managing daily loads
b. Daily data acquisition reports
4. System metrics
a. Monthly downtimes
b. Daily loads
c. Monthly trends
d. Usage
© Dr Ali Obaidi
3
Final Project
CS-421 section 002/3- Spring 2006
Example is distinct users based on time of day or week or
month etc. Machines downtime, system downtime (e.g. web
server, Oracle server).
5. Software release
a. Announcing the release
b. Regression testing
i. Development system
ii. Production system
c. Configuration management and tagging
6. Backups and restore
a. Backup the system
i. Database level
ii. OS level
b. Restore procedure when necessary
i. Database Level
ii. OS level
7. Training plans for customers and new developers
a. Instructor led training
b. Help menus
c. Other training and seminars
Step 2 Draw swim lane diagram for each of the processes above indicating
the stakeholders, the activities and the time span.
Phase 6
Step 1 This phase will demonstrate an added feature to your system. We
would like to enhance the OOOI data by creating a new table from
current oooi_common_stage table. The new table has the following
fields
OOOIDATAID[link it to the oooidataid from oooistage table]
GMTDATE [date format],
TAXIOUTTIME [offtime – outtime] in minutes,
TAXIINTIME [intime-ontime] in minutes,
AIRBORNETIME [ontime – offtime],
BLOCKTIME [ sum of [TAXIOUTTIME, TAXIINTIME, AIRBORNETIME]
To create the table use the following command
CREATE TABLE OOOIfinal (
OOOIDATAID NUMBER(16) PRIMARY KEY
GMTDATE
DATE,
TAXIOUTTIME
number,
TAXIINTIME
number,
AIRBORNETIME number,
BLOCKTIME
number
);
© Dr Ali Obaidi
4
NOT NULL,
Final Project
CS-421 section 002/3- Spring 2006
In order to populate the new table use the following
Insert into oooifinal
Select oooidataid, to_date(gmtdate,'YYYYMMDD'), (to_date(gmtdate||offtime,'YYYYMMDDHH24MI')to_date(gmtdate||outtime,'YYYYMMDDHH24MI'))*24*60,
(to_date(gmtdate||intime,'YYYYMMDDHH24MI')- to_date(gmtdate||ontime,'YYYYMMDDHH24MI'))*24*60,
(to_date(gmtdate||ontime,'YYYYMMDDHH24MI')- to_date(gmtdate||offtime,'YYYYMMDDHH24MI'))*24*60,
(to_date(gmtdate||ontime,'YYYYMMDDHH24MI')- to_date(gmtdate||outtime,'YYYYMMDDHH24MI'))*24*60
From oooi_common_stage
Where substr(offtime,1,1)<>'*' and substr(outtime,1,1)<> '*' and substr(ontime,1,1) <>'*' and substr(intime,1,1)<> '*';
Phase 7
Step 1
1. Goto OPENSVN.csie.org
2. Under the “Create a New Project” tab, fill in the “Project
Name”, “Email” and “Another Email”. Make sure to allow
anonymous checkout then click the “GO!” button
3. You will receive an email that will confirm your project
name. The email contains your project password too.
4. The repository will take around six hours to be created. Once
created goto OPENSVN.csie.org and click on the “Manage
Your Project” tab.
a. Insert project name
b. Insert your password
c. Click on the “Login” button
5. Click on “Access Control” tab and create new users for your
self and the rest of your project team. All team members will
receive a notification of the new username and password.
6. At this stage you have completely created your configuration
management repository.
7. DO NOT proceed to item 8 unless you have finished all the
above items.
8. Go to tortoisesvn.tigris.org
9. On the left hand side under “project tools” click download.
You will see a table. On row three under “Version 1.3. for
win2k/XP or higher click “Dowbload Page” link.
10. Download the subversion (tortoisesvn-1.3.36219-svn1.3.1.msi) and save the file on your hard disk
11. Run the file and follow the instruction.
12. Restart your computer.
Step 2
1. Create a new folder on your desktop and give it a name (e.g.
ADAC)
2. Open the new folder (ADAC)
3. Create a directory structure for all the project files. For
example, lets say your files are classified into database files,
documentation, front end files and common files.
a. Database: you can have subdirectories such as
i. Bin: to hold binaries. For example a shell
script that control the loading
© Dr Ali Obaidi
5
Final Project
CS-421 section 002/3- Spring 2006
ii. Ctl: control files etc..
b. Documentations: you can have subdirectories such as
i. Process: to hold process documentation
ii. Operation: to hold operational manual etc.
c. Front end files: you can have subdirectories to hold
your web server docs
d. Common files: such files that are common like
cronjobs etc..
4. Once your directory structure is completed, transfer all your
project files to the appropriate directories.
5. Go to the top directories on your new folder (e.g. ADAC)
and click the right hand mouse button.
6. Click on “SVN Checkout”
7. On the dialogue box insert your URL for the repository. The
URL should be something like
http://OpenSVN.csie.org/<yourprojectname> . click OK
8. Now you can commit your directories into the repository by
highlighting all the directories on your ADAC folder and
then click the right hand mouse button and choose SVN
Commit
9. Once this is done, go to your project repository and check
that all files are committed.
10. After that you can update and commit any new files.
Rules
1. The project is implemented in teams of 5 or 6 students
2. Use GMU ORACLE server only
3. The project should have a front page and include your names, student numbers and the
following statement:
HONOR CODE PLEDGE: "On my honor I have neither given nor received aid on this report"
Signature:
© Dr Ali Obaidi
__________________________________
6
Download