COMP 523 DIANE POZEFSKY 20 August 2014. AGENDA Introductions Logistics Software Engineering Overview...

24
COMP 523 DIANE POZEFSKY 20 August 2014

Transcript of COMP 523 DIANE POZEFSKY 20 August 2014. AGENDA Introductions Logistics Software Engineering Overview...

Page 1: COMP 523 DIANE POZEFSKY 20 August 2014. AGENDA Introductions Logistics Software Engineering Overview Selecting a project Working with a client.

COMP 523DIANE POZEFSKY20 August 2014

Page 2: COMP 523 DIANE POZEFSKY 20 August 2014. AGENDA Introductions Logistics Software Engineering Overview Selecting a project Working with a client.

AGENDA

• Introductions•Logistics•Software Engineering Overview•Selecting a project•Working with a client

Page 3: COMP 523 DIANE POZEFSKY 20 August 2014. AGENDA Introductions Logistics Software Engineering Overview Selecting a project Working with a client.

LOGISTICSWeb Site: http://wwwx.cs.unc.edu/Courses/comp523-f14/

This course is4 credits EE APPLES

CI (Implication: document iterations)Final is project presentations SAT, DEC 6Weekly team meetings with me, client, team

NO INCOMPLETES

Page 4: COMP 523 DIANE POZEFSKY 20 August 2014. AGENDA Introductions Logistics Software Engineering Overview Selecting a project Working with a client.

DROPPING THE COURSE

• I can’t stop you from dropping• But if you drop after teams have been assigned (for non-medical reasons)• You will incur the wrath of teammates• You will not be permitted to take it later

Page 5: COMP 523 DIANE POZEFSKY 20 August 2014. AGENDA Introductions Logistics Software Engineering Overview Selecting a project Working with a client.

HOW THE COURSE RUNS

• Weekly Team Meetings• With me: organizational and technical• With client: content and design• Team

• Regular deliverables• Description and dates will be posted on web• Multiple executable deliverables to client• Multiple classroom demos• Class dates BUT will consider reasoned arguments about project-specific exceptions

Page 6: COMP 523 DIANE POZEFSKY 20 August 2014. AGENDA Introductions Logistics Software Engineering Overview Selecting a project Working with a client.

COURSE OBJECTIVES

• Overview of the practice of software engineering• Awareness of software engineering (and

failures) in the real world• why software development is more than

coding• Hands on experience of the full process

• Working on a team

• Individual assignments: broader view

• Awareness of new technologies

Page 7: COMP 523 DIANE POZEFSKY 20 August 2014. AGENDA Introductions Logistics Software Engineering Overview Selecting a project Working with a client.

GRADING

• 75% project • individual contribution multiplier (.7 – 1.1)• 25% process (includes professionalism)• 25% code• 20% documentation• 5% final presentation

• 15% technology presentation (tech talks)• 10% individual assignments

Page 8: COMP 523 DIANE POZEFSKY 20 August 2014. AGENDA Introductions Logistics Software Engineering Overview Selecting a project Working with a client.

INDIVIDUAL CONTRIBUTION

• Rare that it will go over 1.0• Basically, you can’t do better than the project• But there are always exceptional

circumstances

• Inputs• Peer evaluations• My evaluation• Client evaluation• Consultant evaluations

Page 9: COMP 523 DIANE POZEFSKY 20 August 2014. AGENDA Introductions Logistics Software Engineering Overview Selecting a project Working with a client.

GRADING THE PROCESS

•Weekly grades• Individual and team•Meeting milestones• Responding to feedback•Work effort

• Posted on Sakai

Page 10: COMP 523 DIANE POZEFSKY 20 August 2014. AGENDA Introductions Logistics Software Engineering Overview Selecting a project Working with a client.

PROFESSIONALISM

• You are representing the university, the department, this class and yourself• You are expected to• show common courtesy• make it to meetings promptly or notify people• meet your commitments

• Remember that your web site is publicly available and may be accessed by outside people

Page 11: COMP 523 DIANE POZEFSKY 20 August 2014. AGENDA Introductions Logistics Software Engineering Overview Selecting a project Working with a client.

TEAM ROLESASSIGN ASAP

• Client Manager• Client contact point• Meetings• Requirement changes

• Project Manager• Meetings with me• Team meetings• Schedule

