Skip to main content

Object-Oriented Modeling:

When solving a problem, object-oriented modeling involves the practice of representing key concepts through objects in your software. Depending on the problem, many concepts, even instances of people, places or things become distinct objects in the software.

Components

Components, when they are refined enough, turn into collections of functions, classes or other components. These pieces then represent a much simpler problem that the developers can individually implement. 

User Stories

As a __, I want to __ so that __.User storiesare just one of many techniques that can be used to express requirements for a software system. They are simple to use and can allow you to apply object-oriented thinking and discover objects and further requirements. Start using them today, even if the ideas are your own! By identifying objects before starting implementation, your software will become better structured and more clear.As anonline shopper, I want to add anitemto myshopping cart, so that I can purchase it. As an online shopper, I want toaddan item to my shopping cart, so that I canpurchaseit.

Organizing your software into entity objects, boundary objects, and control objects will allow your code to be more flexible, reusable, and maintainable.

Competing Qualities and Trade-offs

Satisfying Requirement

Some software design decisions will involve tradeoffs in different quality attributes, such as performance, convenience, and security.

Function Requirement (Car)

For software, there are functional requirements that describe what the system or application is expected to do.

Non-Functional requirement (Car Performance)

There are also non-functional requirements that specify how well the system or application does what it does. Such requirements may describe how well the software runs in particular situation.(Correctness, Performance, Video Speed)

Record, Organize, and Refine Components (CRC Card)