swe © solomon seifu 2010 1 cs425 software engineering solomon seifu department of computer science...
TRANSCRIPT
SWE © Solomon Seifu 2010 1
CS425 Software Engineering
Solomon Seifu
Department of Computer Science
Maharishi University of Management, Fairfield, IA
SWE © Solomon Seifu 2010 2
SWE - Agenda
Administrative Issues Course Goal Course Objectives Lessons
Lesson 1 Introduction to Software Engineering & Best
Practices Project
SWE © Solomon Seifu 2010 3
SWE - Agenda (Cont.) Lesson 2
Projects & Tools Modeling Tools Versioning Tools JUnit
Lesson 2-1 Rapid Prototyping, GUI Design & Stubs
Lesson 3 Fundamentals of OO & UML Lesson 3-1
Class Diagram Lesson 3-2
Sequence, Interaction Overview, Communication, Interaction, State, Package, Deployment, Timing
Diagrams
SWE © Solomon Seifu 2010 4
SWE - Agenda (Cont.) Inception
Lesson 4 - Requirement Analysis Elaboration
Lesson 5 – Use Case Modeling Lesson 6 – Architecture Analysis Lesson 7 – Use Case Analysis Lesson 8 – Project Management, Planning &
Software Lifecycle Models Lesson 9 – Architecture Design Lesson 10 – Use Case Design Lesson 11 – Subsystem Design
SWE © Solomon Seifu 2010 5
SWE - Agenda (Cont.) Elaboration
Lesson 12 – Class Design Lesson 12-1 – Reusability & Portability Lesson 12-2 – Design Patterns Lesson 12-3 – Cohesion Lesson 12-4 – Coupling Lesson 12-5 – Good OO Design
SWE © Solomon Seifu 2010 6
SWE - Agenda (Cont.) Construction
Lesson 13 – Implementation Lesson 13-1 – Exception, Logging &
Assertion Lesson 13-2 – Testing
TransitionLesson 14 – Maintenance & Refactoring
SWE © Solomon Seifu 2010 7
Administrative Issues
SWE © Solomon Seifu 2010 8
SWE - First Thing First
All students need to be in class by 10:00am Professional etiquette, attitude and behavior
in the class will be given consideration We’ll have meditation everyday, starting at
12:20 & ending at 12:30 before we’re dismissed. Everyone is expected to be silent during meditation
SWE © Solomon Seifu 2010 9
SWE - Professional Etiquette Policy
Since you are in here on a Masters degree and a Professional program, the Computer Science department requires higher standards of dress than the rest of the University
Men should be clean shaven (beard is OK, but if no beard then clean shaven), dress pants and a shirt with a sleeves and a collar
Jeans are not acceptable for class!
SWE © Solomon Seifu 2010 10
SWE - Professional Etiquette Policy (Cont.)
Ladies may wear dress pants with a nice top, or skirt or a dress, but again, no jeans!
YOU MAY BE ASKED TO LEAVE CLASS IF YOU ARE NOT APPROPRIATELY DRESSED ACCORDING TO THESE STANDARDS
SWE © Solomon Seifu 2010 11
SWE - Professional Etiquette Policy (Grading)
Proper etiquette is essential to our personal and professional success, and the college years are an ideal time to cultivate these values
To give attention and importance to this, several fundamental values of etiquette are built into the grading system in every course
SWE © Solomon Seifu 2010 12
Course Goals & Objectives
SWE © Solomon Seifu 2010 13
SWE - Goals
Understand the principles and best practices of software “engineering”
Learn to plan and execute an entire software engineering project from inception to delivery and maintenance, including analysis, design, implementation and testing
SWE © Solomon Seifu 2010 14
SWE - Objectives
Know the principles of object-oriented software development and gain hands-on experience with industry standard analysis and design tools and techniques, such as the Unified Modeling Language (UML) and Unified Software Development Process using use case driven, incremental, iterative, architecture-centric approach
SWE © Solomon Seifu 2010 15
SWE - Objectives (Cont.)
Compare the Unified Process with emerging eXtreme Programming, Agile & other development processes
Know the basic organization of a modern integrated development environment (IDE) such as Eclipse, including a versioning tool
SWE © Solomon Seifu 2010 16
SWE - Objectives (Cont.)
Apply modern software architecture such as the 3-tier architecture in software development
Use technologies such as Java Swing for the interface development and Java Database Connectivity (JDBC) for the bridge to the database layer such as MS Access
SWE © Solomon Seifu 2010 17
SWE - Objectives (Cont.) Skillfully assign responsibilities to software
objects, which is a critical ability in OO development
Design and implement a software system which is reusable, modular, cohesive and loosely coupled
Use architecture and design patterns to solve common software engineering problems
SWE © Solomon Seifu 2010 18
SWE - Objectives (Cont.)
Foster mutual support, individual accountability and a can-do attitude among one’s teammates to accomplish a given objective
SWE © Solomon Seifu 2010 19
Course Text, Materials & Resources
SWE © Solomon Seifu 2010 20
SWE - Course Website
SWE © Solomon Seifu 2010 21
SWE - Text & Materials
UML Distilled, Third Edition: A Brief Guide to the Standard Object Modeling Language by Martin Fowler, (2003) Addison-Wesley Pub Co; ISBN: 0-321-19368-7
Rational Unified Process. Copyright 1987 – 2003 Rational Software Corp
SWE © Solomon Seifu 2010 22
SWE - Resources
SWE Template Documents (CVS Documents)Architecture AnalysisArchitecture DesignClass Responsibility Collaboration (CRC)Glossary Iteration PlanSoftware Architecture
SWE © Solomon Seifu 2010 23
SWE - Resources (Cont.)
Subsystem DesignSupplementary SpecificationTest PlanUse Case AnalysisUse Case DesignUse Case ModelUse Case SpecificationVision
SWE © Solomon Seifu 2010
SWE - Resources (Cont.)