350 likes | 525 Views
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
E N D
Software System Development Spring 2010
Prerequisites • 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.
Technology Focus • 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
Holistic approach • 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
Course Organization Goal: every participant will get exposed to the major aspects of each job role
Tentative Lesson Plan • 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
Grading • 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
Please introduce yourself • 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
Starting from myself • Sasha Apartsin apartsin@gmail.com • 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)
Course Scheduling Service • 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
Resume Service • 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
Students social network • 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
Activities • 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)
Something is missing…. • Customer/User • What is the difference? • “Cat food problem”: Buyer is not a user • On the Web everything is mixed up….
Group Roles to experience during the course • 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
Only third of all software projects are successful Top reason for failure: Lack of Communications
Group Assignment #1 • “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
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