Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Software Engineering: UML Diagrams & Design for App Development, Study Guides, Projects, Research of Computer Science

An overview of software engineering, focusing on the use of unified modeling language (uml) diagrams and design documents in creating applications. Learn about the software development life cycle, the importance of end user needs, and the role of uml diagrams in communication between developers and clients. Discover the types of uml diagrams and their uses, as well as the process of creating a design document. Gain insights into the pitfalls of software development and how to avoid them. Useful for university students studying computer science or software engineering, as study notes, summaries, or cheat sheets for exams or assignments.

Typology: Study Guides, Projects, Research

Pre 2010

Uploaded on 09/17/2009

koofers-user-m5u
koofers-user-m5u 🇺🇸

4

(1)

10 documents

1 / 40

Toggle sidebar

Related documents


Partial preview of the text

Download Software Engineering: UML Diagrams & Design for App Development and more Study Guides, Projects, Research Computer Science in PDF only on Docsity! Connecting with Computer Science Greg Anderson David Ferro Robert Hilton software engineering Connecting with Computer Science 2 Objectives • Learn how software engineering is used to create applications • Learn some of the different software engineering process models • Understand what a design document is and how it should be used during software development • Be introduced to the proper steps in formulating a design document used in creating an application Connecting with Computer Science 5 Software Development Life Cycle • Describes the life of the application including the development, testing, installation, and maintenance of the program • Elements of the SDLC – Project feasibility – Software specification – Software design and implementation – Software validation – Software evolution Connecting with Computer Science 6 Software Development Life Cycle (continued) • Models of the software development process – Waterfall • The output from each development phase is used as the input to the next phase – Build and fix • The developer writes a program and continues to modify it until the system is functional – Rapid prototyping • Tools allow end users to work with user interface prototypes before building the final product Connecting with Computer Science 7 Software Development Life Cycle (continued) – Incremental • Development with a series of software releases – Spiral • Cycles through the waterfall approach until all functionality has been completed – Extreme programming (XP) • Places emphasis on teamwork and feedback – Agile Software Development • Focuses on customer satisfaction through continual delivery and modifications of software products Connecting with Computer Science 10 Figure 12-2 Process of creating a design document Connecting with Computer Science 11 Step 1: Learn the Current System and Needs • Case Study: a media inventory for a music store • Initial task is to establish the end user’s (owner of the music store) needs and goals – Ask client to give you samples of desired reports • Document information client gives you – Dig for more information if necessary • Write the project objectives or introduction, specifications, and requirements Connecting with Computer Science 12 Figure 12-3 A design document includes the project introduction, specifications, and requirements Connecting with Computer Science 15 Some Types of UML Diagrams • Class – Shows how different object classes relate to each other • Object – Gives details of an object created from a class • Use case – Describes a system’s behavior from a user’s standpoint Connecting with Computer Science 16 Types of UML Diagrams (continued) • State – Shows an object’s particular state at any given time • Sequence – Shows how one class communicates with another class by sending messages back and forth • Activity – Shows activities that occur within a use case or within an object’s behavior Connecting with Computer Science 17 Types of UML Diagrams (continued) • Collaboration – Shows how system elements work together to accomplish the system’s objectives • Component – Shows how system components relate to each other • Deployment – Shows physical architecture of a computer-based system Connecting with Computer Science 20 Figure 12-7 Sequence diagram for music inventory application Connecting with Computer Science 21 Step 3: Create the Data Dictionary • If a database is needed, create a data dictionary – Document describing the type of data being utilized within the program • Shows table definitions, indexes, and other data relationships • Use information from end users to summarize the current system and organize a brief plan for the new application • Review end-user reports to find tables and elements Connecting with Computer Science 22 Figure 12-8 Creating a data dictionary Connecting with Computer Science 25 Step 5: Structuring the Logical Flow of the Application • Create logical flow of application before you begin writing source code with – Flowcharts • Combination of symbols and text that provide a visual description of a process – Pseudocode • Detail the main functionality of the system and the relationship of the different tasks to be completed driving to school flowchart put key in ignition and turn release brake does the car start? call friend drive to school —— putin drive v carefully remove key | cout Figure 12-10 St car Flowchart Connecting with Computer Science starts or ends the program flow a task to be performed get input CD L_/ ce a display data document that can be read Figure 12-11 Flowchart symbols Connecting with Computer Science Connecting with Computer Science 30 Step 7: Putting All of the Pieces Together (continued) • Include the following items in the design document – Header page, objective, definition of terms – Project feasibility study, specifications, requirements, and cost analysis – Data dictionary and all visual diagrams – Copies of screens, and reports – Testing and user feedback plans – Notes from meetings Connecting with Computer Science 31 Avoiding the Pitfalls • User-phobia – Fears that including end user in design process will result in failure – Solution: Keep communication open • Too much work – The “heap on the work” syndrome – Solution: Be assertive and honest with the manager • Scope creep – Making continual changes and extensions – Solution: Use a phased approach to development Connecting with Computer Science 32 The Project Development Team • Project manager – Responsible for choosing the right players for the right positions – Determines risk involved with project, cost, and the scheduling of tasks – Pulls together the design document • Creator of the database (database administrator) – Creates and maintains database structure Connecting with Computer Science 35 The Project Development Team (continued) • Customer relations representative – Interface between the testers, developers, and end users during product creation and early release cycles • Generator of the application CD – Interface with developers to ensure that all of the necessary files are included on the disks • Installer of the application disks – Installs disk on the end user’s machine and gives the user a guided tour of the application Connecting with Computer Science 36 One Last Thought • Good design results in good programs – Skipping steps will result in poor performance, unmet client needs, or a project that runs over budget and over schedule • The project manager’s primary responsibilities are to build a team that can work well together, and to keep the project on schedule and within budget • Include a thorough testing cycle Connecting with Computer Science 37 Summary • Software engineering involves many different steps that can be followed in order to create an application that meets an end user’s needs • The process of building the application is accomplished by implementing a software development life cycle (SDLC) process • Each SDLC provides a different way of detailing the steps used in creating a software product
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved