Free Essay

Comp3111 Intro

In:

Submitted By andreajeka
Words 559
Pages 3
COMP3111 -­‐-­‐ Introduc1on to So3ware Engineering Learn. Pra1ce. Have fun!

What’s COMP3111 • Introduc1on level – Developing large so3ware systems by many people in a long 1me; – Basic thoery, model, prac1ce – Prac1ce using real world languages, tools, and methods

• Difference between so3ware engineering and programming

What we going to cover (Thoery) • How to develop large so3ware as a team effort – Non-­‐technical aspects • As a process of coordina1ng human ac1vi1es (macroscopic) • As a result of effec1ve communicta1ons (socio-­‐technical) – With client – With team members

– Technical aspects • As a set of drawings (modeling) • As a collec1on of clever design ideas (pa\erns) • As a correct instruc1ons to computers (tes1ng)

COMP3111 Syllabus (Theory) • • • • • • Introduc1on to so3ware engineering So3ware development process UML modeling Requirements capture Design pa\erns Tes1ng

Syllabus (Pra1ce) • • • • • • • Basic Java programming Java collec1ons framework Java GUI programming with Swing CVS environment in Eclipse Java I/O Java Unit tes1ng Finding bugs in your code

How do you learn both? • Lecture • Tutorial • Lab – 1 hour + 20 mins for special needs – Review prac1ce materials in lecture – More detailed and advanced topics – Solve the posted problem, not graded – Prac1ce with the help of TA – Use the technique in your project – Lecture: if you really want to talk, talk to me. – Project: independent work or steal smartly

• Project

• Course e1que\e

Grading Item Midterm Project Final Bonus Due Date Mar 17 TBD Will explain Weight 20% 40% 4% Part I (Apr 3) Part II (May 8) 40-­‐48%

You guessed right! A\ending lecture/tutorial/lab is op1onal!

The Project • Group work – Group of 4. You can form your own group. Do it before Feb. 17 or I will do it for you – Sign up sheet posted on Google doc, link on course website – Each team will be assigned a TA as mentor – A fully func1onal mul1-­‐user Calendar – Comple1on in two major steps – Evaluated by acceptance test cases and documenta1on

• Objec1ve

Project Organiza1on • Given the source code of the Calendar GUI and a detailed HIGH LEVEL specifica1on • Complete the project in two phases: • Phase 1: Single-­‐user memory based scheduling

– Learn to program in modern object oriented language such as Java using a fully featured integrated development environment (IDE). – Learn to convert imprecise textual technical requirements to precise technical specifica1ons. – Learn to extend the given code base by adding new GUI elements and major new features. – Learn to develop so3ware as a controlled and monitored process through the use of version control.

Project Organiza1on (Cont.) • Phase 2: Mul1-­‐user disk-­‐based scheduling – Learn to implement a sophis1cated set of func1onali1es. – Learn to support the no1on of persistence and data management. – Learn to use unit tes1ng and regression tes1ng to maintain the quality of the so3ware. – Learn to ar1culate and document the design and architecture of so3ware systems.

Bonus Compe11on • You can earn bonus for the project by implemen1ng a feature/func1onality not yet specified

– Must be a new way of interac1ng with the user – For example, an Android version of the calendar is not counted as bonus – Inform your mentor any 1me in the term to enter the compe11on – Submit your work at the end of the Phase II – The teaching team will sit together and rank all par1cipants – Top 3 teams will get the full bonus, the next 3 will get 50% of the full bonus

• Top 6 teams will get the bonus

Similar Documents