Upload
chester-webb
View
216
Download
0
Tags:
Embed Size (px)
Citation preview
WEP Presentationfor non-IT
2
1. Steps and roles in software development2. Skills developed in 1st year3. What can do a student in 1st internship4. Skills developed in 2nd year5. What can do a student in 2nd internship6. Difficulties the students meet7. What they usually like the most8. Comparison with previous batches
Agenda
3
Development
Software Development
Customer: express his needs
Analyst: specify functional requirement
Architect: design a technical solution
Developer 1: Develop part 1 of the solution
Developer: integrate
Tester: test functionalities / usability
Customer: acceptance
tests
Developer n: Develop part n of the solution
Developer 1: Test part 1 of the solution
Developer n: Test part n of the solution
4
• Learn basis of programming and algorithms– C Language
• Learn how to do a basic web page– HTML / CSS– Design with Photoshop and Flash
• Learn what is DataBase and how to use• Learn the different steps of a development project
– Basic of analysis– Functional tests
• Develop students’ autonomy: Self-learning– Critical quality for a developer
First Year
5
• Learn basis of programming and algorithmsC Language– Can do:
Can do small and medium application with C language Understand clearly with algorithms to deal with problem
– Difficulties: Don’t understand with C language The first programing language to learn.
First Year
6
• Learn how to do a basic web page– HTML / CSS– Design with Photoshop and Flash– HTML :
Create static website/ web template Edit template (UI) for customer Create with standard HTML code Example: http://soungeng.zzl.org/
– Photoshop and FlashCan do with Photoshop Designing template, banner, label, logo, leaflet , broacher,…Can do with Flash Flash banner, logo animation, welcome page animation,
advertising block in web,...
First Year
7
• Learn what is DataBase and how to use
• What is a DataBase ?– Used to store data from applications– Example: A forum
When a user post a message, we need to store it Need to retrieve the messages to display to the users The application needs also to store users’ information (login,
password, nickname, photo…)
– Advantages Storing and retrieving data may be complex, so it is difficult
to do it by ourselves A DataBase do it with good performance A DataBase can be accessed by multiple users
First Year
8
• What a student can do with Database ? Analysis database with ER modeling Create small and medium database system Can covert from physical to logical database, and logical to
physical database. Create application with VBA language.
First Year
9
• Learn the different steps of a development project– Basic of analysis– Functional tests
They will be a tester or user that use the black box system to find the bug or error.
Report bug error to developer or manager. Use the document testing to test by follow stops
First Year
10
• Develop students’ autonomy: Self-learning– Critical quality for a developer
Technology is evolving quickly When we develop a web site or an application, we do not do
everything, instead we use things developed by other people A developer must be able to quickly learn how to use it With Internet many things are shared, and the things a company is using
change often from one company to another A developer does not need to know all technologies (there
are so many..), but he must be able to learn a new one easily
First Year
11
• Learn basis of programming and algorithms– C Language
• Learn how to do a basic web page– HTML / CSS– Design with Photoshop and Flash
• Learn what is DataBase and how to use• Learn the different steps of a development project
– Basic of analysis– Functional tests
• Develop students’ autonomy: Self-learning– Critical quality for a developer
First Year
12
• What a student can do during his 1rst internship ?
Apps with access (VBA) Small apps with C programming Tester & bugging report Design template Web page with animation problem solving Prototype graphic diagram Database analysis
First Year
13
• Continue do develop student’s autonomy
• Learn about tools we use to work in team
• Learn Object-Oriented programming with Java
• Learn several technologies to build web sites or web applications
• Virtual Company
Second Year
14
• Learn about tools we use to work in team
– Eclipse and Visual Studio Programming application
– Bug Tracking System Used to follow issues between customer/tester/developer Similar to HelpDesk
– SVN: Version Control System Used when several developers are working on the same files
Second Year
15
• Learn Object-Oriented programming with Java
– Explaining what is OOP is out of scope of this presentation– Why Java ?
Widely used to develop desktop applications, but can also be used for web development
Easy language to learn OOP
– Why to learn OOP ? Almost all the recent languages are OOP
16
• Learn several technologies to build web sites or web applications
• A web application is usually composed of 3 elements:
Second Year
Client(like FireFox)
Server DataBase
Store and retrieve dataAsk for web pages
17
• Client: Language HTML– All web pages are using HTML– Basic scenario:
You go to a web site FireFox asks the server for the HTML file of the web site FireFox displays the page You click on a link FireFox asks the server for the HTML file corresponding to
the link …
Second Year
18
• Client: Language JavaScript– In previous scenario, each time the user does
an action, the browser asks the server for a new page
– New scenario: you are on cistrain.org and you put the mouse on a menu, the menu is displayed
In this case, if the browser asks a newpage it will be very slow and not nicefor the user
For this we need to modify the web page directly in the browser, withoutinteraction with the server
This is done with JavaScript JavaScript program can be embedded in HTML page
Second Year
19
• Client: Language JavaScript– Because we don’t want to do the same things
all the time, we use frameworks containingprograms to do common things
Display a menu Display a popup window …
– Our students learn the framework JQuery Widely used
Second Year
20
• Server– In previous scenario, the server only stores
HTML files, and send them to the client on demand It means the web page is always the same
– Very often, the content of a web page depends on several parameters:
The access rights of a user In a forum, a user which is not logged can see the messages, but not
post a new message Data
In a forum home page, the content of the page contains all the discussions, so each time a new discussion is started the content of the page changed
– This is why we need, on the server side, to build web pages depending on the different parameters
Second Year
21
• Server– It means, on the server, we do not have web pages
directly stored, but for each page we have a smallprogram capable to create the web page
– Those programs can access to a DataBase to retrieve data and use them in the web page
– Different languages PHP: free, widely used because simple, efficient and do not
need to install a lot of things to work ASP.NET: licensed, more complex, more adapted for large
applications, better performance JSP: works with Java language, usually used when the server
works with Java applications
Second Year
22
• Server: what can do our students ?– Develop web sites or web applications with PHP
and MySQL DataBase
They can develop dynamic website/web apps connect with MySQL database, for several kind of website such as personal web, form web entertainment web, web apps, etc..
Ex: http://icommunity.t15.org create by Mr. Ekk sangha
Second Year
23
• Server: what can do our students ?– Develop web applications with ASP.NET and C#
Dynamic website or desktop apps that use asp.net with C# connection with database Ms SQL server.
Second Year
24
• Server: what can do our students ?– Develop web sites with CMS– What is CMS ?
Content Management System Students know Joomla and WordPress
Widely used, they are using PHP language
Ex: –Student develop website in high level like create component, module, template– Deployment and configuration
Second Year
25
• Virtual Company– Group exercise: very important to work in team
Use tools Experiment repartition of tasks Evaluation of the time needed to do a task
– With virtual customer Experiment relation with customer
How to explain technical choices How to explain what is possible/not possible with allocated time How to make the customer happy
– Learn by doing mistakes The goal of this exercise is not that everything is going well We want students make mistakes
– Presentation at the end of the project
26
• What a student can do during 2nd internship ?– Create web dynamic and standard UI (PHP, C#.Net, …)– CMS development (Joomla, Wordpress, Typo3…)– Tool for development in term (SVN…)– Self learning skill– Software development lifecycle– Web/Apps designing UI– Web animation– Desktop Apps, Mobile apps
27
• Difficulties:– Communication– Learning New technology– Problem solving– Networking skill– No job to do
Difficulties the students meet
Copyright © 2007 - CIST 28
What they usually like the most
• What they like:– Web apps than desktop apps– Web developer with CMS– Developer and tester
29
• Comparison with previous batches we found that it need far different to each other. For the new generation not so many problem with new technology when they go to company.
Comparison with previous batches