comp 523 diane pozefsky 20 august 2014. agenda introductions logistics software engineering overview...

24
COMP 523 DIANE POZEFSKY 20 August 2014

Upload: dayna-willis

Post on 16-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

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