26
FIS 1311: October Review November 7, 2005

FIS 1311: October Review November 7, 2005. Outline Software development processes Standards and XML (RSS) UML use Cases Databases & ERD

Embed Size (px)

Citation preview

FIS 1311: October Review

November 7, 2005

Outline

• Software development processes

• Standards and XML (RSS)

• UML use Cases

• Databases & ERD

Software Development

• Cathedral & Bazaar

• Proprietary & Open Source

• Waterfall & Iterative

• What is software development?

What is software development?<script type="text/javascript">function disp_prompt(){var name=prompt("Please enter your name","")if (name!=null && name!="") { document.write("Hello " + name + "! How are you

today?") }}</script>

Example, con’t

• <input type="button" onclick="disp_prompt()" value="Display a prompt box">

Cathedral vs. Bazaar

• “built like cathedrals, carefully crafted by individual wizards or small bands of mages working in splendid isolation, with no beta to be released before its time.”

• “a great babbling bazaar of differing agendas and approaches (aptly symbolized by the Linux archive sites, who'd take submissions from anyone) out of which a coherent and stable system could seemingly emerge.”

Cathedral & Bazaar

• Users should be treated as co-developers. • Early Releases: To find co-developers early.• Frequent Integration: Some Open Source

projects have nightly builds • Several Versions: new & buggier; stable &

older • High Modularization: allowing for parallel

development.• Dynamic decision making structure.

Waterfall vs. Iterative

• Emphasis is on developing software in an organization to meet very particular organizational needs. Applies to any kind of project with multiple design disciplines.

• High profile open source (bazaar) projects develop software for a broad audience

• Waterfall≈Proprietary; Iterative≈Bazaar

“Waterfall” Design

• Waterfall: you complete a number of phases in a strictly ordered sequence: requirements analysis, design, implementation / integration, and then testing. You also defer testing until the end of the project lifecycle

Planning Requirements Analysis & Design Test Deploy

Iterative Design

• involves a sequence of incremental steps, or iterations. Each iteration includes some, or most, of the development disciplines (requirements, analysis, design, implementation, and so on)

Iterative Design

Proprietary vs. Open Source

• Proprietary software can use an Iterative, Bazaar-like approach (e.g. “Microsoft Changes How It Builds Software,” Wall Street Journal)

• Open source development can (has to) be controlled and “led”: Linux, SAKAI

• Licensing: – BSD, GNU (Lesser) General Public License

GPL

• the freedom to run the program, for any purpose.

• the freedom to study how the program works, and modify it.

• the freedom to redistribute copies.• the freedom to improve the program,

and release the improvements to the public.

GPL

• the GPL seeks to ensure that the above freedoms are preserved in copies and in derivative works. It does this using a legal mechanism known as copyleft, invented by Stallman, which requires derivative works of GPL-licensed programs to also be licensed under the GPL

BSD

• Berkeley Software Distribution • Free, but not in perpetuity and

derivative forms.• copycenter, for comparison to both

standard copyright and the GPL's copyleft: "Take it down to the copy center and make as many copies as you want.

Standards and XML (RSS)

• RSS allows Internet users to subscribe to websites that have provided RSS feeds; these are typically sites that change or add content regularly.

• Can Subscribe via a service like Blogspot, or can download an “RSS reader:” Amphetadesk, Browsers.

• Blogspot = server-based; others=client

XML/RSS con’t

• You created an RSS file describing 1 or more blog entries

• When new blog entries are created, you can update your RSS file

• Others can “subscribe” to your RSS file, and have *new* RSS entries appear on their RSS reader

XML/RSS

• Simple example of:– XML “specification” or “document type”– XML characteristics:

• Separation of form & content• Structured data: “item” “title” “description”

“language” (access points!)• Validation

– Metadata: a surrogate

XML/RSS: Wellformedness

• Check/Parse against XML rules generally• Characters occurring in data which are

reserved for XML tags must be“escaped” &apos; or &quot;.

• Start tags & end tags for every element containing character data or sub-elements

• Pairs of tags must be nested• Empty tags can be included with a “/>” ending

or a separate end tag

XML/RSS: Validation

• Check the document/record against its definition: DTD or XSD

• When validating, the parser checks for:– misspelled tags or attributes– errors in types of attribute values and in

elements’ content rules

• Element declarations/entity declarations

UML Use Cases

• Use case diagrams describe the general functionality of a system and the users of that system.

• Components: – Actor – Use case– “Communicates” association– System

Use Cases

1. A list of the actors and their roles. 2. Pre-conditions: list any circumstances to

be satisfied in order for the use case or service to take place

3. Basic flow: a typical course of events presented as a numbered steps.

4. Post-conditions: circumstances changed as a result of the use case or service taking place.

Databases & ERD

• ERD: graphical notation for high-level descriptions of data models --especially for relational database systems

• used in the first, "requirements analysis" stage of information-system design

Entity Relationship Diagrams

• Entity/Noun• Attributes/Characteristics

– Key Attribute/Characteristic– Multivalued Attribute

• Relationship/verb -what connects entities– One-to-one– One-to-many– Many-to-many (via an associative entity)