Sei sulla pagina 1di 21

TME3413

Software
Engineering Lab

Team work &


project
management
Topics
 Introduction
 Method
 Team Work and
Project Management
 Project Resources and
Communications
 Project Web Site and
Web Log (Blog)
 Useful
Introduction (cont…)
 purpose of the course project is to provide the
students with the knowledge of software engineering
methodology and the skills to apply it.
 The particular project is not the goal in itself; rather, it
serves as a vehicle to apply your knowledge and to
develop the skills.
 Projects also introduce students to teamwork, which is
unavoidable for large-scale software development.
 Teamwork has positive and negative aspects, and a
familiarizing yourself with both helps you get ready for
your future workplace.
Introduction
 There
are many challenges to good
teamwork:
 time coordination;
 building on each others strengths
 compensating for weaknesses;
 reconciling different working styles, preferences,
and levels of motivation; etc.
Method (cont…)
 This project consists of two phases of a
software product.
 The first cycle is exploratory and represents the
first attempt at developing the proposed
software product.
 The deliverables for the first phase are reports 1
and demo 1.
 After these, the instructors will provide
feedback and the students should reconsider
and possibly revise the project goals before
moving on to the second phase.
Method
Team Work and Project Management
 Each team consists of 6v- 7 students
 All teams work on a different projects.
 Team work is required since team work is an
integral part of small and large-scale software
development.
 Grading is competitive, your own grade may be
affected because you have to share the grade
scores with more teammates.
Team Work and Project Management
 Team meetings should be structured to involve:
 Discussion of tasks that need to be done—come
up with specific action items
 A period of time to assign responsibilities, draft the
parts each person is responsible for, and ask
questions to be sure you all are on the correct
path
Team Work and Project Management
 Tools to help organize the teamwork:
 Doodle—a tool for time management and
meeting scheduling.
 GroupMe—a group messaging service that lets
you stay in touch with groups of people via
mobile phones.
Team Work and Project Management
 You will soon realize that teamwork is difficult and has negative
aspects. Here are some suggestions about teamwork:
 Choose the team leader to serve as a focal point. Discuss individual skills
and strengths (algorithm design, coding, report writing, etc.)
 Set the meeting agenda and time limits. Students are encouraged to confer
frequently and work together on solving the problem
 Decide how will the team communicate, e.g., email, Trello, Twitter
, Facebook, blog, instant messenger (wassup, wechat etc.) ...
 Make every effort to ensure that all team members feel comfortable about
each others’ contributions. It is a good idea to be collegial and professional
in your communications and avoid conflicts.
 If in the days before a project deadline you are prevented (travel, illness, ...)
from attending the team meetings, immediately notify all your team
members and try to contribute to the best of your abilities.
 If for whatever reason your contribution falls short of that of other team
members, you should do extra work in the subsequent deliverable(s).
What if your team is not functioning
well?
 If you notice that your team does not function
well or the team and this could negatively
impact your project performance (and your
final grade), you should make every effort to
discuss this with other team members.
 If the “problematic” team members (including
the team leader) refuse to cooperate, you
should discuss your concerns with the instructors,
the sooner the better.

*Complaints about poor team


functioning expressed at the end
of semester will be ignored.
Project Resources and Communications
 Online Tools for Software Development (cont..)
1. A Microsoft site https://imagine.microsoft.com
gives software to students for free. For example,
Visual Studio Community 2015 , Microsoft Office 365
, are all completely free.
Project Resources and Communications
 Online Tools for Software Development (cont…)
2. Java Programming
 intro to Eclipse, an IDE for Java, C++, C, etc.
programming
 CVS, open source version control
 ANT, a Java build tool
 JUnit, a unit testing environment which is
accessible in Eclipse
 JCover, a test coverage tool for Java.
Project Resources and Communications
 Online Tools for Software Development (cont…)
3. PHP Scripting
 PHP friend or XAMPP - Apache
distribution containing MySQL, PHP
and Perl.
 Wampserver - create web applications with
Apache2, PHP and a MySQL database
Project Resources and Communications

 Online Tools for Software Development (cont…)


4. Source control software
 Bitbucket (Wikipedia article) allows you to host,
manage, and share Git (Wikipedia article)
and Mercurial(Wikipedia article) repositories in the
cloud.
 Example of free file hosting (you will need this for
your electronic project archive)
 GitHub, Inc.
 Dropbox
 MediaFire
 Secure Systems Box
 Google code
 Source Forge
Source Control Software?

https://www.youtube.com/watch?v=K0mgc3efx-A
Project Resources and Communications
 Online Tools for Software Development (cont…)
5. UML Modeling and diagramming tool
 StarUML http://staruml.sourceforge.net/en/
see also StarUML @ Wikipedia
Open-source UML modeling tool supports most of the diagram types specified in
UML 2.0
 WhiteStarUML http://sourceforge.net/projects/whitestaruml/
a fork of StarUML providing modern continuation of the project using up-to-
date development tools and libraries.
 UMLet http://www.umlet.com/
Open-source UML tool; runs stand-alone or as an Eclipse plug-in on Windows, OS
X, and Linux
 Visual Paradigm for UML (Community Edition)
http://www.visual-paradigm.com/product/vpuml/editions/community.jsp
The Community Edition is free for non-commercial use; It puts a “Community
Edition” watermark on your diagrams; Runs on Windows XP/Vista/7, Linux, Mac OS
X, etc.
 Netbeans UML Plug-in http://www.netbeans.org/features/uml/
Does not support all UML diagram types, but supports forward and reverse
engineering
 Microsoft Visio and open-source Dia are diagramming tools with a library of
UML shapes that may also be used for drawing UML diagrams.
 ArgoUML http://argouml.tigris.org/
see also ArgoUML @ Wikipedia
Project Web Site and Web Log (Blog)
 Each team should maintain a single web site per team.
 The purpose of this website is for the instructors to be able
to track the project progress.
 All project material (progress reports, related web sites,
etc.) should be posted on this web site. Important
announcements should be posted as well.
 Examples of free project or website hosting:
 Google Project Hosting
 Google Website Hosting
 WordPress.com
 Yola - a free website builder

 The team should also maintain their blog (an online journal—a
freeform mix of news items, commentaries, and whatever else
comes to mind), describing the project-related activities.
Useful books (cont…)

 Tips to Succeed in Software


Engineering Student Projects
Author: Damith C. Rajapakse,
National University of Singapore
Publication Date: 27 June 2008.
Useful books

Rebecca Blood, The Weblog


Handbook: Practical Advice on
Creating and Maintaining Your Blog,
Perseus Publishing, 2002.
Online at:
http://www.rebeccablood.net/han
dbook/

Potrebbero piacerti anche