University Of Pretoria Computer Science Department

COS301 - Software Engineering

ClickUP

This course has a ClickUP component, please check this regularly by logging in at: http://www.up.ac.za/.

The username and password for ClickUP and SOS is not the same as your CS username and password.

Announcements

Main Project - Architecture Design Doc Extension

Posted By: Mr Mark-Anthony Fouche on 20 May 2013, 15:48
The deadline for the Architectural Design doc has been moved to 30 June. This will give you more time to create a proper architecture for your project. An updated template for this doc will be released by Dr F Solms, so keep an eye out for it.

Exam time & venue

Posted By: Dr Fritz Solms on 7 May 2013, 13:40 (last modified on 14 May 2013, 02:06)
Hi everyone

The COS-301 exam has been scheduled as follows:

21 June, 8h00-11h00, GW/IHB-3-15

Marks for semester test 1

Posted By: Dr Fritz Solms on 14 May 2013, 02:05
The marks for semester test 1 have been uploaded.

The test will be discussed in class on Friday to assist you to prepare for the exam. You will be receiving your test back during the Friday lecture.

Kind regards
Dr Fritz Solms

Git repositories

Posted By: Dr Fritz Solms on 8 May 2013, 23:11
As you know, each team should create a version control repository and provide Mark-Anthony and myself access to it. If you have not created your git repository yet, then you might want to look at some of the following free options:

1. BitBucket.org: unlimited size, up to 5 users free, nice project wiki incorporated.

2. bettercodes.org: 2GB, unlimited users

All the best for your projects.

Dr Fritz Solms

Main Project - Version Control

Posted By: Mr Mark-Anthony Fouche on 6 May 2013, 16:41
As mentioned in class today, you are required to use version control for your main project. It is up to you to choose and set up a version control system. Git or Subversion would be preferred, since they are widely used.

You will be required to provide read access to myself and Dr Solms. Send us an email with the necessary information, after you have set up your system.

Slides on development methodologies uploaded

Posted By: Dr Fritz Solms on 6 May 2013, 15:07
The slides on development methodologies have been uploaded.

Vision & Scope doc

Posted By: Dr Fritz Solms on 29 Apr 2013, 18:22
A document layout for the visions and scope document has been uploaded.

Dr Fritz Solms

I have uploaded lessons learnt from mini-project

Posted By: Dr Fritz Solms on 29 Apr 2013, 14:34
The mini project post-mortem lecture has been uploaded.

Kind regards
Fritz

Semester Test: 90 minutes

Posted By: Dr Fritz Solms on 26 Apr 2013, 13:40
High everyone.

We have secured the venue for two lectures and hence will give you up to 90 minutes to complete the test. This is more suited to an open-book test.

Kind regards
Fritz

Version control systems included for test

Posted By: Dr Fritz Solms on 22 Apr 2013, 20:05
Just a note. The test includes all slides and hence also the theory, principles and practices around version control systems.

Guidelines for preparation for semester test

Posted By: Dr Fritz Solms on 22 Apr 2013, 13:09 (last modified on 22 Apr 2013, 20:04)
The semester test will
- be written on 26 April, 15h30-16h30,
- cover all slides and chapters 1,2,3,6,7,8,10, and
- be open-book (you can use hard copies of the book and the slides, but no electronic devices will be allowed).

Please make sure you understand the material with particular emphasis on
- specification of functional and non-functional requirements,
- specification of system scope,
- software architecture design versus application design,
- correct usage of UML,
- software testing including test logic and test data specification,
- design qualities and how to achieve them, and
- version control systems.

You should also study chapter 3 in some detail.

All the best with the preparation for the semester test.

Kind regards
Dr Fritz Solms

Std Bank IT Graduate Programme

Posted By: Dr Fritz Solms on 11 Apr 2013, 23:29 (last modified on 11 Apr 2013, 23:30)
In case you are interested:

