Top Banner
Leave Your Ego at the Door! CMSC 345 Software Design and Development Spring 2011 Ms. Susan Mitchell
28

Leave Your Ego at the Door! CMSC 345 Software Design and Development Spring 2011 Ms. Susan Mitchell.

Jan 02, 2016

Download

Documents

Eric Miles
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Leave Your Ego at the Door! CMSC 345 Software Design and Development Spring 2011 Ms. Susan Mitchell.

Leave Your Ego at the Door!

CMSC 345Software Design and DevelopmentSpring 2011

Ms. Susan Mitchell

Page 2: Leave Your Ego at the Door! CMSC 345 Software Design and Development Spring 2011 Ms. Susan Mitchell.

2CMSC 345, Version 1/11 S. Mitchell

First Assignment

Due by next class: Read through the course Blackboard site

(let me know ASAP if you don’t have access or if there are any errors)

Use the Discussion Boards button on our Blackboard site to share a recent “User Interface Horror Story”

Read “A Survey of System Development Process Models” (Assignments button, Articles link)

Page 3: Leave Your Ego at the Door! CMSC 345 Software Design and Development Spring 2011 Ms. Susan Mitchell.

3CMSC 345, Version 1/11 S. Mitchell

Prerequisite

You must have completed CMSC 341, Data Structures, with a “C” or better

You should not be concurrently enrolled in both courses, even if you are repeating 341

Drop CMSC 345 now if you do not have the prerequisite

Page 4: Leave Your Ego at the Door! CMSC 345 Software Design and Development Spring 2011 Ms. Susan Mitchell.

4CMSC 345, Version 1/11 S. Mitchell

Course Objectives To understand and experience the

software development life cycle (SDLC) To experience working on a software

development team (and being egoless) To experience taking a leadership role in

a software development team To enhance written and verbal

communication skills

Page 5: Leave Your Ego at the Door! CMSC 345 Software Design and Development Spring 2011 Ms. Susan Mitchell.

5CMSC 345, Version 1/11 S. Mitchell

Writing Intensive (WI)

Freshmen entering UMBC as of fall 2007 are required to take one writing intensive (WI) course as part of their general education requirements. CMSC 345 fulfills this requirement. As a WI course, CMSC 345 engages students in writing as a form of critical

inquiry and scholarly research, requires students to write frequently both in and/or out

of class, provides useful feedback to students regarding their

writing, and provides discussion of the work students are doing as

writers at various points during the term.

Page 6: Leave Your Ego at the Door! CMSC 345 Software Design and Development Spring 2011 Ms. Susan Mitchell.

6CMSC 345, Version 1/11 S. Mitchell

Software Engineering – What Is It?

It’s not this!

Page 7: Leave Your Ego at the Door! CMSC 345 Software Design and Development Spring 2011 Ms. Susan Mitchell.

7CMSC 345, Version 1/11 S. Mitchell

SE is Multidisciplinary

Computer Science

Information Systems

Business

Social Sciences

SE

Page 8: Leave Your Ego at the Door! CMSC 345 Software Design and Development Spring 2011 Ms. Susan Mitchell.

8CMSC 345, Version 1/11 S. Mitchell

A Formal Definition

IEEE Definition (IEEE Standard 610.12, 1990)

“The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software.”

Page 9: Leave Your Ego at the Door! CMSC 345 Software Design and Development Spring 2011 Ms. Susan Mitchell.

9CMSC 345, Version 1/11 S. Mitchell

A Formal Definition

IEEE Definition (IEEE Standard 610.12, 1990)

“The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software.”

Page 10: Leave Your Ego at the Door! CMSC 345 Software Design and Development Spring 2011 Ms. Susan Mitchell.

10CMSC 345, Version 1/11 S. Mitchell

A Formal Definition

IEEE Definition (IEEE Standard 610.12, 1990)

“The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software.”

Page 11: Leave Your Ego at the Door! CMSC 345 Software Design and Development Spring 2011 Ms. Susan Mitchell.

11CMSC 345, Version 1/11 S. Mitchell

A Formal Definition

IEEE Definition (IEEE Standard 610.12, 1990)

“The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software.”

Page 12: Leave Your Ego at the Door! CMSC 345 Software Design and Development Spring 2011 Ms. Susan Mitchell.

12CMSC 345, Version 1/11 S. Mitchell

A Formal Definition

IEEE Definition (IEEE Standard 610.12, 1990)

“The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software.”

Page 13: Leave Your Ego at the Door! CMSC 345 Software Design and Development Spring 2011 Ms. Susan Mitchell.

13CMSC 345, Version 1/11 S. Mitchell

A Formal Definition

IEEE Definition (IEEE Standard 610.12, 1990)

“The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software.”

Page 14: Leave Your Ego at the Door! CMSC 345 Software Design and Development Spring 2011 Ms. Susan Mitchell.

14CMSC 345, Version 1/11 S. Mitchell

A Formal Definition

IEEE Definition (IEEE Standard 610.12, 1990)

“The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software.”

Page 15: Leave Your Ego at the Door! CMSC 345 Software Design and Development Spring 2011 Ms. Susan Mitchell.

15CMSC 345, Version 1/11 S. Mitchell

Software Engineers – What Do They Know?

Guide to the Software Engineering Body of Knowledge (SWEBOK) (IEEE, 2004)

“A comprehensive description of the knowledge needed for the practice of software engineering.”

Requirements Design Construction Testing Maintenance Configuration Management Engineering Management Engineering Process Tools and Methods Quality

Page 16: Leave Your Ego at the Door! CMSC 345 Software Design and Development Spring 2011 Ms. Susan Mitchell.

