COMP 523 DIANE POZEFSKY 19 August 2015
CHAOS REIGNS
AGENDA Introductions Logistics Software Engineering Overview Selecting a project
LOGISTICS Web Site: (blank page at the moment) This course is 4 credits EE APPLES CI (Implication: document iterations) Final is project presentations MON, DEC 7 Weekly team meetings with me, client, team NO INCOMPLETES
CLASS TIMES Fridays Beginning of the semester, load up on lectures Reduce at the end of the semester Why Get the content to you in time Allow you to focus on project toward the end Reality I have some travel commitment that have recently arisen
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
HOW MUCH WORK IS IT Depends on the project Depends on your passion Design, writing, development Designed to preclude a last minute miracle drive
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
ATTENDANCE Expected Required when your classmates are presenting There is a guest speaker
MEETINGS WITH ME Review the past week’s deliverables Review the team and individual performances Meeting attendance Meeting commitments; effort expanded Adherence to schedule and adjustments Responding to feedback Monthly evaluations Team Client Process grade = points earned at weekly meetings
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
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
INDIVIDUAL ASSIGNMENTS Essays Relate to the literature More general software engineering topics 2 or 3 depending on my mood
TECH TALKS This course is about taking responsibility Learning new technologies Of which there are many, many and always changing Goal is to introduce the class to the technology What it is Why it is useful May be used in the class More important is that the next time you may need it May be one that the team is using or not
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
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
TEAM ROLES ASSIGN 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 Dictatorships are bad Need consistency
SOFTWARE ENGINEERING
FUNDAMENTAL STEPS StepDocumentation Requirements Design Implementation Test Deployment Maintenance Functional Spec Design Document Code Test Plan User Documentation Design Document
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
SELECTING A PROJECT
PROCESS Written descriptions available Sunday Presentations on Monday Preferences by 9 pm (Google doc) Assignments by 8 am Tuesday First client meeting in class on Wednesday
DETAILS May sign up as team or individual Will ask you to identify the times you can meet with me If you don’t submit on time, I assume that you are dropping the course
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