Oulun yliopisto - Etusivulle University of Oulu in English

ee.oulu.fi

Electrical and Information Engineering

Faculty of Technology > Electrical and Information Engineering > Computer Engineering Laboratory


COMPUTER ENGINEERING LABORATORY

[This page is CSS2 enabled. Your browser might not fully support it]

521426A Software Engineering Project (2,5cu)

$RCSfile: index.html,v $ $Revision: 1.15 $ $Date: 2006/04/18 05:39:39 $

ABSTRACT

This project teaches students the development of non trivial computer applications by getting acquainted with software development tools. Students are required to design and implement a functioning application program while working in the project.

Table of Contents

Latest News

Date News
2006-05-09 New deadlines posted
2006-05-05 Minimum assignment posted
2006-04-18 New example posted: (link)
2006-02-28 EDUB:12:00: Starting lecture held in TS128

Lecturer

Prof. Juha Röning

Goals

The purpose of the course is to familiarize the students with modern software engineering methods and tools.

Contents

The purpose of the Software Engineering Project (Ohjelmistotekniikan työt, 521426A) course is to familiarize the students with modern software engineering methods and tools - eg. Ward & Mellor Structured Analysis for Real-Time Systems (RT-SA/SD). The course is realized as a project-like assignment that can, in principle, be taken from the start to finish in 2-3 weeks by a team of 3 students working full time. Typically the assignments have been completed during 2-5 months requiring approximately 80-120 hours from each project team.

The goal of the Software Engineering Project is to have a walk through from the design to implementing and testing. An emphasis is put on proper documentation. Extensive hardware expertise is not necessary, so proportionate attention can be given to the design methodology.

Despite its apparent simplicity, the problem allows plenty of alternative solutions and should be a motivating and educating exercise. Demonstration of a properly functioning system and sufficient documentation is proof of a completed assignment.

Prerequisites

  • Software Engineering
  • Computer Engineering I
  • Computer Engineering Exercise
  • Digital Techniques I
Recommended:
  • Computer Engineering II
  • Operating Systems

Course Procedures

Timeline

Task Day Time Location
Introduction lecture - Course ignition 2006-03-28 12:00-13:30 TS128
Lecture: Assignment, techniques, pitfalls 2006-03-28 14:00-15:30 TS133
Lab exercise 2006-03-31 09:00-15:00 TS135
Results of State of the Art Analysis 2006-04-07 24:00 mailbox
Partial implemenation ready (UART, LCD, TCP) 2006-04-14 24:00 email
Design document ready 2006-04-28 24:00 email,mailbox
Design review 2006-05-03 13:00-16:00 TS361
Implementation ready - Intop 2006-05-18 08- TS135
Documentation ready 2006-05-19 email,mailbox
  • mailbox - refers to the box at the third floor of the Tietotalo
  • email - to the teaching assistant

Initial Lecture

The initial lecture is given on 2005-09-01 at 14:00 in lecture hall L6. This years Software Engineering Project will be coupled closer to the Software Engineering Course and Exercises. Therefore, the initial lecture of both courses will be held together.

Registration

It is obligatory to register for this project.

Grading

The results of each project team will be judged based on

Domain Value
Lab Quiz 5%
Consistent use of the SE methodology 15%
Implementation quality 30%
Correspondence between design and implementation 20%
Documentation 20%
Interoperability 10%
TOTAL 100%

The design results and review times

The design results will be posted on the following page, along with the review times for each group:

LINK

Assignment

The course assignment is to implement an embedded software to the course working environment (ethernut + io-board) that

  • Can store and play wav-files
  • Can fetch wav-files from http servers and play them
  • Works as an http server that offers locally stored wav files for download
  • Uses USART, LCD and LEDS for user interface

The full project assignment as a pdf can be found from the resource list in the following chapter. Groups are expected to refer to the requirements document in their own documents when appropriate.

Minimum assignment

The minimum requirements for passing the course are

  • Implementation
    • Offer a WAV- and M3U-file via HTTP on the Ethernut
    • Download a WAV- and M3U-file via HTTP from either the Test-PC or any other ethernut
  • All documents delivered
    • Research Document
    • Design Document
    • Final Document

