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
Exam time & venue
The COS-301 exam has been scheduled as follows:
21 June, 8h00-11h00, GW/IHB-3-15
Marks for semester test 1
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
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
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
Vision & Scope doc
Dr Fritz Solms
I have uploaded lessons learnt from mini-project
Kind regards
Fritz
Semester Test: 90 minutes
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
Guidelines for preparation for semester test
- 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
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
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
The quality management slides have been uploaded.
Please practice quality management :).
Dr Fritz Solms
Semester Test 1: 26 April
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
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
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
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
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
Kind regards
Dr Fritz Solms
EDIT: Reporting Diagrams are now included in the design specification.
Some guidelines
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.
The lecture slides on yesterday's requirements lecture have been uploaded.
Kind regards
Dr Fritz Solms
Design Specification v1 available
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
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
Make good use of the recess and enjoy building the mini project.
Dr Fritz Solms
Some resources for Java-EE
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
Sorry for this and thanks to the student who made us aware of this laps.
Dr Fritz Solms
Main Project Proposals
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
git [command] ssh://[user]@hexadecimal.cs.up.ac.za:1001/[path to repo]
Module descriptions for implementation teams
Kind regards
Dr F. Solms
Java-EE oveview slides
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
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
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
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
The software architecture lecture slides have been uploaded.
Please consult them when specifying the software architecture.
Dr Fritz Solms
Introduction to git uploaded
Arne's intro to git has been uploaded.
Kind regards
Dr F. Solms
PLEASE READ STUDY GUIDE
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
The slides on version control have been uploaded.
Kind regards
Dr F. Solms
Welcome
Dr Fritz Solms
Study-guide has been uploaded
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
Module Content
|
weatherBuro.zip
(105KB) WeatherBuro Java-EE example |
|
Git-An introductory tutorial.pdf
(309KB) |

