Unformatted text preview:

CEN5011 Software EngineeringBottom Lines of Software ProjectUnified ProcessUnified Process - cont’dSlide 5Slide 6Lifecycle of Unified ProcessFour Phases of Unified ProcessLifecycle of Unified Process - cont’dProducts of StakeholdersSlide 11Process WorkflowKey Elements of Software DevelopmentKey Elements of DevelopmentPeopleProjects Make the ProductProduct Is More Than CodeMultiple Facets of SystemProcess Directs ProjectsSpecializing ProcessWhy Process?ToolsCEN5011, Fall 1999 1CEN5011 Software EngineeringDr. Yi DengECS359, (305) [email protected], Fall 1999 2Bottom Lines of Software ProjectCOST, TIME, QUALITYnot necessarily in that orderCEN5011, Fall 1999 3Unified Process•A software development process - A set of activities needed to transform a user's requirements into a software system–What constitutes a software system? The CODE?•Also a generic process framework that can be specialized to different types of–Application problems,–Application areas,–Organizations–Project sizes•Uses UML–Relationship between design language, method and process•UML an integral part of UPCEN5011, Fall 1999 4Unified Process - cont’d•Is Use-Case driven–Use-Case - a piece of functionality in the system that is visible (or usable) to a user (not necessarily human user)–All use-cases made up the Use-Case Model, which replaces traditional functional specification.–Use-case model represents functional specification of the system FOR EACH USER - has important implications–Not only for requirement specification, but also drives design, implementation, testing, i.e. development processCEN5011, Fall 1999 5Unified Process - cont’d•Is Architecture-Centric–What is architecture?–A view of the whole design with the important characteristics made more visible by leaving details aside–Every product has both FUNCTION and FORM; these two cases must be balanced for a success product–Use-case corresponds to function, architecture to form•Relationship and interplay of use-case and architectureCEN5011, Fall 1999 6Unified Process - cont’d•Is Iterative and Incremental –Issues of complexity and evolution–Issue of Risks–Issues of changing requirements, platforms, and technology–Controlled (planned) iteration vs. random iterationCEN5011, Fall 1999 7•Lifecycle of Unified Process-Is a cycle with four phases and their iterations (Fig. 1.3)-Inception - seed idea of development is being matured and to warrant entering the elaboration phase. Use-case model defined-Elaboration - architecture is defined-Construction -Transition - software is turned into the hands of the user communityCEN5011, Fall 1999 8Four Phases of Unified ProcessCEN5011, Fall 1999 9Lifecycle of Unified Process - cont’d-Each cycle results in a new release - a new product-What's in a product-Requirements, use cases, non-functional requirements, test cases, executable code, etc.-A product needs to meet the needs of all important stakeholders, who needs different elements of a product (Fig. 1.4) -Traceability between different modelsCEN5011, Fall 1999 10Products of StakeholdersCEN5011, Fall 1999 11Lifecycle of Unified Process - cont’d-Phases within a cyclePhase terminates by a milestone, the availability of a set of artifactsPurpose of milestone - evaluation of process and make critical decisions before work can proceed to the next phase.Concept of software baselineTypical iterations of workflow in a cycle (Fig 1.5)CEN5011, Fall 1999 12Process WorkflowCEN5011, Fall 1999 13Key Elements of Software Development •People - stakeholders•Project - specialization of process•Process - set of organized developed activities, template for project•Product - outcome of project•Tools - process automationCEN5011, Fall 1999 14Key Elements of DevelopmentCEN5011, Fall 1999 15People•Factors that affect the effectiveness of people–Development process affect people–Project feasibility–Risk management–Team structure–Project schedule–Project understandability–Sense of accomplishmentCEN5011, Fall 1999 16Projects Make the Product•A project “is” a sequence of changes•A project “is” a series of iterations•A project follows an organization pattern–for people–for planning–for managementCEN5011, Fall 1999 17Product Is More Than Code•What is a software system? (fig. 2.3)–Code–Requirements, tests, sales, production, installation, operation, …–Different stakeholders sees different parts of the system•A system has a collection of MODELS•What is a model?–An abstraction of a system–A self-contained view of the system–The system is in the eye of beholders (or stakeholders)•System development is a process of modeling building–Key: what models to build and what relationship holds between modelsCEN5011, Fall 1999 18Multiple Facets of SystemCEN5011, Fall 1999 19Process Directs Projects•Software development process –Complete set of activities needed to transform users’ requirements into a consistent set of artifacts that represents a software product and, later, to transform changes in those requirements into a new, consistent set of artifacts•A process is a template–In other works, a process is a definition of activities, not their execution–Process needs to be instantiated or specialized for individual projects–Should cover entire software lifecycleCEN5011, Fall 1999 20Specializing Process•No universally applicable process•Why?–Organizational factors: structure, culture, project organization & management, competence & skill levels, prior experience, etc.–Domain factors: application domain, e.g. mission critical v.s. word processor, real-time v.s. batch processing, user community, market competition, etc.–Lifecycle factors: time to market, expected life span, planned future releases, etc.–Technological factors: programming languages, development tools, databases, middleware, communication & distribution, etc.•Bottom line: general process needs to be specializedCEN5011, Fall 1999 21Why Process?•Bottom line: software development is a complex, risky, expensive and people-intensive venture•Mutual understanding of roles, responsibilities, dependence, communication and coordination among developers and customers•Orderly development•Improved quality and predictivity of software•Standardized training•Repeat-ability of successful projects and continuous organizational improvement•Improved productivity?CEN5011, Fall


View Full Document

FIU CEN 5011 - COST, TIME, QUALITY

Download COST, TIME, QUALITY
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view COST, TIME, QUALITY and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view COST, TIME, QUALITY 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?