• Editor• Documentation control• Polish• NOT only writer

• Chief Developer• Architecture• Assignments

Page 12: COMP 523 DIANE POZEFSKY 20 August 2014. AGENDA Introductions Logistics Software Engineering Overview Selecting a project Working with a client.

SOFTWARE ENGINEERING

Page 13: COMP 523 DIANE POZEFSKY 20 August 2014. AGENDA Introductions Logistics Software Engineering Overview Selecting a project Working with a client.

FUNDAMENTAL STEPSStep Documentation

• Requirements• Design• Implementation• Test• Deployment• Maintenance

• Functional Spec• Design Document• Code• Test Plan• User

Documentation• Design Document

Page 14: COMP 523 DIANE POZEFSKY 20 August 2014. AGENDA Introductions Logistics Software Engineering Overview Selecting a project Working with a client.

DOCUMENTATION PRINCIPLES

• Need to reflect changes• Not just change, but CAPTURE change• Version control

• Need to keep all documents synchronized• Only say it once

• Danger of shared ownership: If many own, no one owns • Practical consideration: Responsibility vs.

authority

Page 15: COMP 523 DIANE POZEFSKY 20 August 2014. AGENDA Introductions Logistics Software Engineering Overview Selecting a project Working with a client.

SELECTING A PROJECT

Page 16: COMP 523 DIANE POZEFSKY 20 August 2014. AGENDA Introductions Logistics Software Engineering Overview Selecting a project Working with a client.

PROCESS

• Written descriptions available Saturday• Presentations on Monday• Preferences by 9 pm (Google doc)• Assignments by 8 am Tuesday• First client meeting in class on Wednesday

Page 17: COMP 523 DIANE POZEFSKY 20 August 2014. AGENDA Introductions Logistics Software Engineering Overview Selecting a project Working with a client.

CONSIDERATIONS

•Does the topic interest you?•Do you think you can work with the client?• Platform to be used•Web, mobile, language, OS, …• Learn new or strengthen skills

Page 18: COMP 523 DIANE POZEFSKY 20 August 2014. AGENDA Introductions Logistics Software Engineering Overview Selecting a project Working with a client.

WORKING WITH THE CLIENT

Page 19: COMP 523 DIANE POZEFSKY 20 August 2014. AGENDA Introductions Logistics Software Engineering Overview Selecting a project Working with a client.

FIRST STEPS• To build something, we first must understand

what it is we’re building• Establish expectations• Understandable by both the client and the

developer• Need to understand• Concept• Users• Use cases• Requirements

Page 20: COMP 523 DIANE POZEFSKY 20 August 2014. AGENDA Introductions Logistics Software Engineering Overview Selecting a project Working with a client.

START WITH A CONCEPT• MUST BE CRISP AND SIMPLE

• How do you tell people about your project

• Why are you doing it

• What makes it unique or different

brochure elevator speech tweet

Page 21: COMP 523 DIANE POZEFSKY 20 August 2014. AGENDA Introductions Logistics Software Engineering Overview Selecting a project Working with a client.

CLIENTS VS. USERS• The client is the person “paying the bill”• The users are the ones that will • Use your system• Maintain your system• Administer your system

• Know• How they perform their tasks now• Their skill level• Their time constraints, tolerances, expectations

Page 22: COMP 523 DIANE POZEFSKY 20 August 2014. AGENDA Introductions Logistics Software Engineering Overview Selecting a project Working with a client.

TALKING TO THE CLIENT• Active listening• Restate what you hear• NOT “I hear you”

•How to extract information• Ask them to “tell stories”• Focus on the interface: that’s what the

user sees• Start the design process with the

customer• Draw pictures!

Page 23: COMP 523 DIANE POZEFSKY 20 August 2014. AGENDA Introductions Logistics Software Engineering Overview Selecting a project Working with a client.

USER STORIES• From the USER’s perspective

Capture what the user is trying to do• Different stories may trigger same function

BUT different concerns, sequences, constraints

• Examples• Same user planning a trip for business or

pleasure• Or buying an item for himself or as a gift

Page 24: COMP 523 DIANE POZEFSKY 20 August 2014. AGENDA Introductions Logistics Software Engineering Overview Selecting a project Working with a client.

REQUIREMENTS