Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Dr. Tom WayCSC 47001 Semester Review CSC 4700 Software Engineering."— Presentation transcript:

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

2 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

3 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

4 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

5 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

6 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

7 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

8 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

9 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

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

11 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 470011

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


Download ppt "Dr. Tom WayCSC 47001 Semester Review CSC 4700 Software Engineering."

Similar presentations


Ads by Google