swe © solomon seifu 2010 1 cs425 software engineering solomon seifu department of computer science...

24
SWE © Solomon Seifu 2010 1 CS425 Software Engineering Solomon Seifu Department of Computer Science Maharishi University of Management, Fairfield, IA

Upload: byron-austin

Post on 29-Dec-2015

224 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: SWE © Solomon Seifu 2010 1 CS425 Software Engineering Solomon Seifu Department of Computer Science Maharishi University of Management, Fairfield, IA

SWE © Solomon Seifu 2010 1

CS425 Software Engineering

Solomon Seifu

Department of Computer Science

Maharishi University of Management, Fairfield, IA

Page 2: 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

Page 3: SWE © Solomon Seifu 2010 1 CS425 Software Engineering Solomon Seifu Department of Computer Science Maharishi University of Management, Fairfield, IA

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

Page 4: SWE © Solomon Seifu 2010 1 CS425 Software Engineering Solomon Seifu Department of Computer Science Maharishi University of Management, Fairfield, IA

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

Page 5: SWE © Solomon Seifu 2010 1 CS425 Software Engineering Solomon Seifu Department of Computer Science Maharishi University of Management, Fairfield, IA

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

Page 6: SWE © Solomon Seifu 2010 1 CS425 Software Engineering Solomon Seifu Department of Computer Science Maharishi University of Management, Fairfield, IA

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

Page 7: SWE © Solomon Seifu 2010 1 CS425 Software Engineering Solomon Seifu Department of Computer Science Maharishi University of Management, Fairfield, IA

SWE © Solomon Seifu 2010 7

Administrative Issues

Page 8: SWE © Solomon Seifu 2010 1 CS425 Software Engineering Solomon Seifu Department of Computer Science Maharishi University of Management, Fairfield, IA

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

Page 9: SWE © Solomon Seifu 2010 1 CS425 Software Engineering Solomon Seifu Department of Computer Science Maharishi University of Management, Fairfield, IA

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!

Page 10: SWE © Solomon Seifu 2010 1 CS425 Software Engineering Solomon Seifu Department of Computer Science Maharishi University of Management, Fairfield, IA

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

Page 11: SWE © Solomon Seifu 2010 1 CS425 Software Engineering Solomon Seifu Department of Computer Science Maharishi University of Management, Fairfield, IA

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

Page 12: SWE © Solomon Seifu 2010 1 CS425 Software Engineering Solomon Seifu Department of Computer Science Maharishi University of Management, Fairfield, IA

SWE © Solomon Seifu 2010 12

Course Goals & Objectives

Page 13: SWE © Solomon Seifu 2010 1 CS425 Software Engineering Solomon Seifu Department of Computer Science Maharishi University of Management, Fairfield, IA

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

Page 14: SWE © Solomon Seifu 2010 1 CS425 Software Engineering Solomon Seifu Department of Computer Science Maharishi University of Management, Fairfield, IA

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

Page 15: SWE © Solomon Seifu 2010 1 CS425 Software Engineering Solomon Seifu Department of Computer Science Maharishi University of Management, Fairfield, IA

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

Page 16: SWE © Solomon Seifu 2010 1 CS425 Software Engineering Solomon Seifu Department of Computer Science Maharishi University of Management, Fairfield, IA

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

Page 17: SWE © Solomon Seifu 2010 1 CS425 Software Engineering Solomon Seifu Department of Computer Science Maharishi University of Management, Fairfield, IA

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

Page 18: SWE © Solomon Seifu 2010 1 CS425 Software Engineering Solomon Seifu Department of Computer Science Maharishi University of Management, Fairfield, IA

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

Page 19: SWE © Solomon Seifu 2010 1 CS425 Software Engineering Solomon Seifu Department of Computer Science Maharishi University of Management, Fairfield, IA

SWE © Solomon Seifu 2010 19

Course Text, Materials & Resources

Page 20: SWE © Solomon Seifu 2010 1 CS425 Software Engineering Solomon Seifu Department of Computer Science Maharishi University of Management, Fairfield, IA

SWE © Solomon Seifu 2010 20

SWE - Course Website

Page 21: SWE © Solomon Seifu 2010 1 CS425 Software Engineering Solomon Seifu Department of Computer Science Maharishi University of Management, Fairfield, IA

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

Page 22: SWE © Solomon Seifu 2010 1 CS425 Software Engineering Solomon Seifu Department of Computer Science Maharishi University of Management, Fairfield, IA

SWE © Solomon Seifu 2010 22

SWE - Resources

SWE Template Documents (CVS Documents)Architecture AnalysisArchitecture DesignClass Responsibility Collaboration (CRC)Glossary Iteration PlanSoftware Architecture

Page 23: SWE © Solomon Seifu 2010 1 CS425 Software Engineering Solomon Seifu Department of Computer Science Maharishi University of Management, Fairfield, IA

SWE © Solomon Seifu 2010 23

SWE - Resources (Cont.)

Subsystem DesignSupplementary SpecificationTest PlanUse Case AnalysisUse Case DesignUse Case ModelUse Case SpecificationVision

Page 24: SWE © Solomon Seifu 2010 1 CS425 Software Engineering Solomon Seifu Department of Computer Science Maharishi University of Management, Fairfield, IA

SWE © Solomon Seifu 2010

SWE - Resources (Cont.)