Further implemented functionality improves the grade.

Course material

Assignment, document templates and time track sheets

In the following table you will find all the necessary documents and document templates for the course.

Description Download
LCD library added (lcd-test.zip) (link)
PWM and HTTP example (buzzer.zip) (link)
Requirements specification (link)
Personal timetrack sheet (link)
Pre-compiled Nut/Os 3.9.8 (for TS135) (link)
Pre-compiled Nut/Os with minimal support for AvrStudio (for TS135) (link)
Pre-compiled Nut/Os 4.0.3 (for TS135) (link)
Research phase assignment (link)
Research document template (link)
Partial implementation status report template (link)
IO-board schematics (link)
Design document template (link)
Final document template (link)
Interoperability testing templatep (link)

Hardware

Egnite Ethernut v2.1B

The Ethernut is a rather powerful microcontroller board. From Egnites web pages:

Ethernut 2.1 combines Atmel`s ATmega 128 microcontroller with SMSC`s LAN91C111 Ethernet controller. The main features are:

  • ATmega 128 RISC microcontroller with up to 16 MIPS throughput.
  • Full duplex IEEE 802.3 compliant 10/100 Mbps Ethernet controller with on-board RJ-45 connector.
  • Two serial ports, RS232 at DB-9 connector and half duplex RS485 at screw terminal.
  • 128 kByte in-system programmable Flash ROM and 512 kByte serial Dataflash.
  • 4 kByte in-system programmable EEPROM.
  • 32kByte SRAM plus 480 kByte banked SRAM.
  • 22 programmable digital I/O lines.
  • 8-channel, 10-bit analog/digital converter.
  • Two 8-bit and two 16-bit timers/counters.
  • Watchdog timer for enhanced reliability.
  • LED indicators for power supply and Ethernet activity.
  • Single power supply DC 8-12V.
  • Board size: 78 x 98 mm.

The IO board

The IO board consists of the following elements:

  • 4 LEDs
  • 4x16 characters LCD
  • Plug for connecting loudspeakers

Hardware links

Description Download
Ethernut 2.1 Hardware User's Manual (link)
AT45DB041B - Serial Data Flash (link)
ATMEGA 128 data sheet (link)
Terra Term Pro - Terminal Emulation (link)

Software

Cross-Compiler for ATMEL

The usage of WinAVR is advised. The lastest version of WinAVR is installed at the computers in TS135.

Programmers notepad

Use of programmers notepad (installed in TS135) or a similar programmin environment is encouraged.

Provided code samples

The students are provided a library for handling the LCD and the PWM. See Material section for downloads.

Coding practice, version control system and documentation programs

As mentioned in the requirements, students are expected to use some consistent coding practice. Links to examples can be found from the link list below. Additionally, students are encouraged to use both a revision control system and a documentation tool.

Software links

Description Download
WinAVR (link)
GNU Make - material on make rules and make (link)
Makefile tutorial (link)
Coding practice - notes on coding style for C programming (link)
Doxygen documentation tool (link)
A version control system available at ee machines: RCS (link)

Internal network

All network traffic has to be done in an isolated network. A test network is built in room TS135.

Contact Information

  • Course lecturer: Prof. Juha Röning
  • Teaching assistant: Christian Wieser
    • Consulting time:
      • n Thursday, 13:00 to 14:00 at TS361
      • Email: o t t - s t a f f @ e e . o u l u . f i
  • Teaching assistant: Teemu Tokola
    • Consulting time:
      • Monday, 12:00 to 14:00 at TS361 (mostly for Tietokonetekniikka)
      • Wednesday, 12:00 to 14:00 at TS361 (mostly for OTT)
      • Email: o t t - s t a f f @ e e . o u l u . f i

The assistants are responsible for the laboratory assignments, tutoring and reviewing deliverables.

Previous Course(s)

Course Feedback

The course feedback system is disabled. Please contact the assistants or lecturer for any feedback.

[This page is CSS2 enabled. Your browser might not fully support it]