Dr. Tom WayCSC 47001 Semester Review CSC 4700 Software Engineering.

Slides:



Advertisements
Similar presentations
Software Testing with Visual Studio 2013 & Team Foundation Server 2013 Benjamin Day.
Advertisements

HCI in the software process Chapter 6
Unit 1, Lesson 4 Software Development Cycle AOIT Introduction to Programming Copyright © 2009–2012 National Academy Foundation. All rights reserved.
Alternate Software Development Methodologies
© ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua.
Agile
 The Rise of Computer Science ◦ Machine Language (1 st Gen) ◦ Assembly Language (2 nd Gen) ◦ Third Generation Languages (FORTRAN, BASIC, Java, C++, etc.)
1 Lecture 7: Implementing a Prototype: Overview of Using PowerPoint, Flash Catalyst, html, Microsoft Sketchflow/Expression Blend, etc. Brad Myers
UI Standards & Tools Khushroo Shaikh.
Software Development Models: Waterfall and Spiral Sung Hee Park Department of Mathematics and Computer Science Virginia State University August 21, 2012.
Programming with eyes wide open. Your host today Subby Angelov Team
Introduction to AppInventor Dr. José M. Reyes Álamo.
Classical vs. Agile Requirements Development Svetlin Nakov Telerik Software Academy academy.telerik.com Senior Technical Trainer
Web Design Process CMPT 281. Outline How do we know good sites from bad sites? Web design process Class design exercise.
CS 235: User Interface Design August 27 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak
CS 235: User Interface Design August 27 Class Meeting Department of Computer Science San Jose State University Fall 2014 Instructor: Ron Mak
Every week: Sign in at the door If you are new: Fill in Registration Form Ask a Mentor how to get started Make sure you are on the Athenry Parents/Kids.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements l.
Project Proposal: Academic Job Market and Application Tracker Website Project designed by: Cengiz Gunay Client: Cengiz Gunay Audience: PhD candidates and.
SOFTWARE ENGINEERING JOBS Tyler White & Mim Cobaj.
1 Design and Integration: Part 1 Nuggets about Design vs Project Management.
INTROSE Introduction to Software Engineering Raymund Sison, PhD College of Computer Studies De La Salle University Software: Definitions,
Processes, Tools, & Best Practices. My Background Lexmark Software Development for 15 years (‘93 – ‘08) – Multi-tier Java application servers – Window.
Joel Bapaga on Web Design Strategies Technologies Commercial Value.
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
Dr. Tom WayCSC Software Processes CSC 4700 Software Engineering.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
Unified Process versus Extreme Programming. Outline Compare and contrast UP and XP  Processes / Disciplines  Management  Artefacts Risk management.
Cloud Computing Characteristics A service provided by large internet-based specialised data centres that offers storage, processing and computer resources.
Classical vs. Agile Requirements Development Svetlin Nakov Telerik Software Academy academy.telerik.com Senior Technical Trainer
Chapter 11: Software Prototyping Omar Meqdadi SE 273 Lecture 11 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Steve Dower Software Engineer Python Tools for Visual Studio.
Design and Programming Chapter 7 Applied Software Project Management, Stellman & Greene See also:
Software testing Main issues: There are a great many testing techniques Often, only the final code is tested.
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
16 October Reminder Types of Testing: Purpose  Functional testing  Usability testing  Conformance testing  Performance testing  Acceptance.
CSC 395 – Software Engineering Lecture 10: Execution-based Testing –or– We can make it better than it was. Better...faster...agiler.
First BlueJ Day Houston, 2006 Unit Testing with BlueJ Bruce Quig Deakin University.
WEP Presentation for non-IT Steps and roles in software development 2. Skills developed in 1 st year 3. What can do a student in 1 st internship.
Informatics 43 – May 14, Open Source Source code is freely available and (usually) re-distributable Examples: Firefox web browser Apache HTTP Server.
1 Design and Integration: Part 2. 2 Plus Delta Feedback Reading and lecture repeat Ambiguous questions on quizzes Attendance quizzes Boring white lecture.
Java GUI building approaches Aleksandar Kartelj Faculty of Mathematics, Belgrade 11 th Workshop “Software Engineering Education and.
Design Process … and some design inspiration. Course ReCap To make you notice interfaces, good and bad – You’ll never look at doors the same way again.
T Iteration Demo Team 13 I1 Iteration
Multimedia Presentations Wow The Why and the.
CSC 4700 Software Engineering
Refactoring - 1 CS494: Intro. to Refactoring Readings: –Refactoring for everyone: How and why to use Eclipse's automated refactoring features. By David.
Today’s Agenda 1.Student Evaluation of Instruction (SEOI) 2.Lego Program Assignment 1.Program demonstration Today 3.Research Presentations –Oral Presentations.
Object Oriented Analysis and Design 1 Chapter 9 From Design to Implementation  Implementation Model  Forward, Reverse, and Round-Trip Engineering  Mapping.
AGILE XP AND SCRUM © University of LiverpoolCOMP 319slide 1.
Experience Report: Test Automation in an Agile Environment Len Vaz Oct 13, 2010.
Agile. Processes Waterfall Traditional With prototyping Sprial Agile Dynamic Systems Development Method (DSDM) Scrum Crystal eXtreme Programming (XP)
Continuous Improvement. Start Simple and Continually Improve E.g., Gmail Labels 1.
Prototyping Creation of concrete but partial implementations of a system design to explore usability issues.
CompSci Today’s topics Industry Practice Software Engineering Upcoming The Killer Robot Reading Great Ideas, Chapters 7.
6 Cool Tools HTML5 Game For Development. Games with HTML5 HTML5 acts as a ubiquitous podium on the web for game development. HTML5 introduces many cutting.
GROUPROCKET - Choose Collaboration Software for Your Company.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
Chapter 3 Agile software development 1 Chapter 3 – Agile Software Development.
Agile Methods SENG 301.
Software Development.
SE goes software engineering; (practically) managing the Compose
SE goes software engineering; managing the Compose* project.
Introduction to AppInventor
PowerApps and Flow.
USC CSCI 577A Course Project
SE goes software engineering; (practically) managing the Compose
MBSE Usability Activity Team Model-based Systems Engineering (MBSE) Initiative MBSE IS Workshop June 2011.
System Development Methods
Presentation transcript:

Dr. Tom WayCSC Semester Review CSC 4700 Software Engineering

What have we learned? What is Software? What is Software Engineering? Why is it important? What are the careers in SE? What are requirements? User requirements, system requirements Functional vs non-functional requirements Domain requirements Dr. Tom WayCSC 47002

What else have we learned? Natural language can produce lack of clarity Requirements vs. software specification Fred Brooks says “No silver bullet!” Specify tying shoe laces Project brainstorming Team management Agile software development SCRUM Dr. Tom WayCSC 47003

What more have we learned? Agile Manifesto Extreme programming, pair programming Refactoring Bad smells in code, lots of examples The rule of 3 (third time you code something, make it reusable instead) Hands-on refactoring with Eclipse Designing a prototype Dr. Tom WayCSC 47004

What other stuff did we learn? Throw-away prototyping Incremental development Evolutionary development Prototyping tools and toolkits (e.g., PowerPoint) Joel on Software, great site for SE info More and more about SCRUM User interface design, good vs bad ideas Downfall of Agile Hitler Dr. Tom WayCSC 47005

What other things were learned? Project presentations Informal demos of software Pitfalls of live software demos Impact of early design choices Impact of early technology choices Impact of early organizational choices Speed prototyping – simple web browser Porting code – from C to Java Dr. Tom WayCSC 47006

What else was learned? Team member evaluation Team-based collaboration, what works, what doesn’t Software design specifications IEEE standard specification template What goes into a specification Purpose and goal of specification Project management – people make it tricky Dr. Tom WayCSC 47007

What are other things learned? The HOPE method is not a great approach What’s it like working at Google What things help at a job interview Open source vs free software Who is Richard Stallman? Losing momentum is painful on software project Multi-location collaboration is hard Multi-location collaboration happens a lot Dr. Tom WayCSC 47008

What are ideas were learned? Test-driven development is a good thing Eclipse (or NetBeans) and JUNIT enable TDD Bug tracking is vital FogBugz is easy to use and widely used Design patterns are important There are lots of design patterns Anti-patterns are important (to recognize) There are lots of anti-patterns (to fix) Dr. Tom WayCSC 47009

What is possible in a semester? Develop a desktop widget (Rita’s Water Ice) Google Maps enable cool running route app GameMaker helps with RPG games Sprite editor tools are needed, not too hard Swipe tracking app on iPhone is not too hard University technology bureaucracy is hard Visual basic and automate spreadsheet analysis GameMaker is good for retro-style game design Dr. Tom WayCSC

What is possible in a semester? MyNova is universally despised MyNova Mobile is a welcome and steal-able idea Assume users will do dumb things Interactive storytelling software exists, is usable Java provide encryption support, apps doable Online APIs are available for lots of things MovieGame API speeds up development Interactive iPhone Pong is tricky, timing hard Dr. Tom WayCSC

One last thing No idea is too crazy to try Dr. Tom WayCSC