AlexLecture_Introduction - 1 CSE 335: Software Design Dr....

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: 1 CSE 335: Software Design Dr. Alex X. Liu [email protected] 2243 Engineering Building Department of Computer Science and Engineering Michigan State University TA Email Greg Singer: [email protected] ─ Office hours: ─ Wednesday 4:30-5:30 PM, ─ Thursday 1:30-2:30 PM, ─ Friday 1:30-2:30 PM , ─ or by appointment. ─ Location: 3203 Engineering (Bone Lab). 2 Ke Shen: [email protected] ─ Monday 10-11 AM ─ Tuesday 12-1 PM Science vs. Engineering Science is on discovery Engineering is on design: ─ The application of scientific principles and methods to the construction of useful structures & machines 3 Programming vs. Engineering Programming ─ Small project ─ You ─ Build what you want ─ One product ─ Few sequential changes ─ Short-lived ─ Cheap ─ Small consequences 4 Engineering ─ Huge project ─ Teams ─ Build what they want ─ Family of products ─ Many Parallel changes ─ Long-lived ─ Costly ─ Large Consequences Software Engineering Software engineering is a special type of engineering ─ Software is extremely complex ─ Software construction is human-intensive ─ Software is intangible and invisible ─ Software is constantly subject to pressures for change ─ Software needs to conform to arbitrary interfaces and contexts 5 ● E.g., business rules and processes vary dramatically from business to business ● E.g., existing databases of information. Software Development Lifecycle: Waterfall Model 6 2 Requirements Problem Definition → Requirements Specification ─ determine exactly what the customer and user want ─ develop a contract with the customer ─ specifies what the software product is suppose to do Difficulties li t k f d 7 ─ client asks for wrong product ─ client is computer/software illiterate ─ specifications are ambiguous, inconsistent, incomplete Architecture/Design Requirements Specification → Architecture/Design ─ architecture: decompose software into modules with interfaces ─ design: develop module specifications (algorithms, data types) ─ maintain a record of design decisions and traceability ─ specifies how the software product is to do its tasks Difficulties ─ miscommunication between module designers ─ design may be inconsistent, incomplete, ambiguous 8 Architecture vs. Design ─ Architecture is concerned with the selection of architectural elements, their interactions, and the constraints on those elements and their interactions necessary to provide a framework in which to satisfy the requirements and serve as a basis for the design....
View Full Document

This note was uploaded on 12/14/2009 for the course CSE 335 taught by Professor Kraemer during the Fall '08 term at Michigan State University.

Page1 / 6

AlexLecture_Introduction - 1 CSE 335: Software Design Dr....

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online