Depending on your skills and career aspirations, you'll join one of four IT graduate streams on an 18 month programme. You will spend time with a mix of our CIB, PBB and group teams, getting to know business analysis, architecture, development, data warehousing, infrastructure, and maintenance and production. Each rotation blends technical development, learning experiences and business exposure.

Where you end up is in your hands. You'll have the training and expertise to do what you want, so we hope you'll have spotted where you can make the biggest difference to our business. That is how you'll make the biggest start to your career.

So, what do you need: A minimum of BCom or BSc with a major in IT or maths.

Previous work experience: Maximum two years post qualification.

Citizenship: You must be a citizen or permanent resident of the country you're applying to; for the Johannesburg programme, you must be a South African citizen.

What you'll get: We're committed to quality and value in everything we offer our customers. And because you'll contribute to both from the moment you join us, it's only fair we recognise the quality you bring. And just how much we value it.

You'll see it in how we manage and reward your performance, as well as the extra benefits you could be entitled to – perhaps even shares in the bank. It all depends on the programme you choose, plus one huge factor: you.

Don’t wait for the closing date – apply today.

Click here to apply – www.standardbank.com/graduates

Some guidelines for the production team

Posted By: Dr Fritz Solms on 8 Apr 2013, 18:18
These guidelines are meant to augment what was discussed in class with a little more detail which might help to remove some uncertainty.

As the production tea, you should
- gain detailed insight into the status of each sub-module,
* you can use discussions and information obtained from git
- provide us a weekly report (presentation and on paper) on the status of each sub-project
* Each status report should contain the work completed, the planned work for next week, open issues, perceived risks, and details around any assistance required by team,
- either assist struggling teams yourself or ensure that struggling teams receive the required assistance to do their task,
- provide the integration testing environment within which the full system can be tested (the teams will do their own unit testing),
- integration and user testing

Quality management slides uploaded

Posted By: Dr Fritz Solms on 8 Apr 2013, 17:59
Hi everyone

The quality management slides have been uploaded.

Please practice quality management :).

Dr Fritz Solms

Semester Test 1: 26 April

Posted By: Dr Fritz Solms on 2 Apr 2013, 17:08 (last modified on 8 Apr 2013, 08:49)
Hi everyone

In order to reduce the pressure around the mini-project, we have re-scheduled semester test 1 to Friday, 26 April.

For semester test 1, please prepare
- the material covered in the provided slides
- Chapters 1-3, 6-10 in the text book

Closer to the test date, I will provide you further details in class.

Kind regards
Dr Fritz Solms





Services-based, not database-based integration

Posted By: Dr Fritz Solms on 8 Apr 2013, 08:48 (last modified on 8 Apr 2013, 08:49)
The integration will not be database-based integration, but services-based integration. In general, it is a bad idea if multiple systems access the same database as it raises questions around data ownership and integrity as well as around contracts.

Only your system will access your tables and even that only through the O/R mapper and not directly so.

Setting up a database for the mini project

Posted By: Dr Fritz Solms on 8 Apr 2013, 08:47
Hi

You most probably have this going already, but just in case you still have issues:

You will have to
- create the actual database (not the tables) in PostgreSQL, MySQL or whatever DB you are using,
- download the appropriate JDBC driver for your chosen database and copy it into the lib folder of your application server (JBoss or Glassfish),
- set up the datasource (connection pool) and JBDC resource through the management console,
- set up a persistence.xml to use the resource you created (typically with the option to create tables on deployment of entities, but not with deleting tables on undeployment).

Once this is set up your tables will be created for any entities you are deploying and you can use the entity manager to persist objects and execute queries.

Here are some links which should get you going:

https://sites.google.com/site/l1v1umun734nu/internal-blog/glassfishv31jdbcresourceconnectionpoolsetupforpostgresql

http://blog.rueedlinger.ch/2012/02/glassfish-3-1-and-mysql-5-1-on-ubuntu-server-11-10/

