cs352 software engineering project (software engineering in the small) michael oudshoorn and ray...

13

Click here to load reader

Upload: damon-glenn

Post on 14-Jan-2016

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: CS352 Software Engineering Project (Software Engineering in the Small) Michael Oudshoorn and Ray Babcock

CS352 Software EngineeringProject

(Software Engineering in the Small)

Michael Oudshoorn and Ray Babcock

Page 2: CS352 Software Engineering Project (Software Engineering in the Small) Michael Oudshoorn and Ray Babcock

CS351 - Software Engineering (AY2004) 2

Introduction• This course is taught by Michael Oudshoorn and Ray

Babcock• Ray’s consulting times will be advertised outside of his

door. Please make an appointment with Jeannette if you want to see Michael.

• The lecture time for this course is Tuesday and Thursday 5-6pm.

• The course will have few, if any, formal lectures and this time will be used for group meetings and class-wide discussions.

• It will also be used for any class-wide announcements.

Page 3: CS352 Software Engineering Project (Software Engineering in the Small) Michael Oudshoorn and Ray Babcock

CS351 - Software Engineering (AY2004) 3

Assumptions• We will assume that you have completed CS351

Software Engineering last semester.• CS352 is a project-based course that will give you the

opportunity to use all of the skills you learned last semester.

• There will be 2 major assignments that must be completed this semester.

Page 4: CS352 Software Engineering Project (Software Engineering in the Small) Michael Oudshoorn and Ray Babcock

CS351 - Software Engineering (AY2004) 4

Objectives• The objectives for CS352 are that you have the

opportunity to apply your skills from CS351 in a setting that models the real-world within the confines of the subject plans and objectives, and within the boundaries of a university course.

• We aim to develop and fine-tune your individual software engineering skills. [CS460/461 aims to develop your team-work].– This means you will take sole responsibility for your

work, but you will need to cooperate with others.

Page 5: CS352 Software Engineering Project (Software Engineering in the Small) Michael Oudshoorn and Ray Babcock

CS351 - Software Engineering (AY2004) 5

Our hopes• By the time students finish this course they should have

real-world experiences that will see them well placed to get employment after taking CS460/461.

• Students should be able to talk to employers about the problems and issues involved in building large complex systems.

Page 6: CS352 Software Engineering Project (Software Engineering in the Small) Michael Oudshoorn and Ray Babcock

CS351 - Software Engineering (AY2004) 6

Project 1• There are two projects for CS352.• Each project has multiple parts and you will need to

cooperate with your classmates in order to be successful.

• The first project is an Othello program. It will provide an opportunity to practise your skills in:– Software design specifications– Coding– Software management– Testing– Communication

Page 7: CS352 Software Engineering Project (Software Engineering in the Small) Michael Oudshoorn and Ray Babcock

CS351 - Software Engineering (AY2004) 7

Project 2• You will be given a project description and various

interfaces to adhere to. You will need to select a fixed number (say 3) of the modules to build yourself, and you will need to acquire the remainder from your classmates.

• You will buy and sell the modules.• You will need to maintain the software you sell.• Each person will start the semester with 100 zorkmids to

use for the purchase of software.• You will need to advertise your products (web pages) and

give a short presentation. There is an entrepreneurial element through selling and buying your software.

• You will learn:– Business skills– Subcontracting issues– Software acquisition and maintenance

Page 8: CS352 Software Engineering Project (Software Engineering in the Small) Michael Oudshoorn and Ray Babcock

CS351 - Software Engineering (AY2004) 8

Individual-based• The projects are individual based. You will not be working a

component as part of a group. You will however be cooperating with others in order to succeed.

• The aim is to develop appropriate skills for you to develop high quality correct code within a software development environment.

• Plagarism will not be tolerated. Even though solutions may be available on the internet (i.e., Othello) you may not utilize them. You must design, build and test your own system.

• Penalties for cheating will be a score of 0 for that component and a 10% loss of available points for the project.

• Deadlines are firm. 20% of the available points are forfeited for each day (or part thereof) that a component is late.

• You can think of these are contractual penalties that apply to the project you are working on.

Page 9: CS352 Software Engineering Project (Software Engineering in the Small) Michael Oudshoorn and Ray Babcock

CS351 - Software Engineering (AY2004) 9

Assessment• There are 2 projects.• Each project is worth 50% of the grade.• A serious attempt must be made in both projects.• There is no mid-term or final exam.• There are no quizzes.• Expectation:

– High standards in the project work, i.e., high levels of professionalism.

– Treat this as though you are employed and an aiming to make an impression.

Page 10: CS352 Software Engineering Project (Software Engineering in the Small) Michael Oudshoorn and Ray Babcock

CS351 - Software Engineering (AY2004) 10

Resources available• Web pages found at

www.cs.montana.edu/courses/current/352.• These include the CS351 lecture materials.• The projects will use the lecture time to allow for the

cooperation to take place. • Ray and/or Michael will be available to provide help and

assistance at these times.

Page 11: CS352 Software Engineering Project (Software Engineering in the Small) Michael Oudshoorn and Ray Babcock

CS351 - Software Engineering (AY2004) 11

Consulting help• There is no TA to assist you in this course!• Like the real-world, you need to demonstrate a degree

of self sufficiency and initiative.• We expect you to solve most of your own problems!

– Read the textbook– Use the library– Use the internet– Talk to your peers

• A consultant will be available in a consulting room to offer limited assistance with coding problems.

Page 12: CS352 Software Engineering Project (Software Engineering in the Small) Michael Oudshoorn and Ray Babcock

CS351 - Software Engineering (AY2004) 12

Textbooks• There are no fixed textbooks for this course. Like real-

life, you need to decide if you need one, and if so, which book best suits you.

Page 13: CS352 Software Engineering Project (Software Engineering in the Small) Michael Oudshoorn and Ray Babcock

CS351 - Software Engineering (AY2004) 13

Hint• “Design for change” should be your mantra.• Expect it, plan for it, design for it.• Quality is an important part of any software system. To

achieve that you have to know what you are doing well and what you are not doing well.– Keep a journal and observe what you do.– Record how long it takes to repair errors.– Observe where you introduced the error into the

system.– Think about how you could improve to be:

• More productive• More accurate.• More efficient.