31
2011
Software Engineering Concepts
A Project, whose purpose is to develop a software system, is composed of a number of Activities. An activity: is a set of tasks that is performed toward a specific purpose. Each Activity is in turn composed of a number of Tasks. A task: is an atomic unit of work that can be managed A Task consumes Resources and produces a Work Product Resources are benefits that are used to accomplish work. Resources include time, [...]
31
2011
What is software engineering?
1. Software engineering is a modeling activity: A model is an abstract representation of a system that enables us to answer questions about the system. Models are useful when dealing with systems that are too large, too small, too complicated, or too expensive to experience directly. Models also allow visualizing and understanding systems that either no longer exists or that are only claimed to exist. Software engineers translate developing software into the activities that are [...]
31
2011
Writing Settings ‹ information technology for student — WordPress
Writing Settings ‹ information technology for student — WordPress.
31
2011
Summary
¨Software engineering is a problem solving activity wDeveloping quality software for a complex problem within a limited time while things are changing ¨There are many ways to deal with complexity wModeling, decomposition, abstraction, hierarchy wIssue models: Show the negotiation aspects wSystem models: Show the technical aspects wTask models: Show the project management aspects wUse Patterns: Reduce complexity even further ¨Many ways to do deal with change wTailor the software lifecycle to deal with changing project [...]
31
2011
Patterns are used by many people
Chess Master: Openings Middle games End games Writer Tragically Flawed Hero (Macbeth, Hamlet) Romantic Novel
31
2011
Design Patterns and Frameworks
Design Pattern: A small set of classes that provide a template solution to a recurring design problem Reusable design knowledge on a higher level than datastructures (link lists, binary trees, etc) Framework: A moderately large set of classes that collaborate to carry out a set of responsibilities in an application domain. Examples: User Interface Builder Provide architectural guidance during the design phase Provide a foundation for software components industry
31
2011
Reusability
A good software design solves a specific problem but is general enough to address future problems (for example, changing requirements) Experts do not solve every problem from first principles They reuse solutions that have worked for them in the past Goal for the software engineer: Design the software to be reusable across application domains and designs How? Use design patterns and frameworks whenever possible
31
2011
Software Lifecycle Definition
Software lifecycle: Set of activities and their relationships to each other to support the development of a software system Typical Lifecycle questions: Which activities should I select for the software project? What are the dependencies between activities? How should I schedule the activities?
31
2011
So where are we right now?
Three ways to deal with complexity: Abstraction Decomposition Hierarchy Object-oriented decomposition is a good methodology Unfortunately, depending on the purpose of the system, different objects can be found How can we do it right? Many different possibilities Our current approach: Start with a description of the functionality (Use case model), then proceed to the object model This leads us to the software lifecycle
Calendar
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
| « Jan | ||||||
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 | 31 | ||
An article by admin
