• Tidak ada hasil yang ditemukan

2110634 Software Design and Development

N/A
N/A
Protected

Academic year: 2025

Membagikan "2110634 Software Design and Development"

Copied!
2
0
0

Teks penuh

(1)

2110634 Software Design and Development Course Syllabus

Code 2110634

Course Name Software Design and Development Credits 3(3-0-9)

Department Computer Engineering Semester Second

Year 2553

Instructor Chate Patanothai Room 19-04

Engineering Building 4 Phone: 0-2218-6989

Email: [email protected]

URL: http://www.cp.eng.chula.ac.th/~chate/2110634 Condition -

Degree Master of Science (Software Engineering) Hours/Week 3 hours lecture

Section 1. Wed 09:00 – 12:00 5. Sat 09:00 – 12:00

Course Description Techniques of software design and development: project management, structured programming, verification and validation, security and privacy, and project documentation;

students are required to apply these techniques to large software projects

Evaluations

Assignments + Participation 20%

Project 30%

Midterm 20%

Final 30% (Saturday February 26, 2010.)

Textbook and References

Roger S. Pressman, Software Engineering – A Practitioner’s Approach, Mcgraw-Hill, 2004.

Bernd Bruegge and Allen H. Dutoit, Object-Oriented Software Engineering: Using UML, Patterns and Java, 2nd Edition, Prentice Hall, 2003.

Steven T. Albin, The Art of Software Architecture: Design Methods and Techniques, John Wiley & Sons, Inc., 2003.

Elisabeth Freeman, Eric Freeman, Bert Bates, Kathy Sierra, Head First Design Patterns, O’Reilly Media, Inc., 2004.

Eric Braude, Software Design – From Programming to Architecture, John Wiley & Sons, Inc., 2004.

(2)

Topics to be covered:

1) Overviews of Object-Oriented Software Design

• Surveys of software design methods

• Software design quality (Cohesion and Coupling)

• Design by contract 2) Software modeling using UML

• Class Diagram

• Sequence Diagram

• Package Diagram

• Deployment Diagram

3) Software Architectural Styles and Design Patterns

• Peter Coad’s Collaboration Patterns

• Software Architecture Styles (Model-View-Controller Style, Layered Design)

• Design Patterns (Factory Method, Observer, Strategy, State, Decorator, Singleton) 4) Layered Design

• Presentation Layer (Web UI Design)

• Business Logic Layer

• Data Service Layer

• O/R Mapping

• Relational Database Design (ERD) 5) Integrated Development Environment 6) Web Services Implementations

Class Schedule

Period Topics*

1 Overview of OO Software design concept 2 Software modeling using UML diagrams I 3 Software modeling using UML diagrams II 4 Collaboration Patterns

5 Software Architectural Styles 6 Layered Design

7 IDE

8 --- Midterm Week --- 9 O/R Mapping 10 Design Pattern I 11 Design Pattern II 12 Design Pattern III

13 Web Services Implementations 14 Project Presentations I

15 Project Presentations II 16 Final Examination

*The schedule may be changed as appropriate.

Referensi

Dokumen terkait

The implementation of the selected design patterns in this case study increases the cohesion, the complexity, the coupling, the inheritance, and the size metrics of the

This work aims to develop an algorithm that helps the software engineers evaluating the design quality utilizing one of the object-oriented (OO) design models namely quality

The strategies of these techniques to achieve the five main attributes of modularity (low coupling, low complexity, and high cohesion, open for extension, close

International Journal on Advanced Computer Theory and Engineering IJACTE BASICS FOR EASY CAPTURING AND MODELLING OF REQUIREMENTS ELICITATION, ANALYSIS AND DESIGN IN SOFTWARE

Object-Oriented Analysis and Design for Information Systems: Wazlawick, Raul Sidnei Object-Oriented Analysis and Design for Information Systems: Wazlawick, Raul Sidnei Software

• Analyse a requirements description • Identify items outside scope of system • Identify candidate classes, attributes and methods • Document the resulting Object Oriented

The software developers evaluate the software detailed design and test requirements for the following: Traceability to the requirements of the software item • External consistency

Background Software design is a process by which the software requirements are translated into a representation of software components, interfaces, and data necessary for the