http://www.liferay.com/community/wiki/-/wiki/Main/PostgreSQL+with+Glassfish

http://www.albeesonline.com/blog/2008/08/06/creating-and-configuring-a-mysql-datasource-in-glassfish-application-server/

Final demo for mini-project shifted to Mon 22 April

Posted By: Dr Fritz Solms on 2 Apr 2013, 16:25
Hi everyone

We have decided to shift the final demo for the mini-project to Monday, 22 April.

Kind regards
Dr Fritz Solms

Updated design spec with completed reporting APIs

Posted By: Dr Fritz Solms on 2 Apr 2013, 08:50 (last modified on 2 Apr 2013, 08:51)
Hi everyone

An updated design specification has been uploaded. There is a minor change on the Billing report and the trip and user-task report data structures have been added. On the latter, please interpret all composition relationships as uni-directional (as if there was an arrow on the component side).

All the best
Dr Fritz Solms

Reporting API

Posted By: Dr Fritz Solms on 28 Mar 2013, 11:18 (last modified on 1 Apr 2013, 10:58)
Hi. I have uploaded a provisional specification of the reporting API and report data structure. This information will be verified by the client and fed into the design spec.

Kind regards
Dr Fritz Solms

EDIT: Reporting Diagrams are now included in the design specification.

Some guidelines

Posted By: Dr Fritz Solms on 28 Mar 2013, 08:18 (last modified on 28 Mar 2013, 08:18)
Hi everyone

Please add any CRUD (create, remove, update and delete) services you may require to the APIs.

Also, please ensure that you specify the pre-conditions for the services and that you define a corresponding exception class for each pre-condition.

For example, there is a pre-condition for adding a time stretch for a particular period that there is no existing time stretch for that worker covering any part of that same period. Define for this pre-condition a TimeStretchForPeriodExistsException and raise, of course, an instance of this exception when the pre-condition for the service is not met.

All the best
Dr Fritz Solms

Lectture slides on Requirements have been uploaded.

Posted By: Dr Fritz Solms on 19 Feb 2013, 10:38 (last modified on 27 Mar 2013, 22:47)
Hi everyone.

The lecture slides on yesterday's requirements lecture have been uploaded.

Kind regards
Dr Fritz Solms

Design Specification v1 available

Posted By: Dr Fritz Solms on 27 Mar 2013, 22:46
Hi everyone

The Design specification with the module APIs has been uploaded. More detail will be added, particularly around the required reports.

Enjoy the development.

Dr Fritz Solms

Java EE 6 example uploaded

Posted By: Dr Fritz Solms on 20 Mar 2013, 17:19
Hi everyone

I have uploaded a simple Java-EE 6 example application. Should you wish to build, deploy and run the example, you can build the ear project (mvn clean ear in the weatherBuro-ear directory) and deploy into Glassfish 3.1 the generated ear by copying it into the autodeploy directory of the appropriate domain.

The application might work as is in JBoss, but this has not been tested.

Have a productive recess.

Dr Fritz Solms

Mini Project Module Responsibilities

Posted By: Dr Fritz Solms on 18 Mar 2013, 14:41
The slides discussing the responsibilities of the different modules and the technologies required for them has been uploaded into the Mini-Project folder.

Make good use of the recess and enjoy building the mini project.

Dr Fritz Solms

Some resources for Java-EE

Posted By: Dr Fritz Solms on 18 Mar 2013, 09:32
Hi everyone

Below are links to some resources which might assist you to get going with the selected reference architecture.

Please also use Apache Maven for the builds. It is simple to use, has good dependency management and support for modularization and is fast becoming the de-facto standard for Java development.

Java-EE 6 Tutorial
--------------------
http://download.oracle.com/javaee/6/tutorial/doc/javaeetutorial6.pdf

Building Enterprise Systems using Java-EE
-----------------------------------------
http://www.FritzSolms.net -> Downloads -> Course Notes

JBoss documentation:
--------------------
http://www.jboss.org

