Unit 1
Unit 1
Software
lives.
Your house and things connected to it Your car and the tools engineers used to build the bridge on which you drive The ATM where you get your money The cash register where you spend it The site from which you download your mp3s and the portable device that plays them
Someone
can be used to deliver a product or it can itself be the product. Software that delivers a product (such as information) is also known as a solution.
The Internet
The
concept of free-associative information access and the Memex, which isnt software at all. The Internet has affected the process of software development
Fat Client applications are rapidly being replaced with thin-client web applications. It triggered new languages such as JavaScript, ASP, and the .NET platform. It affects the way people do business eBay, eTrade, Amazon, etc
The Internet
The
Fast development An easily customizable and brand-able look and feel A means to connect many people to your software
Due
common example of software is the information system, which is essentially a database and a user interface. The system may integrate with other information systems.
requirements on time
You must know what to build before you can start building it.
Finding
Commercial Factors
Intellectual Reusability
Property
Just like you cant steal songs, you cant steal software
If you build your code in modules, you might be able to find another use for some modules later in the same project or in a future project
Maintenance
If your software fails, maybe the company that bought it does too
projects get really big, the issue is managing them so that the risk factors and commercial factors are mitigated. The goal is to achieve a framework that results in an efficient and reliable result again and again. The layers of SAP are quality, processes, methods, tools, and management.
Decomposition
Decomposition
will affect the future of SAP? People that work on SAP teams are the key to software development as they must utilize this technology Processes change as do favored methodologies The focus is moving from data to information to knowledge New technology is constantly being introduced that makes SAP easier
a recent computer expo COMDEX), Bill Gates reportedly compared the computer industry with the auto industry and stated: GM had kept up with the technology like the computer industry has, we would all be driving $25.00 cars that got 1,000 miles to the gallon."
"If
Cars: Analysts, Developers, Builders, Marketers, Owners, etc Software: Analysts, Designers, Developers, Owners, Users.
Different
Requirements
Survey of Scope Study of existing information system (if applicable) Definition of new project Consideration of Who and Where Configuration and procurement High Level and Detailed Design
Design:
The How
Development
Delivery
Systems Development Model is an implementation of the Software Development Lifecycle In selecting a model, consider the size of the organization, business requirements, priorities, and the people. Classifications of models
Traditional models: entire product delivered at once Evolving Models: iterative development (and possibly delivery) of product Fourth-Generation Models: utilizing software to build software
Traditional Models
Linear Rapid
Each phase of the SDLC occurs in a linear progression, often with multiple hand-offs of documentation
The waterfall version is done with strong analysis followed by development of components over a short time by multiple developers Client and designer or developer taking an iterative approach, but iterating through the building of a prototype of the entire software product. The prototype is not fully operational and may be discarded before writing the final solution.
Application Development
Prototyping
Incremental Model
Software developed (and possibly delivered) in small increments starting with the core product and building upon it. The linear sequential model is applied to each increment.
Spiral Model
Passes through various task regions in a spiral, iterating to create prototypes.
A variant of the spiral model that emphasizes the reusability of the developed components.
Instead of focusing on processes in components, the focus is on the objects the system tracks This is important during analysis using ANY model Relationships, operations, and classes of those objects are also important Applies solid unit test-driven design methods to write code in increments, always having a working product.
Model
Model
Formal
Methods Model
Combining Models
It
is not necessary (and often not possible) to follow any single model exactly For example, a pure waterfall project is almost impossible. There is always adjustment and rework needed.
software to write code for you based on requirements An example is a product that uses a formal specification language to generate complete system from requirements analysis Only useful for small projects Such products are easy to use and enable users with limited software development skills to develop programs Usually, such code has efficiency problems
The People
In
determining a methodology for a company, you must consider the people Some models require an integrated team and others require documentation deliverables between the assembly line stations Talented people can make a bad methodology work and unskilled people can fail with a great methodology. The biggest barrier to the success of a methodology is often the culture. The people must believe in their methodology.
Further review
Google: