fis 1311: october review november 7, 2005. outline software development processes standards and xml...
Post on 25-Dec-2015
218 Views
Preview:
TRANSCRIPT
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>
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)
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” ' or ".
• 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)
top related