Kind regards
Dr Fritz Solms

Please collect new CS passwords

Posted By: Dr Fritz Solms on 18 Mar 2013, 09:26
There has been a security laps on our side which compromised the COS-301 CS usernames and passwords. We have thus reset all passwords. Please come and collect new passwords from the COSI team.

Sorry for this and thanks to the student who made us aware of this laps.

Dr Fritz Solms

Main Project Proposals

Posted By: Mr Mark-Anthony Fouche on 6 Mar 2013, 13:05 (last modified on 15 Mar 2013, 17:46)
All the projects you will be able to choose from for your main project can be found in the git repository:

git clone user@geth.cs.up.ac.za:/home/COS301/MAIN_REPO

Go take a look and start forming groups. Groups must consist of exactly 3 people each.

You will be able to choose a minimum of 2 projects to create tenders for. Bookings for projects will open on 15 March at 17:00.

Using git from Home

Posted By: Mr Mark-Anthony Fouche on 11 Mar 2013, 16:09 (last modified on 15 Mar 2013, 17:46)
You can now use git off campus using the following:

git [command] ssh://[user]@hexadecimal.cs.up.ac.za:1001/[path to repo]

Module descriptions for implementation teams

Posted By: Dr Fritz Solms on 15 Mar 2013, 17:46 (last modified on 15 Mar 2013, 17:46)
A document containing a short description of the modules to be built by the different implementation teams has been uploaded into the MiniProject folder.

Kind regards
Dr F. Solms

Java-EE oveview slides

Posted By: Dr Fritz Solms on 15 Mar 2013, 17:45
Hi everyone

I have uploaded the first part of the Java-EE overview. The document will be updated on Monday to include the second part.

Kind regards
Dr F. Solms

Usage of git

Posted By: Dr Fritz Solms on 6 Mar 2013, 08:30 (last modified on 6 Mar 2013, 08:30)
We analyzed how groups used the git repository. Git should make it significantly easier to collaborate and to concurrently work on project artifacts (documents, code, ...).

We found that one group has been starting to use git very effectively and that a second group is also starting to get into it. In many of the other groups nearly all work and changes were committed by a very small subset of group members.

It will assist you significantly in the main project and also in your professional software development career if you learn to use version control tools effectively.

Dr Fritz Solms

Additions to Software Architecture Documentation

Posted By: Dr Fritz Solms on 6 Mar 2013, 08:23
Please note that you should also include the following in your software architecture specification:


1. Architectural strategies/tactics to be chosen to concretely address quality requirements
- specify tactics like interception, resource reuse (e.g. thread, connection, object pooling), role-based authorization,

2. Reference architectures
- specify any reference architecture like Java-EE, SOA, Space-Based reference architectures on which the defined architecture will be based

3. Technology and frameworks selection
- Specify the concrete technologies and frameworks (e.g. programming languages, web servers, application servers, database management systems, ...) which will be used in the software architecture and discuss there support for your chosen architectural patterns and strategies.

The Software Architecture Documentation Template will be updates

Master Requirements published

Posted By: Dr Fritz Solms on 6 Mar 2013, 08:21
Hi everyone

The master requirements for the mini-project have been published. Use them to validate and expand your software architecture specification.

The requirements will also be pushed into the Master git repository.

Dr F. Solms

Software Architecture Lecture Slides

Posted By: Dr Fritz Solms on 6 Mar 2013, 08:19
Hi everyone

The software architecture lecture slides have been uploaded.

Please consult them when specifying the software architecture.

Dr Fritz Solms

Introduction to git uploaded

Posted By: Dr Fritz Solms on 15 Feb 2013, 17:30 (last modified on 15 Feb 2013, 17:32)
Hi everyone.

Arne's intro to git has been uploaded.

Kind regards
Dr F. Solms

PLEASE READ STUDY GUIDE

Posted By: Dr Fritz Solms on 15 Feb 2013, 17:32
Hi everyone

