Jan
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, [...]

Jan
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 [...]

Jan
31
2011

Writing Settings ‹ information technology for student — WordPress

Writing Settings ‹ information technology for student — WordPress.

Jan
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 [...]

Jan
31
2011

Patterns are used by many people

Chess Master: Openings Middle games End games Writer Tragically Flawed Hero (Macbeth, Hamlet) Romantic Novel

Jan
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

Jan
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

Jan
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?

Jan
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

Pages:1234567...43»