1 / 31

Software System Development

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

cisco
Download Presentation

Software System Development

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software System Development Spring 2010

  2. About The Course

  3. What this course is about?

  4. Some of software organization job roles/tasks

  5. 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.

  6. 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

  7. 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

  8. Course Organization Goal: every participant will get exposed to the major aspects of each job role

  9. Startup environment

  10. 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

  11. Group deliverables

  12. 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

  13. 100% grade for 100% effort

  14. Plan your time for the course

  15. 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

  16. 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)

  17. Product Ideas

  18. Proposed product ideas

  19. 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

  20. 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

  21. 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

  22. A View on Software Product Development Process

  23. Simplified view on software product development process

  24. 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)

  25. Something is missing…. • Customer/User • What is the difference? • “Cat food problem”: Buyer is not a user • On the Web everything is mixed up….

  26. 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

  27. Approximate lessons breakdown

  28. Only third of all software projects are successful Top reason for failure: Lack of Communications

  29. Group-Role Assignments Table

  30. 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

  31. 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

More Related