Giter Site home page Giter Site logo

dat255's Introduction

Software Engineering Project - VT14

Course Description

Software remains malleable, often illogical, and incomplete forever. Sequential approaches to software development, such as the waterfall model, assumes that it is possible to take every single variable that could affect a project into account beforehand. Considerable effort is spent to identify risks, plan mitigation, and what consequences these may have. From a traditional product perspective, this can be compared to creating an assembly line to produce software.

Given the nature of software, is it really feasible to identify all variables beforehand? Iterative and incremental approaches accepts that changes are inevitable and integrates change management into the development process. Agile approaches promotes iterative and incremental development by using a very tight design-code-test cycle. If we again use a traditional product perspective, this can be compared to new product development.

In this course you will teach you how to design and develop software, and to manage projects, using these agile principles:

  • The customer is a part of the development team Incremental development
  • The developer should not be hindered by the process
  • Embrace changes
  • Continuous refactoring (restructuring) of the design

After passing the course, you will be able to lead agile projects, work without a detail schedule, use test driven development, refactor programs, be part of a programming pair, and much more.

Teachers

Student Representatives

Course Litteratur / Recommended reading

Lectures and Tutorials

Below you can see the date, time, room and themes for the lectures. There is also a detailed schedule in TimeEdit.

Date & Time Room(s)   Theme Who Slides
17/3 13:15-15:00  VasaC Introduction ME 1
21/3 13:15-15:00  VasaC Intro to Software Engineering ME 2
24/3 13:15-15:00  VasaC Software Engineering (cont'd) ME 3
26/3 13:15-15:00  Vasa 3 Pitch sessions (schedule below) AM
28/3 13:15-15:00  VasaC RUP and XP ME 4
31/3 13:15-15:00  VasaC Version control TL+ME 5#1 5#2
4/4 13:15-15:00  VasaC Android ME 6, Video: Video
7/4 13:15-15:00  VasaC Scrum TL 7
11/4 13:15-15:00  VasaC Testing ME 8, Video: 1,2
28/4 13:15-15:00  VasaC Agile and scaling Agile TL 9
5/5 13:15-15:00  VasaC Product owner, team and project management TL 10
9/5 13:15-15:00  VasaC Design and Architecture ME 11
16/5 13:15-15:00  VasaC Technical Assistance Session ME
19/5 13:15-15:00  VasaC Technical Assistance Session ME
23/5 13:15-15:00  VasaC Technical Assistance Session ME
26/5 13:15-17:00 EC Final Presentations (Schedule) ME+AM
27/5 13:15-17:00 EC Final Presentations (Schedule) ME+AM

Schedule supervision sessions (2/4 --)

Time Group  Room
13:00-13:30  1 Vasa 3
 GLPP (3) Vasa 4
13:30-14:00  2 Vasa 3
 5 Vasa 4
14:00-14:30  Dajoroli (4) Vasa 3
 7 Vasa 4
14:30-15:00  6 Vasa 3
 8 Vasa 4

Examination

Every group should submit the following at the end of the course:

  • Working Android app (APK)
  • Documentation (produced during the project):
    • Vision
    • A few user stories
    • Developer documentation (information relevant to people who work on the project) Suggestions:
      • How does the build process work
      • What major parts / components are there in the application
      • Design decisions (such as API level, etc.)
      • UML
      • Flowchart
      • Protocol (client/server )
      • External dependencies
      • Others that fit your project.
    • User manual
  • Post-mortem Report

Note that the amount of documentation will vary depending on project, but every group must submit some documentation. If you are unsure about what to document, consult your supervisor and check the sample project.

Each group will be given 10 + 5 mins to present their application. The presentation should introduce the app (including the major features), interesting design decisions, the process, and a brief reflection. (You going to have access to following: micro HDMI and VGA connected to projector,blackboard. I also recommend using some recording tool)

Every person should submit a brief evaluation of the group. Imagine that you have a budget of $10 per group member, not including yourself (so, $30 for a group of 4). How would you distribute this "pay" among your group members, based on their value and contribution? Note that you are not allowed to pay everyone the same amount! Email your evaluation (name and amount for each group member not including yourself) to [email protected] no later than June 5 24:00. (The evaluation will not affect the group grade, it will only be used to determine individual variation within a group. However, if you do not submit this evaluation, you will not pass the course).

You can find more information about the grading policy in the wiki.

Sample project

To give you an idea of what a project might look like in the end, we've been authorized to publish this project which was made during the fall semester (2012).

WatchMe for Android

dat255's People

Contributors

morganericsson avatar bark avatar tomluvoe avatar kirayatail avatar jswetzen avatar verath avatar atom058 avatar villepetersson avatar torbjornr avatar sir-hex avatar patrikfritzner avatar nikhel avatar matbern avatar lucaspi avatar filipcarlen avatar emmagustaf avatar antan avatar alehar9320 avatar trivoc avatar simonwe avatar bellevik avatar robinjensen avatar petorsfz avatar helmertz avatar micaels avatar markusjohansson avatar karamech avatar enlundj avatar rastersize avatar atnon avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.