Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

slides

288 views

Published on

  • Be the first to comment

  • Be the first to like this

slides

  1. 1. CS 160: Software Engineering May 13 Class Meeting Department of Computer Science San Jose State University Spring 2008 Instructor: Prof. Ron Mak http:// www.cs.sjsu.edu/~mak
  2. 2. The Final <ul><li>When and where </li></ul><ul><ul><li>Section 1: Thursday, May 15 </li></ul></ul><ul><ul><li>Section 2: Tuesday, May 20 </li></ul></ul><ul><ul><li>Both in MH 225 from 7:45 – 10:00 p.m. </li></ul></ul><ul><li>Format </li></ul><ul><ul><li>Open book, notes, laptop, and Internet. </li></ul></ul><ul><ul><li>Similar to the midterm. Questions that: </li></ul></ul><ul><ul><ul><li>Test your understanding (not memorization) of the material. </li></ul></ul></ul><ul><ul><ul><li>Require some analytical and/or critical thinking about the concepts and principles of software engineering. </li></ul></ul></ul>
  3. 3. Major Themes <ul><li>What is software engineering? </li></ul><ul><ul><li>Complexity + Change Collaboration, Communication, Coordination </li></ul></ul><ul><ul><li>Project structure and communication </li></ul></ul><ul><ul><li>Team member roles </li></ul></ul><ul><li>Project organization </li></ul><ul><ul><li>Waterfall model vs. Agile development </li></ul></ul><ul><ul><li>The Agile Manifesto </li></ul></ul><ul><ul><li>Project risk </li></ul></ul>
  4. 4. Major Themes (cont’d) <ul><li>Project phases, activities, and artifacts </li></ul><ul><ul><li>Use cases </li></ul></ul><ul><ul><li>Requirements elicitation </li></ul></ul><ul><ul><li>Functional specification </li></ul></ul><ul><ul><li>Requirements analysis </li></ul></ul><ul><ul><li>Conceptual design </li></ul></ul><ul><ul><li>Prototyping </li></ul></ul><ul><ul><li>System architecture </li></ul></ul><ul><ul><li>Object design and development </li></ul></ul><ul><ul><li>Work breakdown structure </li></ul></ul><ul><ul><li>Estimating, scheduling, Gantt charts </li></ul></ul><ul><ul><li>Test plan and testing </li></ul></ul><ul><ul><li>Code reviews </li></ul></ul><ul><ul><li>Product demos </li></ul></ul>
  5. 5. Major Themes (cont’d) <ul><li>Architecture and design </li></ul><ul><ul><li>Partitioning, coupling, cohesion, layering </li></ul></ul><ul><ul><li>Architectural styles </li></ul></ul><ul><ul><li>Middleware and application servers </li></ul></ul><ul><ul><li>Web-based applications </li></ul></ul><ul><ul><li>Service-oriented architecture (SOA) </li></ul></ul><ul><ul><li>Web services </li></ul></ul><ul><ul><li>Design patterns </li></ul></ul><ul><ul><li>Legacy software and data </li></ul></ul><ul><ul><li>Relational data model </li></ul></ul><ul><ul><li>Object data model </li></ul></ul><ul><ul><li>Object-relational mapping </li></ul></ul><ul><ul><li>Content management systems </li></ul></ul>
  6. 6. Major Themes (cont’d) <ul><li>Software reliability </li></ul><ul><ul><li>Testing </li></ul></ul><ul><ul><ul><li>User, unit, integration, system, regression, stress </li></ul></ul></ul><ul><ul><ul><li>Black box and white box </li></ul></ul></ul><ul><ul><ul><li>Alpha and beta </li></ul></ul></ul><ul><ul><li>Test cases </li></ul></ul><ul><ul><li>Logging and monitoring </li></ul></ul><ul><ul><li>Fault tolerance </li></ul></ul><ul><ul><li>Failure analysis </li></ul></ul><ul><ul><li>Test-driven development </li></ul></ul>
  7. 7. Major Themes (cont’d) <ul><li>Failed projects </li></ul><ul><ul><li>Denver International Airport baggage handling system </li></ul></ul><ul><ul><li>FAA Advanced Automation System </li></ul></ul><ul><ul><li>Therac-25 </li></ul></ul><ul><ul><li>U.S.S. Vincennes </li></ul></ul><ul><ul><li>Project do’s and don’ts </li></ul></ul>
  8. 8. Major Themes (cont’d) <ul><li>Project management and methodologies </li></ul><ul><ul><li>Agile project management </li></ul></ul><ul><ul><li>Extreme Programming </li></ul></ul><ul><ul><li>The Rational Unified Process </li></ul></ul><ul><li>Ethics </li></ul><ul><ul><li>Morality and ethics </li></ul></ul><ul><ul><li>Professional responsibilities </li></ul></ul><ul><ul><li>Software engineering codes </li></ul></ul><ul><ul><li>Speaking out and whistle blowing </li></ul></ul>
  9. 9. Major Themes (cont’d) <ul><li>Software engineering tools </li></ul><ul><ul><li>Subversion </li></ul></ul><ul><ul><li>Trac </li></ul></ul><ul><ul><li>GanntProject </li></ul></ul><ul><ul><li>Ant </li></ul></ul><ul><ul><li>Java Applets and servlets JavaServer Pages (JSP) JavaServer Faces (JSF) </li></ul></ul><ul><ul><li>Enterprise JavaBeans (EJB) </li></ul></ul><ul><ul><li>Spring </li></ul></ul><ul><ul><li>Web services </li></ul></ul><ul><ul><li>Axis </li></ul></ul><ul><ul><li>MySQL </li></ul></ul><ul><ul><li>JDBC drivers </li></ul></ul><ul><ul><li>Hibernate </li></ul></ul><ul><ul><li>ObjectDB </li></ul></ul><ul><ul><li>Plone </li></ul></ul><ul><ul><li>JUnit </li></ul></ul><ul><ul><li>Clover </li></ul></ul><ul><ul><li>Log4J </li></ul></ul>

×