Aspect: A particular part or feature.Cohesive: Characterize by.
Comply: Act in accordance with a wish.
Regression: A return to a former state.
Stand alone: testing in which we test only single feature(module/component)Test management tools: are used to structure automated tests and manual test processes
Middleware: It is computer software that provides services to software applications.
software project management Artifact set(spm)
Software Project Management
What is Artifact? Artifact Sets. › Management Sets. Specific Artifacts in the Management Set. › Engineering Sets. Requirement Sets. Design Sets. Implementation Sets. Deployment Sets. Life Cycle Focus on artifact Sets.
The term artifact in connection with software development is largely associated with specific development methods or processes(such as project plans, business cases, and risk assessments.) To make the development of a complete software system manageable, distinct collection of information are organized into artifact set.
Artifacts are organized into two sets Management set: Planning and execution artifacts. Engineering set: Have different qualities and representations Requirements set Design set Implementation set Deployment set. A set represents a complete aspect of the system. An artifact represents some cohesive information typically developed and reviewed as a single entity › e.g. prototype, use case model, design model
These artifacts are mainly designed to capture data associated with process planning and execution. Text and graphics will include whatever is necessary to capture the contracts among the project personnel (project management,architects,developers,testers), among stakeholders(funding authority,user,software project manager,oraganization manager), and between project personnel and stakeholders.
The management set includes several artifacts : › Work Breakdown Structure: Vehicle for budgeting and collecting costs. The software project manager must have insight into project costs and how they are expended. If the WBS is structured improperly, it can drive the evolving design in the wrong direction. › Business Case: Provides all the information necessary to determine whether the project is worth investing in. It details the expected revenue, expected cost, technical and management plans.
› Software Development Plan: The defining document for the project’s process. It must comply with the contract, comply with the organization standards, evolve along with the design and requirements.› Deployment: It include several document subsets for transitioning the product into operational status. It could also include computer system operations manuals, software installation manuals, plans and procedures for cutover
› Environment: A robust(strong) development environment must support automation of the development process. It should include : requirements management visual modeling document automation automated regression testing .
In the Engineering Set, the primary mechanism for evaluating the evolving quality of these artifact sets is in the transitioning of information from set to set. It consist of: › requirement set › design set › implementation set › deployment set
The requirements set is the primary engineering context for evaluating the other three engineering artifact sets and is the basis for test cases. Vision Statement: › Notation: text structure is used. › Documents project scope that supports the contract between the funding authority and the project team.
Supplementary Specifications: › Notation: Variety of formats › Can come from regulatory agencies, other prototypes indicating proof of concept. Requirements models: › Notation: Usually captured in UML › Use Case modeling and domain modeling; activity diagrams.
Tools used: Visually modeling tools. UML notation is used to engineer the design model. Design set contains levels of abstraction. The design model include structural and behavioral information to ascertain bill of material(quantity and specifications of material, labor and other cost). Design set artifacts normally include: design model, test model, software architecture
Tools used: Debuggers, compilers, code analyzers, test management tools. Implementation set artifacts includes source code (as implementation of components) their form, interfaces and executables necessary for stand-alone testing of components. › These executables are the primitive parts needed to construct the end products including custom components, application programming interface(APIs), other reusable or legacy components in some programming languages.
Tools used: Test coverage and test automation tools, network management tools, commercial components (OS, GUI, DBMSs, middleware, installation tools, etc.) Deployment set artifacts normally include the machine language notations, executable software, build scripts, installation scripts, and executable target specific data necessary to use the product in its target environment.
Management artifact evolve at a constant level across the life cycle. Requirements are the focus on the inception phase. Design focus on the elaboration phase. Implementation focus on the construction phase. Deployment focus on transition phase.