16CMSC 345, Version 1/11 S. Mitchell

Software Engineering Education– What Do You Learn?

Software Engineering 2004, Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering (IEEE/ACM, 2004)

SEEK: Software Engineering Education [body of] Knowledge

“The body of knowledge that is appropriate for an undergraduate program in software engineering.”

Page 17: Leave Your Ego at the Door! CMSC 345 Software Design and Development Spring 2011 Ms. Susan Mitchell.

17CMSC 345, Version 1/11 S. Mitchell

Software Engineering Education (2)

SEEK Knowledge Areas Computing essentials Mathematical & engineering fundamentals Professional practice Software modeling & analysis Software design Software V&V Software evolution Software process Software quality Software management

Page 18: Leave Your Ego at the Door! CMSC 345 Software Design and Development Spring 2011 Ms. Susan Mitchell.

18CMSC 345, Version 1/11 S. Mitchell

Software Engineering Education (3)

SE degrees – All levels ABET, Inc.

“The recognized U.S. accreditor of college and university programs in applied science, computing, engineering, and technology.” (self-proclaimed on the ABET website)

Page 19: Leave Your Ego at the Door! CMSC 345 Software Design and Development Spring 2011 Ms. Susan Mitchell.

19CMSC 345, Version 1/11 S. Mitchell

This Course Will Be Different! Very structured, yet very unstructured Has a “graduate course” feel

A lot of discussion and interaction A closer and less formal relationship with your

instructor I’ll be a facilitator rather than just an instructor

A general feeling of camaraderie Less memorization and more hands-on learning Different types of reading materials A lot of writing

Page 20: Leave Your Ego at the Door! CMSC 345 Software Design and Development Spring 2011 Ms. Susan Mitchell.

20CMSC 345, Version 1/11 S. Mitchell

This Course Will Be Different! (2)

A lot of material is not “black and white” You may talk to your classmates about the

project!

Page 21: Leave Your Ego at the Door! CMSC 345 Software Design and Development Spring 2011 Ms. Susan Mitchell.

21CMSC 345, Version 1/11 S. Mitchell

Textbooks and Other Resources

No textbook required Assigned readings from SE, CS, and IS

magazines and journals References posted on Blackboard site

(“SE Resources” button) Some books on reserve in the library Your instructor (no TA for this class)

Page 22: Leave Your Ego at the Door! CMSC 345 Software Design and Development Spring 2011 Ms. Susan Mitchell.

22CMSC 345, Version 1/11 S. Mitchell

Class Format (1) Lectures Discussions In-class exercises In-class work time Out-of-class work time Speakers (to be confirmed)

User-Centered Design Software Architecture and Design Configuration Management Software Testing

Page 23: Leave Your Ego at the Door! CMSC 345 Software Design and Development Spring 2011 Ms. Susan Mitchell.

23CMSC 345, Version 1/11 S. Mitchell

Class Format (2)

Post mortem exerciseSection 1 (TTh 4:00)

Tuesday, May 17, 3:30 – 5:30pm

Section 2 (MW 2:30) Friday, May 20, 1:00 – 3:00pm

Attendance is mandatory. (Isn’t it better than a final exam?!)

Your final grade will be lowered by one letter grade if you do not attend.

Page 24: Leave Your Ego at the Door! CMSC 345 Software Design and Development Spring 2011 Ms. Susan Mitchell.

24CMSC 345, Version 1/11 S. Mitchell

The Teams 4 or 5 people chosen by instructor Phase leaders chosen by team (see Course Info

button for Job Descriptions) Team Facilitator Requirements Design Implementation & Testing Delivery

CSEE or IS Department faculty members and PhD students used as “customers” (randomly assigned)

Page 25: Leave Your Ego at the Door! CMSC 345 Software Design and Development Spring 2011 Ms. Susan Mitchell.

25CMSC 345, Version 1/11 S. Mitchell

The Project (1) Chosen by instructor (everyone has the same

project) Minimal description (must elicit specific

requirements from customer) Some past projects:

ITE building event scheduler Household budgeting and financial system UMBC CS/IS student planning system Travel planning and expense reporting system Computer-based training for a programming language

Page 26: Leave Your Ego at the Door! CMSC 345 Software Design and Development Spring 2011 Ms. Susan Mitchell.

26CMSC 345, Version 1/11 S. Mitchell

The Project (2) Your choice of language, but restricted to imperative or

OO (e.g., C, C++, Java) unless otherwise approved by instructor

At least two people must know the chosen language when it is chosen.

At least two people must write code and provide proof of their contributions (approximately 50/50).

Your choice of: interface type (GUI or text-based) platform (e.g., Windows, Linux) desktop or web-based files or database

with customer approval.

Page 27: Leave Your Ego at the Door! CMSC 345 Software Design and Development Spring 2011 Ms. Susan Mitchell.

27CMSC 345, Version 1/11 S. Mitchell

Grading (1)

Individual Grades (35% total) Attendance (5%) Quizzes and/or homework (20%) Weekly verbal and biweekly written status reports

(5%) Final product delivery and demo (5%) Other (for borderline grades)

class participation assignments customer satisfaction reports student survey peer evaluations (possible deduction)

Page 28: Leave Your Ego at the Door! CMSC 345 Software Design and Development Spring 2011 Ms. Susan Mitchell.

28CMSC 345, Version 1/11 S. Mitchell

Grading (2)

Team Grades (65% total) Project artifacts (40%)

System Requirements Specification (8%) System Design Document (8%) UI Design Document (8%) Code Inspection Report (6%) Testing Report (6%) Administrator Manual (4%)

Final product delivery and demo (5%) Final product (20%) Midterm presentation (satisfactory/unsatisfactory)