The study guide has

- a tentative overview o the requirements for the mini project,
- details about the schedule and process for both, the mini and main projects,

and lots of other information. PLEASE read it!! If only to respect my effort in writing it :)

Kind regards
Dr Fritz Solms

Slides on version control uploaded

Posted By: Dr Fritz Solms on 15 Feb 2013, 17:29
Hi everyone.

The slides on version control have been uploaded.

Kind regards
Dr F. Solms

Welcome

Posted By: Dr Fritz Solms on 11 Feb 2013, 09:39 (last modified on 15 Feb 2013, 17:29)
Welcome to the third year Software Engineering course which aims to prepare you for the challenges you would typically face within software development teams working on industrial size software development projects. I hope you will find this an exciting and enriching course.

Dr Fritz Solms

Study-guide has been uploaded

Posted By: Dr Fritz Solms on 11 Feb 2013, 09:40 (last modified on 15 Feb 2013, 17:29)
Hi everyone

The study guide for this course has been uploaded. It contains a lot of information which can assist you with having success in this course - please study it in some detail.

Kind regards
Dr Fritz Solms

Introductory lecture slides uploaded

Posted By: Dr Fritz Solms on 15 Feb 2013, 17:28
The slides for the introductory lecture have been uploaded.

Module Content

code
weatherBuro.zip (105KB)
WeatherBuro Java-EE example
Information about software and infrastructure
Layouts for various documents
Team Portfolio Layout.pdf (102KB)
Requirements Specification Layout.pdf (83KB)
Architectural Specification Layout.pdf (83KB)
Design Specification Layout.pdf (81KB)
Reporting Template.pdf (138KB)
Template for Progress Reports
visionScopeDoc.pdf (84KB)
Vision and Scope Document Layout
lectures
versionControlDoc.pdf (125KB)
introToCos301.pdf (163KB)
requirements.pdf (641KB)
qualityManagementDoc.pdf (130KB)
developmentMethodologies.pdf (467KB)
Development methodologies
softwareArchitectureDoc.pdf (129KB)
Introduction to Software Architecture
javaeeDoc.pdf (200KB)
Java-EE overview - part 1
miniProjectPostMortemLecture.pdf (91KB)
Lessons learnt from mini-project
Main Project
Marks
semestertest1.pdf (253KB)
semesterTest1.pdf (22KB)
Marks for semester test 1
Mini Project
Master Artifacts
Architectural Specification.pdf (1060KB)
Mini Project master architectural specification
Design Specification.pdf (1769KB)
Mini Project master design specification
Requirements Specification.zip (2026KB)
Mini Project master requirements specification
Peer Reviews
Team allocation
MinProjectTeamAllocation.pdf (181KB)
Now includes allocations for all four rounds
ImplementationTeams.pdf (2KB)
Description of modules to be built by implementation teams.
miniProjectProjectResponsibilities.pdf (85KB)
Module Responsibilities
studyGuide.pdf (573KB)
COS-301 study guide

Active Discussions


View All Topics

Module Links

Peer review system
List of freely available programming books.

Login

Username:
Password:
Remember Me

Module Description

The module exposes students to problems associated with software development on an
industrial scale. Overall goals of the module are: to become familiar with the latest trends
in software engineering;...

Show Long Description

Lecturer Information

Lecturers

Dr Fritz Solms

Mr Mark-Anthony Fouche

Ms Vreda Pieterse

Mr Neels van Rooyen

Tutors

There are no tutors assigned.

Teaching Assistants

Mr Dean MARSDEN

Class Representatives

English Representatives

Mr LL Lubbe

Afrikaans Representatives

There are no Afrikaans class representatives.

Active Assignments

Upload Your Assignment
Main Project - Architecture Design Doc
Due: 30 June at 23:59

Active Bookings

No bookings available

Active Polls

There are no polls available.
All content copyright © Department of Computer Science, School of IT, University of Pretoria, South Africa