31
SOFTWARE SYSTEM DEVELOPMENT Spring 2010 1

Software System Development

  • Upload
    cisco

  • View
    28

  • Download
    0

Embed Size (px)

DESCRIPTION

Software System Development. Spring 2010. About The Course. What this course is about?. Some of software organization job roles/tasks. Prerequisites. Basic Software Engineering Course Basic Java skills Desirable but not must Some industry experience Basic Project Management Concepts - PowerPoint PPT Presentation

Citation preview

Page 1: Software System Development

SOFTWARE SYSTEM DEVELOPMENT

Spring 2010

1

Page 2: Software System Development

About The Course2

Page 3: Software System Development

What this course is about?3

Page 4: Software System Development

Some of software organization job roles/tasks

4

Page 5: Software System Development

Prerequisites5

Basic Software Engineering Course Basic Java skills Desirable but not must

Some industry experience Basic Project Management Concepts Keen interest in practical applications of

software engineering methods.

Page 6: Software System Development

Technology Focus6

Tools of the trade Eclipse, UML Tools, SVN, Ant, Hudson, JUnit, Bugzilla

Enabling technologies HTTP, XML, JavaScript, Ajax

Persistence RDBMS/SQL/JDBC, ORM/Hibernate

Web Programming Servlets, JSP

Google Frameworks and Services GWT, App Engine

Mobile J2ME, Android

Enterprise and Distributed EJB, RMI, JAX-WS

Page 7: Software System Development

Holistic approach7

A taste of what it’s take to bring an idea to the software product

Experience every(almost) stage of software product development lifecycle

Subjects (technologies and methodologies) are covered at very high level.

Blend of methodologies, ideas and techniques from software engineering, product management, project management

Page 8: Software System Development

Course Organization8

Goal: every participant will get exposed to the major aspects of

each job role

Page 9: Software System Development

Startup environment9

Page 10: Software System Development

Tentative Lesson Plan10

1st hour: Presentation of technologies or/and methodologies useful for next assignment

2nd and 3rd hour: Individual presentation on technologies/tools Group presentation on a project tasks Discussion , brainstorming

Small deliverables from each group for every class

Page 11: Software System Development

Group deliverables11

Page 12: Software System Development

Grading12

Exam 50% Basic concept from methodologies and

technologies studied

Group and individual presentation 40% As described above

In-class participating 10% Comments, discussions, criticism,

brainstorming

Page 13: Software System Development

100% grade for 100% effort13

Page 14: Software System Development

Plan your time for the course

14

Page 15: Software System Development

Please introduce yourself15

Name Academic background

Undergraduate degree Current status and courses already passed

Work experience Roles, technologies , tools you are or were

exposed at your work Your expectation from the course

“Just for the credit” is OK

Page 16: Software System Development

Starting from myself16

Sasha Apartsin [email protected] Academics

B.Sc. in Computer Science ,Technion M.Sc. In Computer Science ,Weizmann M.Sc. In Management ,Polytechnic Institute of NYU Currently Ph.D. @Tel-Aviv University

Industry certifications Project Management Methodologies (PMP from PMI) Software Development/Management Methodologies (CSDP from

IEEE) Product Development/Management Methodologies (NPDP from

PDMA) Industry experience

From 1991 in various roles (student, developer, development group manager, architect, product manager) at various organizations (startups, matrix corporations, independent consultant) and industries (networking, web, telecom, enterprise)

Page 17: Software System Development

Product Ideas17

Page 18: Software System Development

Proposed product ideas18

Page 19: Software System Development

Course Scheduling Service19

It can be time consuming to come up with good course schedule/selection taking into account various constrains Courses already taken Courses available this semester Courses given only once a year Personal preferences (days, hours, lecturers,

subjects) Course difficulty Friends preferences

Page 20: Software System Development

Resume Service20

Some says the resume should be adjusted for each position its time consuming to adjust resume for every

position

The resume might be evaluated by different people at the potential employer company. Some looking for experience with specific technologies, other are looking for managerial experience.

Sometimes people would like zoom in into specific project you mention in your resume and get more details

Page 21: Software System Development

Students social network21

Updates from different courses you take are spread at different places

Can’t easily connect to other students from your past courses

Ask recommendations, opinions, advice from students who already took the course

Page 22: Software System Development

A View on Software Product Development Process

22

Page 23: Software System Development

Simplified view on software product development process

23

Page 24: Software System Development

Activities24

Product Planning Define the product

System Design Design Inner working

Project Planning Estimate, Plan and assign work

Project Execution Code, Test

Deployment, Maintenance, Support Deliver to customer(s)

Page 25: Software System Development

Something is missing….25

Customer/User What is the difference?

“Cat food problem”: Buyer is not a user On the Web everything is mixed up….

Page 26: Software System Development

Group Roles to experience during the course

26

Customer Provide initial story and accept deliverables

Product Planning Team Product requirements/specifications

System Design Team Software architecting and design

Project Planning Team Plan and monitor activities

Execution Team Develop , QA and deploy

Page 27: Software System Development

Approximate lessons breakdown

27

Page 28: Software System Development

Only third of all software projects are successful

28

Top reason for failure: Lack of Communications

Page 29: Software System Development

Group-Role Assignments Table

29

Resume Service

Social Network

Course Scheduli

ngCustomer G1 G2 G3Product Planning

G2 G3 G1Product Design

G3 G1 G2Project Planning

G2 G3 G1Execution G3 G1 G2

Page 30: Software System Development

Group Assignment #130

“Customer” presentation next week 15 minutes, 10 slides Focus on a problem not on the solution Invent/Recall stories , persons, scenarios

involving the problem Complain, make wishes Be ready to answer questions from the audience Open discussion on tools, product ideas,

technologies

Page 31: Software System Development

Individual Assignment

Eclipse IDE overview Install, compile simple Java project, share

experience Demonstrate in class, read few articles You thought on cons and pros

Google App Engine Read few article Write simple web app Demonstrate in class, share expirience